From 3276e493d68c75ffc81fb8b1e0800e826ad1bb3b Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Fri, 8 Mar 2019 00:20:36 -0500 Subject: [PATCH] Updates --- app/main.33e2182b1c2757a22f9b.js | 2 - app/main.33e2182b1c2757a22f9b.js.map | 1 - ...2f9b.css => main.ada879e2fa1c013188d7.css} | 2 +- ....map => main.ada879e2fa1c013188d7.css.map} | 2 +- app/main.ada879e2fa1c013188d7.js | 2 + app/main.ada879e2fa1c013188d7.js.map | 1 + ...b.js => polyfills.ada879e2fa1c013188d7.js} | 6 +-- ... => polyfills.ada879e2fa1c013188d7.js.map} | 2 +- ...2f9b.js => vendor.ada879e2fa1c013188d7.js} | 38 +++++++++---------- ...map => vendor.ada879e2fa1c013188d7.js.map} | 2 +- ...22f9b.css => duo.ada879e2fa1c013188d7.css} | 2 +- ...s.map => duo.ada879e2fa1c013188d7.css.map} | 2 +- ...7a22f9b.js => duo.ada879e2fa1c013188d7.js} | 4 +- ...js.map => duo.ada879e2fa1c013188d7.js.map} | 2 +- ...7a22f9b.js => u2f.ada879e2fa1c013188d7.js} | 4 +- ...js.map => u2f.ada879e2fa1c013188d7.js.map} | 2 +- duo-connector.html | 4 +- index.html | 4 +- locales/en/messages.json | 26 ++++++++++++- u2f-connector.html | 2 +- 20 files changed, 66 insertions(+), 44 deletions(-) delete mode 100644 app/main.33e2182b1c2757a22f9b.js delete mode 100644 app/main.33e2182b1c2757a22f9b.js.map rename app/{main.33e2182b1c2757a22f9b.css => main.ada879e2fa1c013188d7.css} (99%) rename app/{main.33e2182b1c2757a22f9b.css.map => main.ada879e2fa1c013188d7.css.map} (58%) create mode 100644 app/main.ada879e2fa1c013188d7.js create mode 100644 app/main.ada879e2fa1c013188d7.js.map rename app/{polyfills.33e2182b1c2757a22f9b.js => polyfills.ada879e2fa1c013188d7.js} (92%) rename app/{polyfills.33e2182b1c2757a22f9b.js.map => polyfills.ada879e2fa1c013188d7.js.map} (99%) rename app/{vendor.33e2182b1c2757a22f9b.js => vendor.ada879e2fa1c013188d7.js} (65%) rename app/{vendor.33e2182b1c2757a22f9b.js.map => vendor.ada879e2fa1c013188d7.js.map} (99%) rename connectors/{duo.33e2182b1c2757a22f9b.css => duo.ada879e2fa1c013188d7.css} (80%) rename connectors/{duo.33e2182b1c2757a22f9b.css.map => duo.ada879e2fa1c013188d7.css.map} (55%) rename connectors/{duo.33e2182b1c2757a22f9b.js => duo.ada879e2fa1c013188d7.js} (95%) rename connectors/{duo.33e2182b1c2757a22f9b.js.map => duo.ada879e2fa1c013188d7.js.map} (99%) rename connectors/{u2f.33e2182b1c2757a22f9b.js => u2f.ada879e2fa1c013188d7.js} (95%) rename connectors/{u2f.33e2182b1c2757a22f9b.js.map => u2f.ada879e2fa1c013188d7.js.map} (98%) diff --git a/app/main.33e2182b1c2757a22f9b.js b/app/main.33e2182b1c2757a22f9b.js deleted file mode 100644 index 5142c40a..00000000 --- a/app/main.33e2182b1c2757a22f9b.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(n){function l(l){for(var t,o,i=l[0],a=l[1],s=l[2],d=0,p=[];d1&&this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),e,{timeout:5e3*e.length}),e},n}();l.ValidationService=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(14);var t=function(){function n(n,l){this.el=n,this.validationService=l}return n.prototype.ngOnChanges=function(n){var l=this;null!=this.appApiAction&&null!=this.appApiAction.then&&(this.el.nativeElement.loading=!0,this.appApiAction.then(function(n){l.el.nativeElement.loading=!1},function(n){l.el.nativeElement.loading=!1,l.validationService.showError(n)}))},n}();l.ApiActionDirective=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.MessagingService=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CipherService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(3);var t=function(){function n(n){this.i18nService=n,this.type="info"}return n.prototype.ngOnInit=function(){this.calloutStyle=this.type,"warning"===this.type||"danger"===this.type?("danger"===this.type&&(this.calloutStyle="danger"),void 0===this.title&&(this.title=this.i18nService.t("warning")),void 0===this.icon&&(this.icon="fa-warning")):"error"===this.type?(this.calloutStyle="danger",void 0===this.title&&(this.title=this.i18nService.t("error")),void 0===this.icon&&(this.icon="fa-bolt")):"tip"===this.type&&(this.calloutStyle="success",void 0===this.title&&(this.title=this.i18nService.t("tip")),void 0===this.icon&&(this.icon="fa-lightbulb-o"))},n}();l.CalloutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(648),u=e(136),r=e(148),o=e(235),i=e(38),a=e(196),s=e(147),c=e(146),d=e(90),p=e(39),f=e(195),v=e(109),h=function(){function n(){this.organization=!1,this.newLineRegex=/(?:\r\n|\r|\n)/,this.passwordFieldNames=["password","pass word","passphrase","pass phrase","pass","code","code word","codeword","secret","secret word","personpwd","key","keyword","key word","keyphrase","key phrase","form_pw","wppassword","pin","pwd","pw","pword","passwd","p","serial","serial#","license key","reg #","passwort"],this.usernameFieldNames=["user","name","user name","username","login name","email","e-mail","id","userid","user id","login","form_loginname","wpname","mail","loginid","login id","log","personlogin","first name","last name","card#","account #","member","member #","nom","benutzername"],this.notesFieldNames=["note","notes","comment","comments","memo","description","free form","freeform","free text","freetext","free","kommentar"],this.uriFieldNames=["url","hyper link","hyperlink","link","host","hostname","host name","server","address","hyper ref","href","web","website","web site","site","web-site","uri","ort","adresse"]}return n.prototype.parseXml=function(n){var l=(new DOMParser).parseFromString(n,"application/xml");return null!=l&&null==l.querySelector("parsererror")?l:null},n.prototype.parseCsv=function(n,l){n=this.splitNewLine(n).join("\n").trim();var e=t.parse(n,{header:l,encoding:"UTF-8",skipEmptyLines:!1});return null!=e.errors&&e.errors.length>0&&e.errors.forEach(function(n){null!=n.row&&console.warn("Error parsing row "+n.row+": "+n.message)}),e.data&&e.data.length>0?e.data:null},n.prototype.parseSingleRowCsv=function(n){if(this.isNullOrWhitespace(n))return null;var l=this.parseCsv(n,!1);return null!=l&&l.length>0&&l[0].length>0?l[0]:null},n.prototype.makeUriArray=function(n){var l=this;if(null==n)return null;if("string"==typeof n){var e=new o.LoginUriView;return e.uri=this.fixUri(n),this.isNullOrWhitespace(e.uri)?null:(e.match=null,[e])}if(n.length>0){var t=[];return n.forEach(function(n){var e=new o.LoginUriView;e.uri=l.fixUri(n),l.isNullOrWhitespace(e.uri)||(e.match=null,t.push(e))}),0===t.length?null:t}return null},n.prototype.fixUri=function(n){return null==n?null:(-1===(n=n.toLowerCase().trim()).indexOf("://")&&n.indexOf(".")>=0&&(n="http://"+n),n.length>1e3?n.substring(0,1e3):n)},n.prototype.nameFromUrl=function(n){var l=i.Utils.getHostname(n);return this.isNullOrWhitespace(l)?null:l.startsWith("www.")?l.replace("www.",""):l},n.prototype.isNullOrWhitespace=function(n){return i.Utils.isNullOrWhitespace(n)},n.prototype.getValueOrDefault=function(n,l){return void 0===l&&(l=null),this.isNullOrWhitespace(n)?l:n},n.prototype.splitNewLine=function(n){return n.split(this.newLineRegex)},n.prototype.getCardBrand=function(n){if(this.isNullOrWhitespace(n))return null;var l=new RegExp("^4");return null!=n.match(l)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(n)?"Mastercard":(l=new RegExp("^3[47]"),null!=n.match(l)?"Amex":(l=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=n.match(l)?"Discover":(l=new RegExp("^36"),null!=n.match(l)?"Diners Club":(l=new RegExp("^30[0-5]"),null!=n.match(l)?"Diners Club":(l=new RegExp("^35(2[89]|[3-8][0-9])"),null!=n.match(l)?"JCB":(l=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=n.match(l)?"Visa":null))))))},n.prototype.setCardExpiration=function(n,l){if(!this.isNullOrWhitespace(l)){var e=l.split("/");if(2===e.length){var t=null,u=null;if(1!==e[0].length&&2!==e[0].length||2===(t=e[0]).length&&"0"===t[0]&&(t=t.substr(1,1)),2!==e[1].length&&4!==e[1].length||(u=2===t.length?"20"+e[1]:e[1]),null!=t&&null!=u)return n.card.expMonth=t,n.card.expYear=u,!0}}return!1},n.prototype.moveFoldersToCollections=function(n){n.folderRelationships.forEach(function(l){return n.collectionRelationships.push(l)}),n.collections=n.folders.map(function(n){var l=new r.CollectionView;return l.name=n.name,l}),n.folderRelationships=[],n.folders=[]},n.prototype.querySelectorDirectChild=function(n,l){var e=this.querySelectorAllDirectChild(n,l);return 0===e.length?null:e[0]},n.prototype.querySelectorAllDirectChild=function(n,l){return Array.from(n.querySelectorAll(l)).filter(function(l){return l.parentNode===n})},n.prototype.initLoginCipher=function(){var n=new u.CipherView;return n.favorite=!1,n.notes="",n.fields=[],n.login=new c.LoginView,n.type=p.CipherType.Login,n},n.prototype.cleanupCipher=function(n){null!=n&&(n.type!==p.CipherType.Login&&(n.login=null),this.isNullOrWhitespace(n.name)&&(n.name="--"),this.isNullOrWhitespace(n.notes)?n.notes=null:n.notes=n.notes.trim(),null!=n.fields&&0===n.fields.length&&(n.fields=null))},n.prototype.processKvp=function(n,l,e){if(!this.isNullOrWhitespace(e))if(this.isNullOrWhitespace(l)&&(l=""),e.length>200||e.trim().search(this.newLineRegex)>-1)null==n.notes&&(n.notes=""),n.notes+=l+": "+this.splitNewLine(e).join("\n")+"\n";else{null==n.fields&&(n.fields=[]);var t=new a.FieldView;t.type=f.FieldType.Text,t.name=l,t.value=e,n.fields.push(t)}},n.prototype.processFolder=function(n,l){var e=n.folders.length,t=!this.isNullOrWhitespace(l),u=t;if(t)for(var r=0;r1&&(t+=n.slice(1)),void 0===l[n=t]&&(n=n.toLowerCase()),void 0===l[n]&&(n=n.toUpperCase())}return l[n]},n}();l.BaseResponse=t},,,function(n,l,e){"use strict";(function(n,t,u){Object.defineProperty(l,"__esModule",{value:!0});var r=e(783),o="undefined"==typeof window?e(784):null,i=function(){function l(){}return l.init=function(){l.inited||(l.inited=!0,l.isNode=void 0!==n&&null!=n.release&&"node"===n.release.name,l.isBrowser="undefined"!=typeof window,l.isNativeScript=!l.isNode&&!l.isBrowser,l.isMobileBrowser=l.isBrowser&&this.isMobile(window),l.global=l.isNativeScript?t:l.isNode&&!l.isBrowser?t:window)},l.fromB64ToArray=function(n){if(l.isNode||l.isNativeScript)return new Uint8Array(u.from(n,"base64"));for(var e=window.atob(n),t=new Uint8Array(e.length),r=0;r-1;if(!e&&n.indexOf(".")>-1)n="http://"+n;else if(!e)return null;return l.getUrlObject(n)},l.getUrlObject=function(n){try{if(null!=o)return o.URL?new o.URL(n):o.parse(n);if("function"==typeof URL)return new URL(n);if(null!=window){var l=window.document.createElement("a");return l.href=n,l}}catch(n){}return null},l.inited=!1,l.isNativeScript=!1,l.isNode=!1,l.isBrowser=!0,l.isMobileBrowser=!1,l.global=null,l.tldEndingRegex=/.*\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/,l}();l.Utils=i,i.init()}).call(this,e(133),e(96),e(117).Buffer)},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Login=1]="Login",n[n.SecureNote=2]="SecureNote",n[n.Card=3]="Card",n[n.Identity=4]="Identity"}(l.CipherType||(l.CipherType={}))},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.preventDefault()},n}();l.StopClickDirective=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CollectionService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n,l){this.el=n,this.renderer=l}return Object.defineProperty(n.prototype,"appInputVerbatim",{set:function(n){this.disableComplete=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){this.disableComplete&&!this.el.nativeElement.hasAttribute("autocomplete")&&this.renderer.setAttribute(this.el.nativeElement,"autocomplete","off"),this.el.nativeElement.hasAttribute("autocapitalize")||this.renderer.setAttribute(this.el.nativeElement,"autocapitalize","none"),this.el.nativeElement.hasAttribute("autocorrect")||this.renderer.setAttribute(this.el.nativeElement,"autocorrect","none"),this.el.nativeElement.hasAttribute("spellcheck")||this.renderer.setAttribute(this.el.nativeElement,"spellcheck","false"),this.el.nativeElement.hasAttribute("inputmode")||this.renderer.setAttribute(this.el.nativeElement,"inputmode","verbatim")},n}();l.InputVerbatimDirective=t},,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.FolderService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordGenerationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SyncService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.TokenService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordVerificationRequest=t},,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.environmentUrlsKey=n.environmentUrlsKey,this.disableGaKey=n.disableGaKey,this.disableAddLoginNotificationKey=n.disableAddLoginNotificationKey,this.disableContextMenuItemKey=n.disableContextMenuItemKey,this.disableFaviconKey=n.disableFaviconKey,this.disableAutoTotpCopyKey=n.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=n.enableAutoFillOnPageLoadKey,this.lockOptionKey=n.lockOptionKey,this.lastActiveKey=n.lastActiveKey,this.neverDomainsKey=n.neverDomainsKey,this.installedVersionKey=n.installedVersionKey,this.localeKey=n.localeKey,this.themeKey=n.themeKey,this.collapsedGroupingsKey=n.collapsedGroupingsKey,this.autoConfirmFingerprints=n.autoConfirmFingerprints,this.dontShowCardsCurrentTab=n.dontShowCardsCurrentTab,this.dontShowIdentitiesCurrentTab=n.dontShowIdentitiesCurrentTab,this.defaultUriMatch=n.defaultUriMatch,this.pinProtectedKey=n.pinProtectedKey,this.protectedPin=n.protectedPin,this.clearClipboardKey=n.clearClipboardKey}return n.environmentUrlsKey="environmentUrls",n.disableGaKey="disableGa",n.disableAddLoginNotificationKey="disableAddLoginNotification",n.disableChangedPasswordNotificationKey="disableChangedPasswordNotification",n.disableContextMenuItemKey="disableContextMenuItem",n.disableFaviconKey="disableFavicon",n.disableAutoTotpCopyKey="disableAutoTotpCopy",n.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",n.lockOptionKey="lockOption",n.lastActiveKey="lastActive",n.neverDomainsKey="neverDomains",n.installedVersionKey="installedVersion",n.localeKey="locale",n.themeKey="theme",n.collapsedGroupingsKey="collapsedGroupings",n.autoConfirmFingerprints="autoConfirmFingerprints",n.dontShowCardsCurrentTab="dontShowCardsCurrentTab",n.dontShowIdentitiesCurrentTab="dontShowIdentitiesCurrentTab",n.defaultUriMatch="defaultUriMatch",n.pinProtectedKey="pinProtectedKey",n.protectedPin="protectedPin",n.clearClipboardKey="clearClipboardKey",n}();l.ConstantsService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.cardholderName=null,this.expMonth=null,this.expYear=null,this.code=null,this._brand=null,this._number=null,this._subTitle=null}return Object.defineProperty(n.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"brand",{get:function(){return this._brand},set:function(n){this._brand=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"number",{get:function(){return this._number},set:function(n){this._number=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){if(null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4)){null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="";var n=this.number.length>=5&&null!=this.number.match(new RegExp("^3[47]"))?5:4;this._subTitle+="*"+this.number.substr(this.number.length-n)}return this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var n=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return n+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),n.prototype.formatYear=function(n){return 2===n.length?"20"+n:n},n}();l.CardView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.type=null,n&&(this.type=n.type)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),n}();l.SecureNoteView=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuthService=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1?(n="http://"+n,l=!0):this.imageEnabled&&(l=0===n.indexOf("http")&&n.indexOf(".")>-1),this.imageEnabled&&l)try{this.image=this.iconsUrl+"/"+i.Utils.getHostname(n)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},n}();l.IconComponent=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(776).BroadcasterService);l.BroadcasterService=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=e(38),u=function(){function n(n){this.el=n}return Object.defineProperty(n.prototype,"appAutofocus",{set:function(n){this.autofocus=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){!t.Utils.isMobileBrowser&&this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=u},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(254),o=(e(0),e(792)),i=e(38),a=function(n){function l(l){var e=n.call(this,l)||this;return e.el=null,e}return u(l,n),l.prototype.ngOnDestroy=function(){},l.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.parentContainer=l,this.fade=e;var u=this.componentFactoryResolver.resolveComponentFactory(n),o=this.container.createComponent(u),a=Array.from(document.querySelectorAll(".modal"));return a.length>0&&(this.el=r(a[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){t.onShow.emit()}),this.el.on("shown.bs.modal",function(){t.onShown.emit(),i.Utils.isMobileBrowser||t.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){t.onClose.emit()}),this.el.on("hidden.bs.modal",function(){t.onClosed.emit(),null!=t.parentContainer&&t.parentContainer.clear()})),o.instance},l.prototype.close=function(){null!=this.el&&this.el.modal("hide")},l}(o.ModalComponent);l.ModalComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Authenticator=0]="Authenticator",n[n.Email=1]="Email",n[n.Duo=2]="Duo",n[n.Yubikey=3]="Yubikey",n[n.U2f=4]="U2f",n[n.Remember=5]="Remember",n[n.OrganizationDuo=6]="OrganizationDuo"}(l.TwoFactorProviderType||(l.TwoFactorProviderType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.stopPropagation()},n}();l.StopPropDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(823),r=e(5),o=e(98),i=e(73),a=e(34),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"img",[["alt",""]],[[8,"src",4]],[[null,"error"]],function(n,l,e){var u=!0;"error"===l&&(u=!1!==t.ɵnov(n,1).onError()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.FallbackSrcDirective,[t.ElementRef],{appFallbackSrc:[0,"appFallbackSrc"]},null)],function(n,l){var e=l.component;n(l,1,0,t.ɵinlineInterpolate(1,"",e.fallbackImage,""))},function(n,l){n(l,0,0,l.component.image)})}function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"fa fa-fw fa-lg ",e.icon,""))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,d)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.imageEnabled&&e.image),n(l,6,0,!e.imageEnabled||!e.image)},null)}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-icon",[],null,null,null,p,s)),t.ɵdid(1,573440,null,0,o.IconComponent,[i.EnvironmentService,a.StateService],null,null)],null,null)}l.RenderType_IconComponent=s,l.View_IconComponent_0=p,l.View_IconComponent_Host_0=f;var v=t.ɵccf("app-vault-icon",o.IconComponent,f,{cipher:"cipher"},{},[]);l.IconComponentNgFactory=v},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoFunctionService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuditService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Generic=0]="Generic"}(l.SecureNoteType||(l.SecureNoteType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1?n[o]=i||null:n[o]=i?new r.CipherString(i):null}},n.prototype.buildDataModel=function(n,l,e,t){for(var u in void 0===t&&(t=[]),e)if(e.hasOwnProperty(u)){var r=n[e[u]||u];t.indexOf(u)>-1?l[u]=null!=r?r:null:l[u]=null!=r?r.encryptedString:null}},n.prototype.decryptObj=function(n,l,e){return t(this,void 0,void 0,function(){var t,r,o;return u(this,function(u){switch(u.label){case 0:for(o in t=[],r=this,l)l.hasOwnProperty(o)&&function(u){var o=Promise.resolve().then(function(){var n=l[u]||u;return r[n]?r[n].decrypt(e):null}).then(function(l){n[u]=l});t.push(o)}(o);return[4,Promise.all(t)];case 1:return u.sent(),[2,n]}})})},n}();l.default=o},,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.LockService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SearchService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(39),u=e(89),r=e(171),o=e(146),i=e(90),a=function(){function n(n){this.id=null,this.organizationId=null,this.folderId=null,this.name=null,this.notes=null,this.type=null,this.favorite=!1,this.organizationUseTotp=!1,this.edit=!1,this.login=new o.LoginView,this.identity=new r.IdentityView,this.card=new u.CardView,this.secureNote=new i.SecureNoteView,this.attachments=null,this.fields=null,this.passwordHistory=null,this.collectionIds=null,this.revisionDate=null,n&&(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.favorite=n.favorite,this.organizationUseTotp=n.organizationUseTotp,this.edit=n.edit,this.type=n.type,this.localData=n.localData,this.collectionIds=n.collectionIds,this.revisionDate=n.revisionDate)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){switch(this.type){case t.CipherType.Login:return this.login.subTitle;case t.CipherType.SecureNote:return this.secureNote.subTitle;case t.CipherType.Card:return this.card.subTitle;case t.CipherType.Identity:return this.identity.subTitle}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasPasswordHistory",{get:function(){return this.passwordHistory&&this.passwordHistory.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasOldAttachments",{get:function(){if(this.hasAttachments)for(var n=0;n0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"passwordRevisionDisplayDate",{get:function(){return this.type!==t.CipherType.Login||null==this.login?null:null==this.login.password||""===this.login.password?null:this.login.passwordRevisionDate},enumerable:!0,configurable:!0}),n}();l.CipherView=a},,,,,,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]1&&(e=this.getFirstLetters(t,this.charCount)),null==e&&(e=t.substr(0,this.charCount)),o=this.getCharText(e),i=this.stringToColor(t),(a=this.getSvg(this.size,i)).appendChild(o),s=window.document.createElement("div").appendChild(a).outerHTML,c=window.btoa(unescape(encodeURIComponent(s))),this.src="data:image/svg+xml;base64,"+c,u.label=4;case 4:return[2]}})})},n.prototype.stringToColor=function(n){for(var l=0,e=0;e>8*e&255).toString(16)).substr(-2)}return t},n.prototype.getFirstLetters=function(n,l){var e=n.split(" ");if(e.length>1){for(var t="",u=0;u0},enumerable:!0,configurable:!0}),n}();l.LoginView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,this.name=null,this.revisionDate=null,n&&(this.id=n.id,this.revisionDate=n.revisionDate)}}();l.FolderView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,this.organizationId=null,this.name=null,this.readOnly=null,n&&(this.id=n.id,this.organizationId=n.organizationId,this.readOnly=n.readOnly)}}();l.CollectionView=t},,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(145),o=e(43),i=e(107),a=e(34),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"img",[],[[8,"src",4],[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{"rounded-circle":0})],function(n,l){var e=n(l,2,0,l.component.circle);n(l,1,0,e)},function(n,l){var e=l.component;n(l,0,0,e.sanitizer.bypassSecurityTrustResourceUrl(e.src),t.ɵinlineInterpolate(1,"",e.data,""))})}function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-avatar",[],null,null,null,c,s)),t.ɵdid(1,638976,null,0,r.AvatarComponent,[o.DomSanitizer,i.CryptoFunctionService,a.StateService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AvatarComponent=s,l.View_AvatarComponent_0=c,l.View_AvatarComponent_Host_0=d;var p=t.ɵccf("app-avatar",r.AvatarComponent,d,{data:"data",email:"email",size:"size",charCount:"charCount",textColor:"textColor",fontSize:"fontSize",fontWeight:"fontWeight",dynamic:"dynamic",circle:"circle"},{},[]);l.AvatarComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(38),u=function(){function n(n){this.title=null,this.middleName=null,this.address1=null,this.address2=null,this.address3=null,this.city=null,this.state=null,this.postalCode=null,this.country=null,this.company=null,this.email=null,this.phone=null,this.ssn=null,this.username=null,this.passportNumber=null,this.licenseNumber=null,this._firstName=null,this._lastName=null,this._subTitle=null}return Object.defineProperty(n.prototype,"firstName",{get:function(){return this._firstName},set:function(n){this._firstName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"lastName",{get:function(){return this._lastName},set:function(n){this._lastName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var n="";return null!=this.title&&(n+=this.title+" "),null!=this.firstName&&(n+=this.firstName+" "),null!=this.middleName&&(n+=this.middleName+" "),null!=this.lastName&&(n+=this.lastName),n.trim()}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullAddress",{get:function(){var n=this.address1;return t.Utils.isNullOrWhitespace(this.address2)&&(t.Utils.isNullOrWhitespace(n)&&(n+=", "),n+=this.address2),t.Utils.isNullOrWhitespace(this.address3)&&(t.Utils.isNullOrWhitespace(n)&&(n+=", "),n+=this.address3),n},enumerable:!0,configurable:!0}),n}();l.IdentityView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=e(266),u=(e(7),e(575)),r={base:{color:"#333333",fontFamily:'"Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',fontSize:"14px",fontSmoothing:"antialiased"},invalid:{color:"#333333"}},o={focus:"is-focused",empty:"is-empty",invalid:"is-invalid"},i=function(){function n(n){var l=this;this.platformUtilsService=n,this.showOptions=!0,this.method=t.PaymentMethodType.Card,this.hideBank=!1,this.hidePaypal=!1,this.hideCredit=!1,this.bank={routing_number:null,account_number:null,account_holder_name:null,account_holder_type:"",currency:"USD",country:"US"},this.paymentMethodType=t.PaymentMethodType,this.btInstance=null,this.stripe=null,this.stripeElements=null,this.stripeCardNumberElement=null,this.stripeCardExpiryElement=null,this.stripeCardCvcElement=null,this.stripeScript=window.document.createElement("script"),this.stripeScript.src="https://js.stripe.com/v3/",this.stripeScript.async=!0,this.stripeScript.onload=function(){l.stripe=window.Stripe(l.platformUtilsService.isDev()?u.WebConstants.stripeTestKey:u.WebConstants.stripeLiveKey),l.stripeElements=l.stripe.elements(),l.setStripeElement()},this.btScript=window.document.createElement("script"),this.btScript.src="scripts/dropin.js",this.btScript.async=!0}return n.prototype.ngOnInit=function(){this.showOptions||(this.hidePaypal=this.method!==t.PaymentMethodType.PayPal,this.hideBank=this.method!==t.PaymentMethodType.BankAccount,this.hideCredit=this.method!==t.PaymentMethodType.Credit),window.document.head.appendChild(this.stripeScript),this.hidePaypal||window.document.head.appendChild(this.btScript)},n.prototype.ngOnDestroy=function(){window.document.head.removeChild(this.stripeScript),window.setTimeout(function(){Array.from(window.document.querySelectorAll("iframe")).forEach(function(n){if(null!=n.src&&n.src.indexOf("stripe")>-1)try{window.document.body.removeChild(n)}catch(n){}})},500),this.hidePaypal||(window.document.head.removeChild(this.btScript),window.setTimeout(function(){Array.from(window.document.head.querySelectorAll("script")).forEach(function(n){if(null!=n.src&&n.src.indexOf("paypal")>-1)try{window.document.head.removeChild(n)}catch(n){}});var n=window.document.head.querySelector("#braintree-dropin-stylesheet");if(null!=n)try{window.document.head.removeChild(n)}catch(n){}},500))},n.prototype.changeMethod=function(){var n=this;this.btInstance=null,this.method===t.PaymentMethodType.PayPal?window.setTimeout(function(){window.braintree.dropin.create({authorization:n.platformUtilsService.isDev()?u.WebConstants.btSandboxKey:u.WebConstants.btProductionKey,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(l,e){null==l?n.btInstance=e:console.error(l)})},250):this.setStripeElement()},n.prototype.createPaymentToken=function(){var n=this;return new Promise(function(l,e){if(n.method===t.PaymentMethodType.Credit)l([null,n.method]);else if(n.method===t.PaymentMethodType.PayPal)n.btInstance.requestPaymentMethod().then(function(e){l([e.nonce,n.method])}).catch(function(n){e(n.message)});else if(n.method===t.PaymentMethodType.Card||n.method===t.PaymentMethodType.BankAccount){var u=null,r=null;n.method===t.PaymentMethodType.Card?u=n.stripeCardNumberElement:(u="bank_account",r=n.bank),n.stripe.createToken(u,r).then(function(t){t.error?e(t.error.message):t.token&&null!=t.token.id?l([t.token.id,n.method]):e()})}})},n.prototype.setStripeElement=function(){var n=this;window.setTimeout(function(){n.method===t.PaymentMethodType.Card&&(null==n.stripeCardNumberElement&&(n.stripeCardNumberElement=n.stripeElements.create("cardNumber",{style:r,classes:o,placeholder:""})),null==n.stripeCardExpiryElement&&(n.stripeCardExpiryElement=n.stripeElements.create("cardExpiry",{style:r,classes:o})),null==n.stripeCardCvcElement&&(n.stripeCardCvcElement=n.stripeElements.create("cardCvc",{style:r,classes:o,placeholder:""})),n.stripeCardNumberElement.mount("#stripe-card-number-element"),n.stripeCardExpiryElement.mount("#stripe-card-expiry-element"),n.stripeCardCvcElement.mount("#stripe-card-cvc-element"))},50)},n}();l.PaymentComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(39),u=e(584),r=e(585),o=e(586),i=e(587),a=e(588),s=e(590),c=e(591),d=function(){return function(n,l,e){var d=this;if(null!=n){switch(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.userId=l,this.edit=n.edit,this.organizationUseTotp=n.organizationUseTotp,this.favorite=n.favorite,this.revisionDate=n.revisionDate,this.type=n.type,this.name=n.name,this.notes=n.notes,this.collectionIds=null!=e?e:n.collectionIds,this.type){case t.CipherType.Login:this.login=new a.LoginData(n.login);break;case t.CipherType.SecureNote:this.secureNote=new c.SecureNoteData(n.secureNote);break;case t.CipherType.Card:this.card=new r.CardData(n.card);break;case t.CipherType.Identity:this.identity=new i.IdentityData(n.identity)}null!=n.fields&&(this.fields=[],n.fields.forEach(function(n){d.fields.push(new o.FieldData(n))})),null!=n.attachments&&(this.attachments=[],n.attachments.forEach(function(n){d.attachments.push(new u.AttachmentData(n))})),null!=n.passwordHistory&&(this.passwordHistory=[],n.passwordHistory.forEach(function(n){d.passwordHistory.push(new s.PasswordHistoryData(n))}))}}}();l.CipherData=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.id,this.organizationId=n.organizationId,this.name=n.name,this.readOnly=n.readOnly}}();l.CollectionData=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?(a=[],[4,this.attachments.reduce(function(n,l){return n.then(function(){return l.decrypt(r)}).then(function(n){a.push(n)})},Promise.resolve())]):[3,13];case 12:o.sent(),n.attachments=a,o.label=13;case 13:return null!=this.fields&&this.fields.length>0?(c=[],[4,this.fields.reduce(function(n,l){return n.then(function(){return l.decrypt(r)}).then(function(n){c.push(n)})},Promise.resolve())]):[3,15];case 14:o.sent(),n.fields=c,o.label=15;case 15:return null!=this.passwordHistory&&this.passwordHistory.length>0?(d=[],[4,this.passwordHistory.reduce(function(n,l){return n.then(function(){return l.decrypt(r)}).then(function(n){d.push(n)})},Promise.resolve())]):[3,17];case 16:o.sent(),n.passwordHistory=d,o.label=17;case 17:return[2,n]}})})},l.prototype.toCipherData=function(n){var l=new a.CipherData;switch(l.id=this.id,l.organizationId=this.organizationId,l.folderId=this.folderId,l.userId=null!=this.organizationId?n:null,l.edit=this.edit,l.organizationUseTotp=this.organizationUseTotp,l.favorite=this.favorite,l.revisionDate=null!=this.revisionDate?this.revisionDate.toISOString():null,l.type=this.type,l.collectionIds=this.collectionIds,this.buildDataModel(this,l,{name:null,notes:null}),l.type){case i.CipherType.Login:l.login=this.login.toLoginData();break;case i.CipherType.SecureNote:l.secureNote=this.secureNote.toSecureNoteData();break;case i.CipherType.Card:l.card=this.card.toCardData();break;case i.CipherType.Identity:l.identity=this.identity.toIdentityData()}return null!=this.fields&&(l.fields=[],this.fields.forEach(function(n){l.fields.push(n.toFieldData())})),null!=this.attachments&&(l.attachments=[],this.attachments.forEach(function(n){l.attachments.push(n.toAttachmentData())})),null!=this.passwordHistory&&(l.passwordHistory=[],this.passwordHistory.forEach(function(n){l.passwordHistory.push(n.toPasswordHistoryData())})),l},l}(p.default);l.Cipher=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(3);var t=e(193),u=e(878),r=function(){function n(n){this.i18nService=n}return n.prototype.getDefaultDateFilters=function(){var n=new Date,l=new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59);n.setDate(n.getDate()-30);var e=new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0);return[this.toDateTimeLocalString(e),this.toDateTimeLocalString(l)]},n.prototype.formatDateFilters=function(n,l){var e=new Date(n),t=new Date(l+":59.999");if(isNaN(e.getTime())||isNaN(t.getTime())||t"+e+"";var t=this.makeAnchor(e);return t.setAttribute("href","#/organizations/"+n.organizationId+"/vault?search="+e+"&viewEvents="+n.cipherId),t.outerHTML},n.prototype.formatGroupId=function(n){var l=this.getShortId(n.groupId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/groups?search="+l),e.outerHTML},n.prototype.formatCollectionId=function(n){var l=this.getShortId(n.collectionId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/collections?search="+l),e.outerHTML},n.prototype.formatOrgUserId=function(n){var l=this.getShortId(n.organizationUserId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/people?search="+l+"&viewEvents="+n.organizationUserId),e.outerHTML},n.prototype.makeAnchor=function(n){var l=document.createElement("a");return l.title=this.i18nService.t("view"),l.innerHTML=""+n+"",l},n.prototype.getShortId=function(n){return n.substring(0,8)},n.prototype.toDateTimeLocalString=function(n){return n.getFullYear()+"-"+this.pad(n.getMonth()+1)+"-"+this.pad(n.getDate())+"T"+this.pad(n.getHours())+":"+this.pad(n.getMinutes())},n.prototype.pad=function(n){var l=Math.floor(Math.abs(n));return(l<10?"0":"")+l},n}();l.EventService=r;var o=function(){return function(){}}();l.EventInfo=o;var i=function(){return function(){this.cipherInfo=!0}}();l.EventOptions=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Owner=0]="Owner",n[n.Admin=1]="Admin",n[n.User=2]="User",n[n.Manager=3]="Manager"}(l.OrganizationUserType||(l.OrganizationUserType={}))},,,,,,,,,,,,,,,,,function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},r=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]t){if(r===o.TwoFactorProviderType.U2f&&!n)return;e=r,t=i.priority}}),e},n.prototype.makePreloginKey=function(n,l){return u(this,void 0,void 0,function(){var e,t;return r(this,function(u){switch(u.label){case 0:l=l.trim().toLowerCase(),this.kdf=null,this.kdfIterations=null,u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.apiService.postPrelogin(new c.PreloginRequest(l))];case 2:return null!=(e=u.sent())&&(this.kdf=e.kdf,this.kdfIterations=e.kdfIterations),[3,4];case 3:if(null==(t=u.sent())||404!==t.statusCode)throw t;return[3,4];case 4:return[2,this.cryptoService.makeKey(n,l,this.kdf,this.kdfIterations)]}})})},n.prototype.logInHelper=function(n,l,e,t,c,p){return u(this,void 0,void 0,function(){var u,f,v,h,g,m,y,C,b,w;return r(this,function(r){switch(r.label){case 0:return[4,this.tokenService.getTwoFactorToken(n)];case 1:return u=r.sent(),[4,this.appIdService.getAppId()];case 2:return f=r.sent(),v=new a.DeviceRequest(f,this.platformUtilsService),h=null!=c&&null!=t?new d.TokenRequest(n,l,t,c,p,v):null!=u?new d.TokenRequest(n,l,o.TwoFactorProviderType.Remember,u,!1,v):new d.TokenRequest(n,l,null,null,!1,v),[4,this.apiService.postIdentityToken(h)];case 3:return g=r.sent(),this.clearState(),(m=new i.AuthResult).twoFactor=!g.accessToken,m.twoFactor?(y=g,this.email=n,this.masterPasswordHash=l,this.key=this.setCryptoKeys?e:null,this.twoFactorProviders=y.twoFactorProviders2,m.twoFactorProviders=y.twoFactorProviders2,[2,m]):(null!=(C=g).twoFactorToken&&this.tokenService.setTwoFactorToken(C.twoFactorToken,n),[4,this.tokenService.setTokens(C.accessToken,C.refreshToken)]);case 4:return r.sent(),[4,this.userService.setInformation(this.tokenService.getUserId(),this.tokenService.getEmail(),this.kdf,this.kdfIterations)];case 5:return r.sent(),this.setCryptoKeys?[4,this.cryptoService.setKey(e)]:[3,15];case 6:return r.sent(),[4,this.cryptoService.setKeyHash(l)];case 7:return r.sent(),[4,this.cryptoService.setEncKey(C.key)];case 8:if(r.sent(),null!=C.privateKey)return[3,13];r.label=9;case 9:return r.trys.push([9,12,,13]),[4,this.cryptoService.makeKeyPair()];case 10:return b=r.sent(),[4,this.apiService.postAccountKeys(new s.KeysRequest(b[0],b[1].encryptedString))];case 11:return r.sent(),C.privateKey=b[1].encryptedString,[3,13];case 12:return w=r.sent(),console.error(w),[3,13];case 13:return[4,this.cryptoService.setEncPrivateKey(C.privateKey)];case 14:r.sent(),r.label=15;case 15:return this.messagingService.send("loggedIn"),[2,m]}})})},n.prototype.clearState=function(){this.email=null,this.masterPasswordHash=null,this.twoFactorProviders=null,this.selectedTwoFactorProviderType=null},n}();l.AuthService=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(0),o=(e(45),e(58),e(63),e(9),function(n){function l(l,e,t,u){var o=n.call(this,l,e,t,u)||this;return o.onSearchTextChanged=new r.EventEmitter,o.searchText="",o.searchPlaceholder=null,o}return u(l,n),l.prototype.searchTextChanged=function(){this.onSearchTextChanged.emit(this.searchText)},l}(e(821).GroupingsComponent));l.GroupingsComponent=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]500?500:this.ciphers.length,e=0;e0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]4?(l=Math.floor(this.totpCode.length/2),this.totpCodeFormatted=this.totpCode.substring(0,l)+" "+this.totpCode.substring(l)):this.totpCodeFormatted=this.totpCode:(this.totpCodeFormatted=null,this.totpInterval&&window.clearInterval(this.totpInterval)),[2]}})})},l.prototype.totpTick=function(n){return r(this,void 0,void 0,function(){var l,e;return o(this,function(t){switch(t.label){case 0:return l=Math.round((new Date).getTime()/1e3),e=l%n,this.totpSec=n-e,this.totpDash=+(Math.round(78.6/n*e+"e+2")+"e-2"),this.totpLow=this.totpSec<=7,0!==e?[3,2]:[4,this.totpUpdateCode()];case 1:t.sent(),t.label=2;case 2:return[2]}})})},l}(e(826).AddEditComponent));l.AddEditComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Invited=0]="Invited",n[n.Accepted=1]="Accepted",n[n.Confirmed=2]="Confirmed"}(l.OrganizationUserStatusType||(l.OrganizationUserStatusType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Domain=0]="Domain",n[n.Host=1]="Host",n[n.StartsWith=2]="StartsWith",n[n.Exact=3]="Exact",n[n.RegularExpression=4]="RegularExpression",n[n.Never=5]="Never"}(l.UriMatchType||(l.UriMatchType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0))return[3,4];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.getFileContents(e[0])];case 2:return null!=(r=u.sent())&&(t=r),[3,4];case 3:return u.sent(),[3,4];case 4:if(null==t||""===t)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2];u.label=5;case 5:return u.trys.push([5,7,,8]),this.formPromise=this.importService.import(n,t,this.organizationId),[4,this.formPromise];case 6:return null!=(o=u.sent())?(this.error(o),[2]):(this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,8]);case 7:return u.sent(),[3,8];case 8:return[2]}})})},n.prototype.getFormatInstructionTitle=function(){var n=this;if(null==this.format)return null;var l=this.featuredImportOptions.concat(this.importOptions).filter(function(l){return l.id===n.format});return l.length>0?this.i18nService.t("instructionsFor",l[0].name):null},n.prototype.setImportOptions=function(){this.featuredImportOptions=[{id:null,name:"-- "+this.i18nService.t("select")+" --"}].concat(this.importService.featuredImportOptions),this.importOptions=this.importService.regularImportOptions},n.prototype.error=function(n){this.analytics.eventTrack.next({action:"Import Data Failed",properties:{label:this.format}}),this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),n.message)},n.prototype.getFileContents=function(n){var l=this;return new Promise(function(e,t){var u=new FileReader;u.readAsText(n,"utf-8"),u.onload=function(u){if("lastpasscsv"===l.format&&"text/html"===n.type){var r=(new DOMParser).parseFromString(u.target.result,"text/html").querySelector("pre");return null!=r?void e(r.textContent):void t()}e(u.target.result)},u.onerror=function(){t()}})},n}();l.ImportComponent=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(23),e(238),e(3),e(7);var r=function(n){function l(l,e,t,u){return n.call(this,l,e,t,u,window)||this}return u(l,n),l.prototype.saved=function(){n.prototype.saved.call(this),this.masterPassword=null,this.platformUtilsService.showToast("success",null,this.i18nService.t("exportSuccess"))},l}(e(864).ExportComponent);l.ExportComponent=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]1}),this.ciphers=e,[2]}})})},l.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},l}(e(239).CipherReportComponent);l.ReusedPasswordsReportComponent=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1?r.concat(n.login.username.substr(0,o).trim().toLowerCase().split(/[^A-Za-z0-9]/)).filter(function(n){return n.length>=3}):n.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/).filter(function(n){return n.length>=3})}var a=e.passwordGenerationService.passwordStrength(n.login.password,r.length>0?r:null);e.passwordStrengthCache.set(u,a.score)}var s=e.passwordStrengthCache.get(u);null!=s&&s<=3&&(e.passwordStrengthMap.set(n.id,e.scoreKey(s)),l.push(n))}}),this.ciphers=l,[2]}})})},l.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},l.prototype.scoreKey=function(n){switch(n){case 4:return["strong","success"];case 3:return["good","primary"];case 2:return["weak","warning"];default:return["veryWeak","danger"]}},l}(e(239).CipherReportComponent);l.WeakPasswordsReportComponent=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(l.push(n),t.exposedPasswordMap.set(n.id,e))});e.push(u)}}),[4,Promise.all(e)];case 2:return u.sent(),this.ciphers=l,[2]}})})},l.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},l}(e(239).CipherReportComponent);l.ExposedPasswordsReportComponent=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?[4,this.getAllCiphers()]:[3,6];case 4:return n=r.sent(),l=[],e=[],t=new Map,n.forEach(function(n){if(n.type===i.CipherType.Login&&(null==n.login.totp||""===n.login.totp)&&n.login.hasUris)for(var e=0;e0?[2]:[4,fetch(new Request("https://twofactorauth.org/data.json"))];case 1:if(200!==(n=o.sent()).status)throw new Error;return[4,n.json()];case 2:for(e in l=o.sent())if(l.hasOwnProperty(e))for(u in t=l[e])t.hasOwnProperty(u)&&(r=t[u]).tfa&&null!=r.url&&null!=(i=a.Utils.getHostname(r.url))&&this.services.set(i,r.doc);return[2]}})})},l}(e(239).CipherReportComponent);l.InactiveTwoFactorReportComponent=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.transform=function(n,l,e,t,u){return null==n||0===n.length?[]:null==l||l.length<2?n:(l=l.trim().toLowerCase(),n.filter(function(n){return null!=e&&null!=n[e]&&n[e].toString().toLowerCase().indexOf(l)>-1||(null!=t&&null!=n[t]&&n[t].toString().toLowerCase().indexOf(l)>-1||null!=u&&null!=n[u]&&n[u].toString().toLowerCase().indexOf(l)>-1)}))},n}();l.SearchPipe=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.id=n,this.readOnly=l}}();l.SelectionReadOnlyRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.readOnly=e.getResponseProperty("ReadOnly"),e}return u(l,n),l}(e(35).BaseResponse);l.SelectionReadOnlyResponse=r},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.NotificationsService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SettingsService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(7);var t=function(){function n(n){this.platformUtilsService=n,this.year="2015"}return n.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},n.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},n}();l.FrontendLayoutComponent=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(this.email=t.email),null!=t.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=t.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:t.org}}),[4,n.prototype.ngOnInit.call(this)];case 1:return e.sent(),null!=l&&l.unsubscribe(),[2]}})})}),[2]})})},l.prototype.goAfterLogIn=function(){return r(this,void 0,void 0,function(){var n,l;return o(this,function(e){switch(e.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return null==(n=e.sent())?[3,2]:(this.router.navigate(["accept-organization"],{queryParams:n}),[3,6]);case 2:return[4,this.stateService.get("loginRedirect")];case 3:return null==(l=e.sent())?[3,5]:(this.router.navigate([l.route],{queryParams:l.qParams}),[4,this.stateService.remove("loginRedirect")]);case 4:return e.sent(),[3,6];case 5:this.router.navigate([this.successRoute]),e.label=6;case 6:return[2]}})})},l}(e(780).LoginComponent);l.LoginComponent=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(n.email=e.email),null!=e.premium?n.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=e.org&&(n.showCreateOrgMessage=!0,n.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:e.org}})),null!=l&&l.unsubscribe()})},l}(e(800).RegisterComponent);l.RegisterComponent=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.PBKDF2_SHA256=0]="PBKDF2_SHA256"}(l.KdfType||(l.KdfType={}))},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(10),e(4),e(3),e(7);var r=function(n){function l(l,e,t,u){return n.call(this,l,e,t,u)||this}return u(l,n),l}(e(803).HintComponent);l.HintComponent=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1})];case 1:return l.sent(),this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n,this.ciphersComponent.search(200)},n.prototype.editCipherAttachments=function(n){return t(this,void 0,void 0,function(){var l,e,o,i,s,c=this;return u(this,function(d){switch(d.label){case 0:return[4,this.userService.canAccessPremium()];case 1:return l=d.sent(),null!=n.organizationId||l?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==n.organizationId?[3,4]:[4,this.userService.getOrganization(n.organizationId)];case 3:if(null!=(e=d.sent())&&(null==e.maxStorageGb||0===e.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId}),[2];d.label=4;case 4:return null!=this.modal&&this.modal.close(),o=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(o).instance,(i=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef)).cipherId=n.id,s=!1,i.onUploadedAttachment.subscribe(function(){return s=!0}),i.onDeletedAttachment.subscribe(function(){return s=!0}),i.onReuploadedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return t(c,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return s=!1,[2]}})})}),[2]}})})},n.prototype.shareCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.shareModalRef.createComponent(e).instance;var o=this.modal.show(v.ShareComponent,this.shareModalRef);o.cipherId=n.id,o.onSharedCipher.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var o=this.modal.show(p.CollectionsComponent,this.collectionsModalRef);o.cipherId=n.id,o.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addFolder=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(o){return null!=this.modal&&this.modal.close(),n=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(n).instance,(l=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,l.onSavedFolder.subscribe(function(){return t(e,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){e.modal=null}),[2]})})},n.prototype.editFolder=function(n){return t(this,void 0,void 0,function(){var l,e,o=this;return u(this,function(i){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(l).instance,(e=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=n,e.onSavedFolder.subscribe(function(){return t(o,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),e.onDeletedFolder.subscribe(function(){return t(o,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[4,this.filterFolder("none")];case 2:return n.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){o.modal=null}),[2]})})},n.prototype.addCipher=function(){var n=this,l=this.editCipher(null);if(l.type=this.type,l.folderId="none"===this.folderId?null:this.folderId,null!=this.collectionId){var e=this.groupingsComponent.collections.filter(function(l){return l.id===n.collectionId});e.length>0&&(l.organizationId=e[0].organizationId,l.collectionIds=[this.collectionId])}},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var o=this.modal.show(i.AddEditComponent,this.cipherAddEditModalRef);return o.cipherId=null==n?null:n.id,o.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),o},n.prototype.bulkDelete=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.bulkDeleteModalRef.createComponent(e).instance;var o=this.modal.show(s.BulkDeleteComponent,this.bulkDeleteModalRef);o.cipherIds=l,o.onDeleted.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkShare=function(){var n=this,l=this.ciphersComponent.getSelected();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.bulkShareModalRef.createComponent(e).instance;var o=this.modal.show(d.BulkShareComponent,this.bulkShareModalRef);o.ciphers=l,o.onShared.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkMove=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.bulkMoveModalRef.createComponent(e).instance;var o=this.modal.show(c.BulkMoveComponent,this.bulkMoveModalRef);o.cipherIds=l,o.onMoved.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.selectAll=function(n){this.ciphersComponent.selectAll(n)},n.prototype.updateKey=function(){var n=this;null!=this.modal&&this.modal.close();var l=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(l).instance,this.modal.show(o.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){n.modal=null})},n.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId}),this.router.navigate([],{relativeTo:this.route,queryParams:n,replaceUrl:!0})},n}());l.VaultComponent=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=l.id,e}return u(l,n),l}(e(194).CipherRequest);l.CipherWithIdRequest=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.name=n.name?n.name.encryptedString:null}}();l.FolderRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0)return void(this.creditAmount=parseFloat((Math.round(100*n)/100).toString()).toFixed(2).toString())}}catch(n){}this.creditAmount=""},Object.defineProperty(n.prototype,"creditAmountNumber",{get:function(){if(null!=this.creditAmount&&""!==this.creditAmount)try{return parseFloat(this.creditAmount)}catch(n){}return null},enumerable:!0,configurable:!0}),n}();l.AddCreditComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&this.viewEvents(r[0]),null!=e&&e.unsubscribe(),[2]}})})}),[2]}})})})},n.prototype.ngOnDestroy=function(){this.broadcasterService.unsubscribe("OrgVaultComponent")},n.prototype.clearGroupingFilters=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return n.sent(),this.clearFilters(),this.go(),[2]}})})},n.prototype.filterCipherType=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),e=function(l){return l.type===n},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.type=n,this.go(),[2]}})})},n.prototype.filterCollection=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),e=function(l){return"unassigned"===n?null==l.collectionIds||0===l.collectionIds.length:null!=l.collectionIds&&l.collectionIds.indexOf(n)>-1},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n,this.ciphersComponent.search(200)},n.prototype.editCipherAttachments=function(n){var l=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(e).instance;var o=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef);o.organization=this.organization,o.cipherId=n.id;var i=!1;o.onUploadedAttachment.subscribe(function(){return i=!0}),o.onDeletedAttachment.subscribe(function(){return i=!0}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,i?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return i=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var o=this.modal.show(s.CollectionsComponent,this.collectionsModalRef);this.organization.isAdmin&&(o.collectionIds=n.collectionIds,o.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),o.organization=this.organization,o.cipherId=n.id,o.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addCipher=function(){var n=this.editCipher(null);n.organizationId=this.organization.id,n.type=this.type,this.organization.isAdmin&&(n.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),null!=this.collectionId&&(n.collectionIds=[this.collectionId])},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var o=this.modal.show(i.AddEditComponent,this.cipherAddEditModalRef);return o.organization=this.organization,o.cipherId=null==n?null:n.id,o.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),o},n.prototype.viewEvents=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(o.EntityEventsComponent,this.eventsModalRef)).name=n.name,e.organizationId=this.organization.id,e.entityId=n.id,e.showUser=!0,e.entity="cipher",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.clearFilters=function(){this.collectionId=null,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={type:this.type,collectionId:this.collectionId}),this.router.navigate([],{relativeTo:this.route,queryParams:n,replaceUrl:!0})},n}());l.VaultComponent=c},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?this.events=this.events.concat(r):this.events=r,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EntityEventsComponent=r},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&this.collections.splice(l,1)},n}();l.CollectionsComponent=c},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&l.forEach(function(l){var e=n.data.filter(function(n){return n.id===l});null!=e&&e.length>0&&(e[0].checked=!0)}),[3,5];case 3:return"collection"!==this.entity?[3,5]:[4,this.apiService.getCollectionUsers(this.organizationId,this.entityId)];case 4:null!=(l=t.sent())&&n.data.length>0&&l.forEach(function(l){var e=n.data.filter(function(n){return!n.accessAll&&n.id===l.id});null!=e&&e.length>0&&(e[0].checked=!0,e[0].readOnly=l.readOnly)}),t.label=5;case 5:return this.allUsers.forEach(function(n){"collection"===e.entity&&n.accessAll&&(n.checked=!0),n.checked&&e.selectedCount++}),[2]}})})},n.prototype.check=function(n){"collection"===this.entity&&n.accessAll||(n.checked=!n.checked,this.selectedChanged(n))},n.prototype.selectedChanged=function(n){n.checked?this.selectedCount++:("collection"===this.entity&&(n.readOnly=!1),this.selectedCount--)},n.prototype.filterSelected=function(n){this.showSelected=n},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return l.trys.push([0,2,,3]),"group"===this.entity?(n=this.users.filter(function(n){return n.checked}).map(function(n){return n.id}),this.formPromise=this.apiService.putGroupUsers(this.organizationId,this.entityId,n)):(n=this.users.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),this.formPromise=this.apiService.putCollectionUsers(this.organizationId,this.entityId,n)),[4,this.formPromise];case 1:return l.sent(),this.analytics.eventTrack.next({action:"group"===this.entity?"Edited Group Users":"Edited Collection Users"}),this.toasterService.popAsync("success",null,this.i18nService.t("updatedUsers")),this.onEditedUsers.emit(),[3,3];case 2:return l.sent(),[3,3];case 3:return[2]}})})},n}();l.EntityUsersComponent=c},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?this.events=this.events.concat(r):this.events=r,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EventsComponent=r},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?n.data:[]).sort(r.Utils.getSortFunction(this.i18nService,"name")),this.groups=l,this.loading=!1,[2]}})})},n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(a.GroupAddEditComponent,this.addEditModalRef);t.organizationId=this.organizationId,t.groupId=null!=n?n.id:null,t.onSavedGroup.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedGroup.subscribe(function(){l.modal.close(),l.removeGroup(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.add=function(){this.edit(null)},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),n.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",n.name)),this.removeGroup(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.users=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.usersModalRef.createComponent(e).instance;var t=this.modal.show(i.EntityUsersComponent,this.usersModalRef);t.organizationId=this.organizationId,t.entity="group",t.entityId=n.id,t.entityName=n.name,t.onEditedUsers.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.removeGroup=function(n){var l=this.groups.indexOf(n);l>-1&&this.groups.splice(l,1)},n}();l.GroupsComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&l[0].status===i.OrganizationUserStatusType.Confirmed&&this.events(l[0]),null!=e&&e.unsubscribe(),[2]})})}),[2]}})})}),[2]})})},n.prototype.load=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return n=e.sent(),this.statusMap.clear(),this.allUsers=null!=n.data&&n.data.length>0?n.data:[],this.allUsers.sort(s.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(n){l.statusMap.has(n.status)?l.statusMap.get(n.status).push(n):l.statusMap.set(n.status,[n])}),this.filter(this.status),this.loading=!1,[2]}})})},n.prototype.filter=function(n){this.status=n,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers},Object.defineProperty(n.prototype,"invitedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Invited)?this.statusMap.get(i.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"acceptedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Accepted)?this.statusMap.get(i.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"confirmedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Confirmed)?this.statusMap.get(i.OrganizationUserStatusType.Confirmed).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"showConfirmUsers",{get:function(){return null!=this.allUsers&&null!=this.statusMap&&this.allUsers.length>1&&this.confirmedCount>0&&this.confirmedCount<3&&this.acceptedCount>0},enumerable:!0,configurable:!0}),n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(c.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(p.UserAddEditComponent,this.addEditModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedUser.subscribe(function(){l.modal.close(),l.removeUser(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.invite=function(){this.edit(null)},n.prototype.groups=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(c.ModalComponent);this.modal=this.groupsModalRef.createComponent(e).instance;var t=this.modal.show(v.UserGroupsComponent,this.groupsModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.remove=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),n.name||n.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",n.name||n.email)),this.removeUser(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.reinvite=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,n.id),[4,this.actionPromise]);case 1:return l.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.confirm=function(n){return t(this,void 0,void 0,function(){function l(l){n.status=i.OrganizationUserStatusType.Confirmed;var e=l.statusMap.get(i.OrganizationUserStatusType.Accepted).indexOf(n);e>-1&&(l.statusMap.get(i.OrganizationUserStatusType.Accepted).splice(e,1),l.statusMap.get(i.OrganizationUserStatusType.Confirmed).push(n))}var e,t,o,a=this;return u(this,function(u){switch(u.label){case 0:return null!=this.actionPromise?[2]:[4,this.storageService.get(r.ConstantsService.autoConfirmFingerprints)];case 1:return null!=(e=u.sent())&&e?(this.actionPromise=this.doConfirmation(n),[4,this.actionPromise]):(null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(c.ModalComponent),this.modal=this.groupsModalRef.createComponent(t).instance,(o=this.modal.show(f.UserConfirmComponent,this.confirmModalRef)).name=null!=n?n.name||n.email:null,o.organizationId=this.organizationId,o.organizationUserId=null!=n?n.id:null,o.userId=null!=n?n.userId:null,o.onConfirmedUser.subscribe(function(){a.modal.close(),l(a)}),this.modal.onClosed.subscribe(function(){a.modal=null}),[2]);case 2:return u.sent(),l(this),this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.events=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(c.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=n.name||n.email,e.organizationId=this.organizationId,e.entityId=n.id,e.showUser=!1,e.entity="user",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.doConfirmation=function(n){return t(this,void 0,void 0,function(){var l,e,t,r,i,a,c,d;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return l=u.sent(),[4,this.apiService.getUserPublicKey(n.userId)];case 2:e=u.sent(),t=s.Utils.fromB64ToArray(e.publicKey),u.label=3;case 3:return u.trys.push([3,5,,6]),i=(r=console).log,a="User's fingerprint: ",[4,this.cryptoService.getFingerprint(n.userId,t.buffer)];case 4:return i.apply(r,[a+u.sent().join("-")]),[3,6];case 5:return u.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(l.key,t.buffer)];case 7:return c=u.sent(),(d=new o.OrganizationUserConfirmRequest).key=c.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,n.id,d)];case 8:return u.sent(),[2]}})})},n.prototype.removeUser=function(n){var l=this.users.indexOf(n);l>-1&&this.users.splice(l,1),this.statusMap.has(i.OrganizationUserStatusType.Accepted)&&(l=this.statusMap.get(i.OrganizationUserStatusType.Accepted).indexOf(n))>-1&&this.statusMap.get(i.OrganizationUserStatusType.Accepted).splice(l,1),this.statusMap.has(i.OrganizationUserStatusType.Invited)&&(l=this.statusMap.get(i.OrganizationUserStatusType.Invited).indexOf(n))>-1&&this.statusMap.get(i.OrganizationUserStatusType.Invited).splice(l,1),this.statusMap.has(i.OrganizationUserStatusType.Confirmed)&&(l=this.statusMap.get(i.OrganizationUserStatusType.Confirmed).indexOf(n))>-1&&this.statusMap.get(i.OrganizationUserStatusType.Confirmed).splice(l,1)},n}();l.PeopleComponent=h},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]"}),e.body=t,e.bodyOutputType=i.BodyOutputType.TrustedHtml}null!=n.options&&(!0===n.options.trustedHtml&&(e.bodyOutputType=i.BodyOutputType.TrustedHtml),null!=n.options.timeout&&n.options.timeout>0&&(e.timeout=n.options.timeout)),this.toasterService.popAsync(e)},n.prototype.idleStateChanged=function(){this.isIdle?this.notificationsService.disconnectFromInactivity():this.notificationsService.reconnectFromActivity()},n}();l.AppComponent=p},,,,function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(10),e(97),e(3),e(7);var r=function(n){function l(l,e,t,u){return n.call(this,l,e,t,u,window)||this}return u(l,n),l}(e(791).TwoFactorOptionsComponent);l.TwoFactorOptionsComponent=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l,e){var t=n.call(this)||this;return t.masterPasswordHash=e,t.email=l,t}return u(l,n),l}(e(74).PasswordVerificationRequest);l.TwoFactorEmailRequest=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.publicKey=n,this.encryptedPrivateKey=l}}();l.KeysRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(454),o=e(3),i=t.ɵcrt({encapsulation:2,styles:[],data:{}});function a(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "]))],null,function(n,l){n(l,1,0,l.component.text)})}function s(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["role","progressbar"]],[[8,"className",0],[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(3,278528,null,0,u.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(4,{width:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,a)),t.ɵdid(7,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,t=n(l,4,0,e.scoreWidth+"%");n(l,3,0,t),n(l,7,0,e.showText&&e.text)},function(n,l){var e=l.component;n(l,2,0,t.ɵinlineInterpolate(1,"progress-bar ",e.color,""),t.ɵinlineInterpolate(1,"",e.scoreWidth,""))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-strength",[],null,null,null,s,i)),t.ɵdid(1,573440,null,0,r.PasswordStrengthComponent,[o.I18nService],null,null)],null,null)}l.RenderType_PasswordStrengthComponent=i,l.View_PasswordStrengthComponent_0=s,l.View_PasswordStrengthComponent_Host_0=c;var d=t.ɵccf("app-password-strength",r.PasswordStrengthComponent,c,{score:"score",showText:"showText"},{},[]);l.PasswordStrengthComponentNgFactory=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(103),r=e(170),o=e(145),i=e(43),a=e(107),s=e(34),c=e(8),d=e(3),p=e(5),f=e(10),v=e(465),h=e(20),g=e(7),m=e(72),y=t.ɵcrt({encapsulation:2,styles:[],data:{}});function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["appStopProp",""],["class","dropdown-item-text d-flex align-items-center"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"app-avatar",[["fontSize","14"],["size","25"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(4,638976,null,0,o.AvatarComponent,[i.DomSanitizer,a.CryptoFunctionService,s.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"div",[["class","ml-2 overflow-hidden"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.name,e.email,"25","14",!0)},function(n,l){var e=l.component,u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"loggedInAs"));n(l,9,0,u),n(l,13,0,e.name)})}function b(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[d.I18nService]),(n()(),t.ɵeld(1,0,null,null,104,"nav",[["class","navbar navbar-expand navbar-dark bg-primary"]],null,null,null,null,null)),t.ɵdid(2,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(3,{"bg-secondary-alt":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,99,"div",[["class","container"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"a",[["class","navbar-brand"],["routerLink","/"]],[[8,"title",0],[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,8).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(8,671744,null,0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵppd(9,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,0,"i",[["class","fa fa-shield"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,37,"div",[["class","collapse navbar-collapse"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,34,"ul",[["class","navbar-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,9,"li",[["class","nav-item"],["routerLinkActive","active"]],null,null,null,null,null)),t.ɵdid(19,1720320,null,2,f.RouterLinkActive,[f.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"a",[["class","nav-link"],["routerLink","/vault"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[2,4]],0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,9,"li",[["class","nav-item"],["routerLinkActive","active"]],null,null,null,null,null)),t.ɵdid(30,1720320,null,2,f.RouterLinkActive,[f.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,3,"a",[["class","nav-link"],["routerLink","/tools"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,35).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(35,671744,[[4,4]],0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,9,"li",[["class","nav-item"],["routerLinkActive","active"]],null,null,null,null,null)),t.ɵdid(41,1720320,null,2,f.RouterLinkActive,[f.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,3,"a",[["class","nav-link"],["routerLink","/settings"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(46,671744,[[6,4]],0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,50,"ul",[["class","navbar-nav flex-row ml-md-auto d-none d-md-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,47,"li",[["class","nav-item dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,3,"a",[["aria-expanded","false"],["aria-haspopup","true"],["class","nav-item nav-link dropdown-toggle"],["data-toggle","dropdown"],["href","#"],["id","nav-profile"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,0,"i",[["class","fa fa-user-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,39,"div",[["aria-labelledby","nav-profile"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(65,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,0,"div",[["class","dropdown-divider"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,5,"a",[["class","dropdown-item"],["href","#"],["routerLink","/settings/account"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,70).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(70,671744,null,0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa fa-fw fa-user"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["\n ","\n "])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,4,"a",[["class","dropdown-item"],["href","https://help.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,0,"i",[["class","fa fa-fw fa-question-circle"]],null,null,null,null,null)),(n()(),t.ɵted(79,null,["\n ","\n "])),t.ɵppd(80,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,4,"a",[["class","dropdown-item"],["href","https://bitwarden.com#download"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa fa-fw fa-download"]],null,null,null,null,null)),(n()(),t.ɵted(85,null,["\n ","\n "])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,0,"div",[["class","dropdown-divider"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,4,"button",[["class","dropdown-item"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.lock()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,0,null,null,0,"i",[["class","fa fa-fw fa-lock"]],null,null,null,null,null)),(n()(),t.ɵted(93,null,["\n ","\n "])),t.ɵppd(94,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(96,0,null,null,4,"button",[["class","dropdown-item"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.logOut()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(98,0,null,null,0,"i",[["class","fa fa-fw fa-sign-out"]],null,null,null,null,null)),(n()(),t.ɵted(99,null,["\n ","\n "])),t.ɵppd(100,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,t=n(l,3,0,e.selfHosted);n(l,2,0,"navbar navbar-expand navbar-dark bg-primary",t);n(l,8,0,"/");n(l,19,0,"active");n(l,24,0,"/vault");n(l,30,0,"active");n(l,35,0,"/tools");n(l,41,0,"active");n(l,46,0,"/settings"),n(l,65,0,e.name);n(l,70,0,"/settings/account")},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,7,0,n(l,9,0,t.ɵnov(l,0),"pageTitle","Bitwarden")),"");n(l,7,0,e,t.ɵnov(l,8).target,t.ɵnov(l,8).href),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href);var u=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"myVault"));n(l,25,0,u),n(l,34,0,t.ɵnov(l,35).target,t.ɵnov(l,35).href);var r=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"tools"));n(l,36,0,r),n(l,45,0,t.ɵnov(l,46).target,t.ɵnov(l,46).href);var o=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l,0),"settings"));n(l,47,0,o),n(l,69,0,t.ɵnov(l,70).target,t.ɵnov(l,70).href);var i=t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"myAccount"));n(l,73,0,i);var a=t.ɵunv(l,79,0,n(l,80,0,t.ɵnov(l,0),"getHelp"));n(l,79,0,a);var s=t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"getApps"));n(l,85,0,s);var c=t.ɵunv(l,93,0,n(l,94,0,t.ɵnov(l,0),"lockNow"));n(l,93,0,c);var d=t.ɵunv(l,99,0,n(l,100,0,t.ɵnov(l,0),"logOut"));n(l,99,0,d)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-navbar",[],null,null,null,b,y)),t.ɵdid(1,114688,null,0,v.NavbarComponent,[h.MessagingService,g.PlatformUtilsService,m.TokenService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_NavbarComponent=y,l.View_NavbarComponent_0=b,l.View_NavbarComponent_Host_0=w;var S=t.ɵccf("app-navbar",v.NavbarComponent,w,{},{},[]);l.NavbarComponentNgFactory=S},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(466),i=e(7),a=t.ɵcrt({encapsulation:2,styles:[],data:{}});function s(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,13,"div",[["class","container footer text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"div",[["class","col"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n © ",", 8bit Solutions LLC\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"div",[["class","col text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"div",[["class","col text-right"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=l.component;n(l,6,0,e.year);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"versionNumber",e.version));n(l,11,0,u)})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-footer",[],null,null,null,s,a)),t.ɵdid(1,114688,null,0,o.FooterComponent,[i.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_FooterComponent=a,l.View_FooterComponent_0=s,l.View_FooterComponent_Host_0=c;var d=t.ɵccf("app-footer",o.FooterComponent,c,{},{},[]);l.FooterComponentNgFactory=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:n=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;(n?this.collections:this.writeableCollections).forEach(function(e){return l.check(e,n)})},Object.defineProperty(n.prototype,"canSave",{get:function(){if(null!=this.shareableCiphers&&this.shareableCiphers.length>0&&null!=this.collections)for(var n=0;n0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(n=n.concat(this.email.substr(0,l).trim().toLowerCase().split(/[^A-Za-z0-9]/))),n},n.prototype.updateKey=function(n,l){return t(this,void 0,void 0,function(){var e,t,i,s,c,d,p,f,v;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.makeEncKey(n)];case 1:return e=u.sent(),[4,this.cryptoService.getPrivateKey()];case 2:return t=u.sent(),i=null,null==t?[3,4]:[4,this.cryptoService.encrypt(t,e[0])];case 3:i=u.sent(),u.label=4;case 4:return(s=new a.UpdateKeyRequest).privateKey=null!=i?i.encryptedString:null,s.key=e[1].encryptedString,s.masterPasswordHash=l,[4,this.folderService.getAllDecrypted()];case 5:c=u.sent(),f=0,u.label=6;case 6:return f0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),n.print(),n.close()},n.prototype.formatString=function(n){return null==n?null:n.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},n.prototype.processResponse=function(n){this.code=this.formatString(n.code)},n}();l.TwoFactorRecoveryComponent=u},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0)return e.keysConfiguredCount++,e.keys.push({id:l,name:t[0].name,configured:!0,compromised:t[0].compromised,removePromise:null}),"continue"}e.keys.push({id:l,name:null,configured:!1,compromised:!1,removePromise:null}),null==e.keyIdAvailable&&(e.keyIdAvailable=l)},e=this,t=1;t<=5;t++)l(t);this.enabled=n.enabled},l}(e(236).TwoFactorBaseComponent);l.TwoFactorU2fComponent=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?this.keys[0].key:null,e.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,e.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,e.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,e.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,e.nfc=this.nfc,n.prototype.enable.call(this,function(){return r(l,void 0,void 0,function(){var n;return o(this,function(l){switch(l.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(e),[4,this.formPromise];case 1:return n=l.sent(),[4,this.processResponse(n)];case 2:return l.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},l.prototype.disable=function(){return n.prototype.disable.call(this,this.disablePromise)},l.prototype.remove=function(n){n.existingKey=null,n.key=null},l.prototype.processResponse=function(n){this.enabled=n.enabled,this.keys=[{key:n.key1,existingKey:this.padRight(n.key1)},{key:n.key2,existingKey:this.padRight(n.key2)},{key:n.key3,existingKey:this.padRight(n.key3)},{key:n.key4,existingKey:this.padRight(n.key4)},{key:n.key5,existingKey:this.padRight(n.key5)}],this.nfc=n.nfc||!n.enabled},l.prototype.padRight=function(n,l,e){if(void 0===l&&(l="•"),void 0===e&&(e=44),null==n||null==l||n.length>=e)return n;for(var t=(e-n.length)/l.length,u=0;u":t=">",u=!0;break;case" ":t=" ",u=!0}var r="letter";u||t.match(/[^\w ]/)?r="special":t.match(/\d/)&&(r="number"),l+=''+t+""}return l},n}();l.ColorPasswordPipe=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(7);var t=function(){function n(n,l){this.el=n,this.platformUtilsService=l}return n.prototype.onCopy=function(){if(null!=window){for(var n="",l=window.getSelection(),e=0;e0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(n.uris=[],this.uris.forEach(function(l){n.uris.push(l.toLoginUriData())})),n},l}(e(110).default);l.Login=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(589),o=e(235),i=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.match=l.match,t.buildDomainModel(t,l,{uri:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new o.LoginUriView(this),{uri:null},n)},l.prototype.toLoginUriData=function(){var n=new r.LoginUriData;return this.buildDataModel(this,n,{uri:null},["match"]),n},l}(e(110).default);l.LoginUri=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&t.groups.forEach(function(n){var l=i.groups.filter(function(l){return!l.accessAll&&l.id===n.id});null!=l&&l.length>0&&(l[0].checked=!0,l[0].readOnly=n.readOnly)}),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.title=this.i18nService.t("addCollection"),u.label=11;case 11:return this.groups.forEach(function(n){n.accessAll&&(n.checked=!0)}),this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.accessAll||(n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1))},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:if(null==this.orgKey)throw new Error("No encryption key for this organization.");return n=new i.CollectionRequest,l=n,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:l.name=e.sent().encryptedString,n.groups=this.groups.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),e.label=2;case 2:return e.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,n):this.formPromise=this.apiService.postCollection(this.organizationId,n),[4,this.formPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.CollectionAddEditComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.groups=[],null!=n&&(this.name=n.name?n.name.encryptedString:null)}}();l.CollectionRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new i.Collection(new o.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new a.GroupRequest).name=this.name,n.externalId=this.externalId,n.accessAll="all"===this.access,n.accessAll||(n.collections=this.collections.filter(function(n){return n.checked}).map(function(n){return new s.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),l.label=1;case 1:return l.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,n):this.formPromise=this.apiService.postGroup(this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.GroupAddEditComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserConfirmRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new i.Collection(new o.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(n){return n.checked}).map(function(n){return new c.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),e.label=1;case 1:return e.trys.push([1,3,,4]),this.editMode?((l=new s.OrganizationUserUpdateRequest).accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,l)):((l=new a.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),l.accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,l)),[4,this.formPromise];case 2:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.UserAddEditComponent=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(l[0].checked=!0)}),[3,5];case 4:return u.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new o.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n}();l.UserGroupsComponent=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0){var e=this.formEls[0];if("input"===e.tagName.toLowerCase()){var t=e;if(null!=t.type&&"checkbox"===t.type.toLowerCase())return void t.click()}e.focus()}},n}();l.BoxRowDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(12);var t=function(){function n(n,l){this.elementRef=n,this.renderer=l,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(n){}}return n.prototype.onHostChange=function(n){this.propagateChange(n.target.checked?this.trueValue:this.falseValue)},n.prototype.writeValue=function(n){n===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},n.prototype.registerOnChange=function(n){this.propagateChange=n},n.prototype.registerOnTouched=function(n){},n.prototype.setDisabledState=function(n){},n}();l.TrueFalseValueDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1?[4,l.json()]:[3,3];case 2:e=u.sent(),u.label=3;case 3:return null==e?[3,6]:200!==l.status?[3,4]:[2,new h.IdentityTokenResponse(e)];case 4:return 400===l.status&&e.TwoFactorProviders2&&Object.keys(e.TwoFactorProviders2).length?[4,this.tokenService.clearTwoFactorToken(n.email)]:[3,6];case 5:return u.sent(),[2,new g.IdentityTwoFactorResponse(e)];case 6:return[2,Promise.reject(new d.ErrorResponse(e,l.status,!0))]}})})},n.prototype.refreshIdentityToken=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.doRefreshToken()];case 1:return n.sent(),[3,3];case 2:return n.sent(),[2,Promise.reject(null)];case 3:return[2]}})})},n.prototype.getProfile=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/profile",null,!0,!0)];case 1:return n=l.sent(),[2,new S.ProfileResponse(n)]}})})},n.prototype.getUserBilling=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/billing",null,!0,!0)];case 1:return n=l.sent(),[2,new o.BillingResponse(n)]}})})},n.prototype.getUserSubscription=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/subscription",null,!0,!0)];case 1:return n=l.sent(),[2,new I.SubscriptionResponse(n)]}})})},n.prototype.putProfile=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/accounts/profile",n,!0,!0)];case 1:return l=e.sent(),[2,new S.ProfileResponse(l)]}})})},n.prototype.postPrelogin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/accounts/prelogin",n,!1,!0)];case 1:return l=e.sent(),[2,new w.PreloginResponse(l)]}})})},n.prototype.postEmailToken=function(n){return this.send("POST","/accounts/email-token",n,!0,!1)},n.prototype.postEmail=function(n){return this.send("POST","/accounts/email",n,!0,!1)},n.prototype.postPassword=function(n){return this.send("POST","/accounts/password",n,!0,!1)},n.prototype.postSecurityStamp=function(n){return this.send("POST","/accounts/security-stamp",n,!0,!1)},n.prototype.deleteAccount=function(n){return this.send("DELETE","/accounts",n,!0,!1)},n.prototype.getAccountRevisionDate=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.send("GET","/accounts/revision-date",null,!0,!0)];case 1:return[2,n.sent()]}})})},n.prototype.postPasswordHint=function(n){return this.send("POST","/accounts/password-hint",n,!1,!1)},n.prototype.postRegister=function(n){return this.send("POST","/accounts/register",n,!1,!1)},n.prototype.postPremium=function(n){return this.send("POST","/accounts/premium",n,!0,!1)},n.prototype.postReinstatePremium=function(){return this.send("POST","/accounts/reinstate-premium",null,!0,!1)},n.prototype.postCancelPremium=function(){return this.send("POST","/accounts/cancel-premium",null,!0,!1)},n.prototype.postAccountStorage=function(n){return this.send("POST","/accounts/storage",n,!0,!1)},n.prototype.postAccountPayment=function(n){return this.send("POST","/accounts/payment",n,!0,!1)},n.prototype.postAccountLicense=function(n){return this.send("POST","/accounts/license",n,!0,!1)},n.prototype.postAccountKeys=function(n){return this.send("POST","/accounts/keys",n,!0,!1)},n.prototype.postAccountKey=function(n){return this.send("POST","/accounts/key",n,!0,!1)},n.prototype.postAccountVerifyEmail=function(){return this.send("POST","/accounts/verify-email",null,!0,!1)},n.prototype.postAccountVerifyEmailToken=function(n){return this.send("POST","/accounts/verify-email-token",n,!1,!1)},n.prototype.postAccountRecoverDelete=function(n){return this.send("POST","/accounts/delete-recover",n,!1,!1)},n.prototype.postAccountRecoverDeleteToken=function(n){return this.send("POST","/accounts/delete-recover-token",n,!1,!1)},n.prototype.postAccountKdf=function(n){return this.send("POST","/accounts/kdf",n,!0,!1)},n.prototype.getFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/folders/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new f.FolderResponse(l)]}})})},n.prototype.postFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/folders",n,!0,!0)];case 1:return l=e.sent(),[2,new f.FolderResponse(l)]}})})},n.prototype.putFolder=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/folders/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new f.FolderResponse(e)]}})})},n.prototype.deleteFolder=function(n){return this.send("DELETE","/folders/"+n,null,!0,!1)},n.prototype.getCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new a.CipherResponse(l)]}})})},n.prototype.getCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n+"/admin",null,!0,!0)];case 1:return l=e.sent(),[2,new a.CipherResponse(l)]}})})},n.prototype.getCiphersOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/organization-details?organizationId="+n,null,!0,!0)];case 1:return l=e.sent(),[2,new m.ListResponse(l,a.CipherResponse)]}})})},n.prototype.postCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers",n,!0,!0)];case 1:return l=e.sent(),[2,new a.CipherResponse(l)]}})})},n.prototype.postCipherCreate=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/create",n,!0,!0)];case 1:return l=e.sent(),[2,new a.CipherResponse(l)]}})})},n.prototype.postCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/admin",n,!0,!0)];case 1:return l=e.sent(),[2,new a.CipherResponse(l)]}})})},n.prototype.putCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new a.CipherResponse(e)]}})})},n.prototype.putCipherAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/admin",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CipherResponse(e)]}})})},n.prototype.deleteCipher=function(n){return this.send("DELETE","/ciphers/"+n,null,!0,!1)},n.prototype.deleteCipherAdmin=function(n){return this.send("DELETE","/ciphers/"+n+"/admin",null,!0,!1)},n.prototype.deleteManyCiphers=function(n){return this.send("DELETE","/ciphers",n,!0,!1)},n.prototype.putMoveCiphers=function(n){return this.send("PUT","/ciphers/move",n,!0,!1)},n.prototype.putShareCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/share",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CipherResponse(e)]}})})},n.prototype.putShareCiphers=function(n){return this.send("PUT","/ciphers/share",n,!0,!1)},n.prototype.putCipherCollections=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections",l,!0,!1)},n.prototype.putCipherCollectionsAdmin=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections-admin",l,!0,!1)},n.prototype.postPurgeCiphers=function(n,l){void 0===l&&(l=null);var e="/ciphers/purge";return null!=l&&(e+="?organizationId="+l),this.send("POST",e,n,!0,!1)},n.prototype.postImportCiphers=function(n){return this.send("POST","/ciphers/import",n,!0,!1)},n.prototype.postImportOrganizationCiphers=function(n,l){return this.send("POST","/ciphers/import-organization?organizationId="+n,l,!0,!1)},n.prototype.postCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CipherResponse(e)]}})})},n.prototype.postCipherAttachmentAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment-admin",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CipherResponse(e)]}})})},n.prototype.deleteCipherAttachment=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l,null,!0,!1)},n.prototype.deleteCipherAttachmentAdmin=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l+"/admin",null,!0,!1)},n.prototype.postShareCipherAttachment=function(n,l,e,t){return this.send("POST","/ciphers/"+n+"/attachment/"+l+"/share?organizationId="+t,e,!0,!1)},n.prototype.getCollectionDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new s.CollectionGroupDetailsResponse(e)]}})})},n.prototype.getUserCollections=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/collections",null,!0,!0)];case 1:return n=l.sent(),[2,new m.ListResponse(n,s.CollectionResponse)]}})})},n.prototype.getCollections=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections",null,!0,!0)];case 1:return l=e.sent(),[2,new m.ListResponse(l,s.CollectionResponse)]}})})},n.prototype.getCollectionUsers=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/users",null,!0,!0)];case 1:return[2,e.sent().map(function(n){return new _.SelectionReadOnlyResponse(n)})]}})})},n.prototype.postCollection=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/collections",l,!0,!0)];case 1:return e=t.sent(),[2,new s.CollectionResponse(e)]}})})},n.prototype.putCollection=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new s.CollectionResponse(t)]}})})},n.prototype.putCollectionUsers=function(n,l,e){return t(this,void 0,void 0,function(){return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l+"/users",e,!0,!1)];case 1:return t.sent(),[2]}})})},n.prototype.deleteCollection=function(n,l){return this.send("DELETE","/organizations/"+n+"/collections/"+l,null,!0,!1)},n.prototype.deleteCollectionUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/collections/"+l+"/user/"+e,null,!0,!1)},n.prototype.getGroupDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupDetailsResponse(e)]}})})},n.prototype.getGroups=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups",null,!0,!0)];case 1:return l=e.sent(),[2,new m.ListResponse(l,v.GroupResponse)]}})})},n.prototype.getGroupUsers=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/users",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.postGroup=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/groups",l,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupResponse(e)]}})})},n.prototype.putGroup=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new v.GroupResponse(t)]}})})},n.prototype.putGroupUsers=function(n,l,e){return t(this,void 0,void 0,function(){return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l+"/users",e,!0,!1)];case 1:return t.sent(),[2]}})})},n.prototype.deleteGroup=function(n,l){return this.send("DELETE","/organizations/"+n+"/groups/"+l,null,!0,!1)},n.prototype.deleteGroupUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/groups/"+l+"/user/"+e,null,!0,!1)},n.prototype.getOrganizationUser=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l,null,!0,!0)];case 1:return e=t.sent(),[2,new b.OrganizationUserDetailsResponse(e)]}})})},n.prototype.getOrganizationUserGroups=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l+"/groups",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.getOrganizationUsers=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users",null,!0,!0)];case 1:return l=e.sent(),[2,new m.ListResponse(l,b.OrganizationUserUserDetailsResponse)]}})})},n.prototype.postOrganizationUserInvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/invite",l,!0,!1)},n.prototype.postOrganizationUserReinvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/"+l+"/reinvite",null,!0,!1)},n.prototype.postOrganizationUserAccept=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/accept",e,!0,!1)},n.prototype.postOrganizationUserConfirm=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/confirm",e,!0,!1)},n.prototype.putOrganizationUser=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l,e,!0,!1)},n.prototype.putOrganizationUserGroups=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l+"/groups",e,!0,!1)},n.prototype.deleteOrganizationUser=function(n,l){return this.send("DELETE","/organizations/"+n+"/users/"+l,null,!0,!1)},n.prototype.getSync=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=this.isDesktopClient||this.isWebClient?"/sync?excludeDomains=true":"/sync",[4,this.send("GET",n,null,!0,!0)];case 1:return l=e.sent(),[2,new R.SyncResponse(l)]}})})},n.prototype.postImportDirectory=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/import",l,!0,!1)]})})},n.prototype.getSettingsDomains=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/settings/domains",null,!0,!0)];case 1:return n=l.sent(),[2,new c.DomainsResponse(n)]}})})},n.prototype.putSettingsDomains=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/settings/domains",n,!0,!0)];case 1:return l=e.sent(),[2,new c.DomainsResponse(l)]}})})},n.prototype.getTwoFactorProviders=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/two-factor",null,!0,!0)];case 1:return n=l.sent(),[2,new m.ListResponse(n,P.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorOrganizationProviders=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/two-factor",null,!0,!0)];case 1:return l=e.sent(),[2,new m.ListResponse(l,P.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new k.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.getTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-email",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorEmailResponse(l)]}})})},n.prototype.getTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-duo",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorDuoResponse(l)]}})})},n.prototype.getTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/two-factor/get-duo",l,!0,!0)];case 1:return e=t.sent(),[2,new A.TwoFactorDuoResponse(e)]}})})},n.prototype.getTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.getTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.getTwoFactorU2fChallenge=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f-challenge",n,!0,!0)];case 1:return l=e.sent(),[2,new N.ChallengeResponse(l)]}})})},n.prototype.getTwoFactorRecover=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-recover",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorRecoverResponse(l)]}})})},n.prototype.putTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new k.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.putTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/email",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorEmailResponse(l)]}})})},n.prototype.putTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/duo",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorDuoResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/duo",l,!0,!0)];case 1:return e=t.sent(),[2,new A.TwoFactorDuoResponse(e)]}})})},n.prototype.putTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.putTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.deleteTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("DELETE","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.putTwoFactorDisable=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/disable",n,!0,!0)];case 1:return l=e.sent(),[2,new P.TwoFactorProviderResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDisable=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/disable",l,!0,!0)];case 1:return e=t.sent(),[2,new P.TwoFactorProviderResponse(e)]}})})},n.prototype.postTwoFactorRecover=function(n){return this.send("POST","/two-factor/recover",n,!1,!1)},n.prototype.postTwoFactorEmailSetup=function(n){return this.send("POST","/two-factor/send-email",n,!0,!1)},n.prototype.postTwoFactorEmail=function(n){return this.send("POST","/two-factor/send-email-login",n,!1,!1)},n.prototype.getOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new y.OrganizationResponse(l)]}})})},n.prototype.getOrganizationBilling=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/billing",null,!0,!0)];case 1:return l=e.sent(),[2,new o.BillingResponse(l)]}})})},n.prototype.getOrganizationSubscription=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/subscription",null,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationSubscriptionResponse(l)]}})})},n.prototype.getOrganizationLicense=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("GET","/organizations/"+n+"/license?installationId="+l,null,!0,!0)]})})},n.prototype.postOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations",n,!0,!0)];case 1:return l=e.sent(),[2,new y.OrganizationResponse(l)]}})})},n.prototype.putOrganization=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new y.OrganizationResponse(e)]}})})},n.prototype.postLeaveOrganization=function(n){return this.send("POST","/organizations/"+n+"/leave",null,!0,!1)},n.prototype.postOrganizationLicense=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations/license",n,!0,!0)];case 1:return l=e.sent(),[2,new y.OrganizationResponse(l)]}})})},n.prototype.postOrganizationLicenseUpdate=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/license",l,!0,!1)]})})},n.prototype.postOrganizationSeat=function(n,l){return this.send("POST","/organizations/"+n+"/seat",l,!0,!1)},n.prototype.postOrganizationStorage=function(n,l){return this.send("POST","/organizations/"+n+"/storage",l,!0,!1)},n.prototype.postOrganizationPayment=function(n,l){return this.send("POST","/organizations/"+n+"/payment",l,!0,!1)},n.prototype.postOrganizationVerifyBank=function(n,l){return this.send("POST","/organizations/"+n+"/verify-bank",l,!0,!1)},n.prototype.postOrganizationCancel=function(n){return this.send("POST","/organizations/"+n+"/cancel",null,!0,!1)},n.prototype.postOrganizationReinstate=function(n){return this.send("POST","/organizations/"+n+"/reinstate",null,!0,!1)},n.prototype.deleteOrganization=function(n,l){return this.send("DELETE","/organizations/"+n,l,!0,!1)},n.prototype.getEvents=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/events",n,l,e),null,!0,!0)];case 1:return t=u.sent(),[2,new m.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsCipher=function(n,l,e,r){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/ciphers/"+n+"/events",l,e,r),null,!0,!0)];case 1:return t=u.sent(),[2,new m.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganization=function(n,l,e,r){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/events",l,e,r),null,!0,!0)];case 1:return t=u.sent(),[2,new m.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganizationUser=function(n,l,e,r,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/users/"+l+"/events",e,r,o),null,!0,!0)];case 1:return t=u.sent(),[2,new m.ListResponse(t,p.EventResponse)]}})})},n.prototype.getUserPublicKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/users/"+n+"/public-key",null,!0,!0)];case 1:return l=e.sent(),[2,new V.UserKeyResponse(l)]}})})},n.prototype.getHibpBreach=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/hibp/breach?username="+n,null,!0,!0)];case 1:return[2,l.sent().map(function(n){return new i.BreachAccountResponse(n)})]}})})},n.prototype.postBitPayInvoice=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.send("POST","/bitpay-invoice",n,!0,!0)];case 1:return[2,l.sent()]}})})},n.prototype.getActiveBearerToken=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.tokenService.getToken()];case 1:return n=e.sent(),this.tokenService.tokenNeedsRefresh()?[4,this.doRefreshToken()]:[3,3];case 2:l=e.sent(),n=l.accessToken,e.label=3;case 3:return[2,n]}})})},n.prototype.fetch=function(n){return"GET"===n.method&&(n.headers.set("Cache-Control","no-cache"),n.headers.set("Pragma","no-cache")),fetch(n)},n.prototype.send=function(n,l,e,r,o){return t(this,void 0,void 0,function(){var t,i,a,s,c;return u(this,function(u){switch(u.label){case 0:return t=new Headers({"Device-Type":this.deviceType}),i={cache:"no-cache",credentials:this.getCredentials(),method:n},r?[4,this.getActiveBearerToken()]:[3,2];case 1:a=u.sent(),t.set("Authorization","Bearer "+a),u.label=2;case 2:return null!=e&&("string"==typeof e?(i.body=e,t.set("Content-Type","application/x-www-form-urlencoded; charset=utf-8")):"object"==typeof e&&(e instanceof FormData?i.body=e:(t.set("Content-Type","application/json; charset=utf-8"),i.body=JSON.stringify(e)))),o&&t.set("Accept","application/json"),i.headers=t,[4,this.fetch(new Request(this.apiBaseUrl+l,i))];case 3:return s=u.sent(),o&&200===s.status?[4,s.json()]:[3,5];case 4:return[2,u.sent()];case 5:return 200===s.status?[3,7]:[4,this.handleError(s,!1)];case 6:return c=u.sent(),[2,Promise.reject(c)];case 7:return[2]}})})},n.prototype.handleError=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return l&&400===n.status||401===n.status||403===n.status?[4,this.logoutCallback(!0)]:[3,2];case 1:return u.sent(),[2,null];case 2:return e=null,null!=(t=n.headers.get("content-type"))&&t.indexOf("application/json")>-1?[4,n.json()]:[3,4];case 3:e=u.sent(),u.label=4;case 4:return[2,new d.ErrorResponse(e,n.status,l)]}})})},n.prototype.doRefreshToken=function(){return t(this,void 0,void 0,function(){var n,l,e,t,r,o;return u(this,function(u){switch(u.label){case 0:return[4,this.tokenService.getRefreshToken()];case 1:if(null==(n=u.sent())||""===n)throw new Error;return l=this.tokenService.decodeToken(),[4,this.fetch(new Request(this.identityBaseUrl+"/connect/token",{body:this.qsStringify({grant_type:"refresh_token",client_id:l.client_id,refresh_token:n}),cache:"no-cache",credentials:this.getCredentials(),headers:new Headers({"Content-Type":"application/x-www-form-urlencoded; charset=utf-8",Accept:"application/json","Device-Type":this.deviceType}),method:"POST"}))];case 2:return 200!==(e=u.sent()).status?[3,5]:[4,e.json()];case 3:return t=u.sent(),r=new h.IdentityTokenResponse(t),[4,this.tokenService.setTokens(r.accessToken,r.refreshToken)];case 4:return u.sent(),[2,r];case 5:return[4,this.handleError(e,!0)];case 6:return o=u.sent(),[2,Promise.reject(o)]}})})},n.prototype.qsStringify=function(n){return Object.keys(n).map(function(l){return encodeURIComponent(l)+"="+encodeURIComponent(n[l])}).join("&")},n.prototype.getCredentials=function(){if(!this.isWebClient||this.usingBaseUrl)return"include"},n.prototype.addEventParameters=function(n,l,e,t){return null!=l&&(n+="?start="+l),null!=e&&(n+=n.indexOf("?")>-1?"&":"?",n+="end="+e),null!=t&&(n+=n.indexOf("?")>-1?"&":"?",n+="continuationToken="+t),n},n}();l.ApiService=x},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(945),o=e(35),i=e(946),a=e(549),s=e(550),c=e(551),d=e(552),p=e(554),f=function(n){function l(l){var e=n.call(this,l)||this;e.id=e.getResponseProperty("Id"),e.organizationId=e.getResponseProperty("OrganizationId"),e.folderId=e.getResponseProperty("FolderId")||null,e.type=e.getResponseProperty("Type"),e.name=e.getResponseProperty("Name"),e.notes=e.getResponseProperty("Notes"),e.favorite=e.getResponseProperty("Favorite")||!1,e.edit=e.getResponseProperty("Edit")||!0,e.organizationUseTotp=e.getResponseProperty("OrganizationUseTotp"),e.revisionDate=e.getResponseProperty("RevisionDate"),e.collectionIds=e.getResponseProperty("CollectionIds");var t=e.getResponseProperty("Login");null!=t&&(e.login=new d.LoginApi(t));var u=e.getResponseProperty("Card");null!=u&&(e.card=new a.CardApi(u));var o=e.getResponseProperty("Identity");null!=o&&(e.identity=new c.IdentityApi(o));var f=e.getResponseProperty("SecureNote");null!=f&&(e.secureNote=new p.SecureNoteApi(f));var v=e.getResponseProperty("Fields");null!=v&&(e.fields=v.map(function(n){return new s.FieldApi(n)}));var h=e.getResponseProperty("Attachments");null!=h&&(e.attachments=h.map(function(n){return new r.AttachmentResponse(n)}));var g=e.getResponseProperty("PasswordHistory");return null!=g&&(e.passwordHistory=g.map(function(n){return new i.PasswordHistoryResponse(n)})),e}return u(l,n),l}(o.BaseResponse);l.CipherResponse=f},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(35),o=e(277),i=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.organizationId=e.getResponseProperty("OrganizationId"),e.name=e.getResponseProperty("Name"),e}return u(l,n),l}(r.BaseResponse);l.CollectionResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;return e.readOnly=e.getResponseProperty("ReadOnly")||!1,e}return u(l,n),l}(i);l.CollectionDetailsResponse=a;var s=function(n){function l(l){var e=n.call(this,l)||this;e.groups=[];var t=e.getResponseProperty("Groups");return null!=t&&(e.groups=t.map(function(n){return new o.SelectionReadOnlyResponse(n)})),e}return u(l,n),l}(i);l.CollectionGroupDetailsResponse=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(35),o=e(947),i=function(n){function l(l){var e=n.call(this,l)||this;e.globalEquivalentDomains=[],e.equivalentDomains=e.getResponseProperty("EquivalentDomains");var t=e.getResponseProperty("GlobalEquivalentDomains");return e.globalEquivalentDomains=null!=t?t.map(function(n){return new o.GlobalDomainResponse(n)}):[],e}return u(l,n),l}(r.BaseResponse);l.DomainsResponse=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.name=e.getResponseProperty("Name"),e.revisionDate=e.getResponseProperty("RevisionDate"),e}return u(l,n),l}(e(35).BaseResponse);l.FolderResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.name=e.getResponseProperty("Name"),e.businessName=e.getResponseProperty("BusinessName"),e.businessAddress1=e.getResponseProperty("BusinessAddress1"),e.businessAddress2=e.getResponseProperty("BusinessAddress2"),e.businessAddress3=e.getResponseProperty("BusinessAddress3"),e.businessCountry=e.getResponseProperty("BusinessCountry"),e.businessTaxNumber=e.getResponseProperty("BusinessTaxNumber"),e.billingEmail=e.getResponseProperty("BillingEmail"),e.plan=e.getResponseProperty("Plan"),e.planType=e.getResponseProperty("PlanType"),e.seats=e.getResponseProperty("Seats"),e.maxCollections=e.getResponseProperty("MaxCollections"),e.maxStorageGb=e.getResponseProperty("MaxStorageGb"),e.useGroups=e.getResponseProperty("UseGroups"),e.useDirectory=e.getResponseProperty("UseDirectory"),e.useEvents=e.getResponseProperty("UseEvents"),e.useTotp=e.getResponseProperty("UseTotp"),e.use2fa=e.getResponseProperty("Use2fa"),e.useApi=e.getResponseProperty("UseApi"),e}return u(l,n),l}(e(35).BaseResponse);l.OrganizationResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(35),o=function(n){function l(l){var e=n.call(this,l)||this;e.storageName=e.getResponseProperty("StorageName"),e.storageGb=e.getResponseProperty("StorageGb"),e.maxStorageGb=e.getResponseProperty("MaxStorageGb"),e.license=e.getResponseProperty("License"),e.expiration=e.getResponseProperty("Expiration");var t=e.getResponseProperty("Subscription"),u=e.getResponseProperty("UpcomingInvoice");return e.subscription=null==t?null:new i(t),e.upcomingInvoice=null==u?null:new s(u),e}return u(l,n),l}(r.BaseResponse);l.SubscriptionResponse=o;var i=function(n){function l(l){var e=n.call(this,l)||this;e.items=[],e.trialEndDate=e.getResponseProperty("TrialStartDate"),e.trialEndDate=e.getResponseProperty("TrialEndDate"),e.periodStartDate=e.getResponseProperty("PeriodStartDate"),e.periodEndDate=e.getResponseProperty("PeriodEndDate"),e.cancelledDate=e.getResponseProperty("CancelledDate"),e.cancelAtEndDate=e.getResponseProperty("CancelAtEndDate"),e.status=e.getResponseProperty("Status"),e.cancelled=e.getResponseProperty("Cancelled");var t=e.getResponseProperty("Items");return null!=t&&(e.items=t.map(function(n){return new a(n)})),e}return u(l,n),l}(r.BaseResponse);l.BillingSubscriptionResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;return e.name=e.getResponseProperty("Name"),e.amount=e.getResponseProperty("Amount"),e.quantity=e.getResponseProperty("Quantity"),e.interval=e.getResponseProperty("Interval"),e}return u(l,n),l}(r.BaseResponse);l.BillingSubscriptionItemResponse=a;var s=function(n){function l(l){var e=n.call(this,l)||this;return e.date=e.getResponseProperty("Date"),e.amount=e.getResponseProperty("Amount"),e}return u(l,n),l}(r.BaseResponse);l.BillingSubscriptionUpcomingInvoiceResponse=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(35),o=e(957),i=function(n){function l(l){var e=n.call(this,l)||this;e.organizations=[],e.id=e.getResponseProperty("Id"),e.name=e.getResponseProperty("Name"),e.email=e.getResponseProperty("Email"),e.emailVerified=e.getResponseProperty("EmailVerified"),e.masterPasswordHint=e.getResponseProperty("MasterPasswordHint"),e.premium=e.getResponseProperty("Premium"),e.culture=e.getResponseProperty("Culture"),e.twoFactorEnabled=e.getResponseProperty("TwoFactorEnabled"),e.key=e.getResponseProperty("Key"),e.privateKey=e.getResponseProperty("PrivateKey"),e.securityStamp=e.getResponseProperty("SecurityStamp");var t=e.getResponseProperty("Organizations");return null!=t&&(e.organizations=t.map(function(n){return new o.ProfileOrganizationResponse(n)})),e}return u(l,n),l}(r.BaseResponse);l.ProfileResponse=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=0;i--)(u=n[i])&&(o=(r<3?u(o):r>3?u(l,e,o):u(l,e))||o);return r>3&&o&&Object.defineProperty(l,e,o),o},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=0;i--)(u=n[i])&&(o=(r<3?u(o):r>3?u(l,e,o):u(l,e))||o);return r>3&&o&&Object.defineProperty(l,e,o),o},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]5&&(n.passwordHistory=n.passwordHistory.slice(0,5)),o.label=5;case 5:return(c=new f.Cipher).id=n.id,c.folderId=n.folderId,c.favorite=n.favorite,c.organizationId=n.organizationId,c.type=n.type,c.collectionIds=n.collectionIds,null!=l||null==c.organizationId?[3,7]:[4,this.cryptoService.getOrgKey(c.organizationId)];case 6:if(null==(l=o.sent()))throw new Error("Cannot encrypt cipher for organization. No key.");o.label=7;case 7:return[4,Promise.all([this.encryptObjProperty(n,c,{name:null,notes:null},l),this.encryptCipherData(c,n,l),this.encryptFields(n.fields,l).then(function(n){c.fields=n}),this.encryptPasswordHistories(n.passwordHistory,l).then(function(n){c.passwordHistory=n}),this.encryptAttachments(n.attachments,l).then(function(n){c.attachments=n})])];case 8:return o.sent(),[2,c]}})})},l.prototype.encryptAttachments=function(n,l){return r(this,void 0,void 0,function(){var e,t,u=this;return o(this,function(i){switch(i.label){case 0:return null==n||0===n.length?[2,null]:(e=[],t=[],n.forEach(function(n){return r(u,void 0,void 0,function(){var u,i,a=this;return o(this,function(s){return(u=new d.Attachment).id=n.id,u.size=n.size,u.sizeName=n.sizeName,u.url=n.url,i=this.encryptObjProperty(n,u,{fileName:null},l).then(function(){return r(a,void 0,void 0,function(){var e;return o(this,function(r){switch(r.label){case 0:return null==n.key?[3,2]:(e=u,[4,this.cryptoService.encrypt(n.key.key,l)]);case 1:e.key=r.sent(),r.label=2;case 2:return t.push(u),[2]}})})}),e.push(i),[2]})})}),[4,Promise.all(e)]);case 1:return i.sent(),[2,t]}})})},l.prototype.encryptFields=function(n,l){return r(this,void 0,void 0,function(){var e,t;return o(this,function(u){switch(u.label){case 0:return n&&n.length?(e=this,t=[],[4,n.reduce(function(n,u){return n.then(function(){return e.encryptField(u,l)}).then(function(n){t.push(n)})},Promise.resolve())]):[2,null];case 1:return u.sent(),[2,t]}})})},l.prototype.encryptField=function(n,l){return r(this,void 0,void 0,function(){var e;return o(this,function(t){switch(t.label){case 0:return(e=new v.Field).type=n.type,n.type===a.FieldType.Boolean&&"true"!==n.value&&(n.value="false"),[4,this.encryptObjProperty(n,e,{name:null,value:null},l)];case 1:return t.sent(),[2,e]}})})},l.prototype.encryptPasswordHistories=function(n,l){return r(this,void 0,void 0,function(){var e,t;return o(this,function(u){switch(u.label){case 0:return n&&n.length?(e=this,t=[],[4,n.reduce(function(n,u){return n.then(function(){return e.encryptPasswordHistory(u,l)}).then(function(n){t.push(n)})},Promise.resolve())]):[2,null];case 1:return u.sent(),[2,t]}})})},l.prototype.encryptPasswordHistory=function(n,l){return r(this,void 0,void 0,function(){var e;return o(this,function(t){switch(t.label){case 0:return(e=new y.Password).lastUsedDate=n.lastUsedDate,[4,this.encryptObjProperty(n,e,{password:null},l)];case 1:return t.sent(),[2,e]}})})},l.prototype.get=function(n){return r(this,void 0,void 0,function(){var l,e,t;return o(this,function(u){switch(u.label){case 0:return[4,this.userService.getUserId()];case 1:return l=u.sent(),[4,this.storageService.get(E)];case 2:return e=u.sent(),[4,this.storageService.get(N+l)];case 3:return null!=(t=u.sent())&&t.hasOwnProperty(n)?[2,new f.Cipher(t[n],!1,e?e[n]:null)]:[2,null]}})})},l.prototype.getAll=function(){return r(this,void 0,void 0,function(){var n,l,e,t,u;return o(this,function(r){switch(r.label){case 0:return[4,this.userService.getUserId()];case 1:return n=r.sent(),[4,this.storageService.get(E)];case 2:return l=r.sent(),[4,this.storageService.get(N+n)];case 3:for(u in e=r.sent(),t=[],e)e.hasOwnProperty(u)&&t.push(new f.Cipher(e[u],!1,l?l[u]:null));return[2,t]}})})},l.prototype.getAllDecrypted=function(){return r(this,void 0,void 0,function(){var n,l;return o(this,function(e){switch(e.label){case 0:return null!=this.decryptedCipherCache?[2,this.decryptedCipherCache]:(n=[],[4,this.cryptoService.hasKey()]);case 1:if(!e.sent())throw new Error("No key.");return l=[],[4,this.getAll()];case 2:return e.sent().forEach(function(e){l.push(e.decrypt().then(function(l){return n.push(l)}))}),[4,Promise.all(l)];case 3:return e.sent(),n.sort(this.getLocaleSortingFunction()),this.decryptedCipherCache=n,[2,this.decryptedCipherCache]}})})},l.prototype.getAllDecryptedForGrouping=function(n,l){return void 0===l&&(l=!0),r(this,void 0,void 0,function(){return o(this,function(e){switch(e.label){case 0:return[4,this.getAllDecrypted()];case 1:return[2,e.sent().filter(function(e){return!(!l||e.folderId!==n)||!l&&null!=e.collectionIds&&e.collectionIds.indexOf(n)>-1})]}})})},l.prototype.getAllDecryptedForUrl=function(n,l){return r(this,void 0,void 0,function(){var e,t,u,r,a,c;return o(this,function(o){switch(o.label){case 0:return null!=n||l?(e=T.Utils.getDomain(n),t=null==e?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(n){var l=[];return n.forEach(function(n){n.length&&n.indexOf(e)>=0&&(l=l.concat(n))}),l.length||l.push(e),l}),[4,Promise.all([t,this.getAllDecrypted()])]):[2,Promise.resolve([])];case 1:return u=o.sent(),r=u[0],a=u[1],[4,this.storageService.get(O.ConstantsService.defaultUriMatch)];case 2:return null==(c=o.sent())&&(c=s.UriMatchType.Domain),[2,a.filter(function(t){if(l&&l.indexOf(t.type)>-1)return!0;if(null!=n&&t.type===i.CipherType.Login&&null!=t.login.uris)for(var u=0;u-1){if(!x.has(o.domain))return!0;var a=T.Utils.getHost(n);if(!x.get(o.domain).has(a))return!0}break;case s.UriMatchType.Host:var d=T.Utils.getHost(n);if(null!=d&&d===T.Utils.getHost(o.uri))return!0;break;case s.UriMatchType.Exact:if(n===o.uri)return!0;break;case s.UriMatchType.StartsWith:if(n.startsWith(o.uri))return!0;break;case s.UriMatchType.RegularExpression:try{if(new RegExp(o.uri,"i").test(n))return!0}catch(n){}break;case s.UriMatchType.Never:}}return!1})]}})})},l.prototype.getAllFromApiForOrganization=function(n){return r(this,void 0,void 0,function(){var l,e,t;return o(this,function(u){switch(u.label){case 0:return[4,this.apiService.getCiphersOrganization(n)];case 1:return null!=(l=u.sent())&&null!=l.data&&l.data.length?(e=[],t=[],l.data.forEach(function(n){var l=new c.CipherData(n),u=new f.Cipher(l);t.push(u.decrypt().then(function(n){return e.push(n)}))}),[4,Promise.all(t)]):[3,3];case 2:return u.sent(),e.sort(this.getLocaleSortingFunction()),[2,e];case 3:return[2,[]]}})})},l.prototype.getLastUsedForUrl=function(n){return r(this,void 0,void 0,function(){var l;return o(this,function(e){switch(e.label){case 0:return[4,this.getAllDecryptedForUrl(n)];case 1:return 0===(l=e.sent()).length?[2,null]:[2,l.sort(this.sortCiphersByLastUsed)[0]]}})})},l.prototype.updateLastUsedDate=function(n){return r(this,void 0,void 0,function(){var l,e,t;return o(this,function(u){switch(u.label){case 0:return[4,this.storageService.get(E)];case 1:return(l=u.sent())||(l={}),l[n]?l[n].lastUsedDate=(new Date).getTime():l[n]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(E,l)];case 2:if(u.sent(),null==this.decryptedCipherCache)return[2];for(e=0;et?-1:null!=t&&null==e?1:0},l.prototype.sortCiphersByLastUsedThenName=function(n,l){var e=this.sortCiphersByLastUsed(n,l);return 0!==e?e:this.getLocaleSortingFunction()(n,l)},l.prototype.getLocaleSortingFunction=function(){var n=this;return function(l,e){var t=l.name,u=e.name;if(null==t&&null!=u)return-1;if(null!=t&&null==u)return 1;if(null==t&&null==u)return 0;var r=n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u);return 0!==r||l.type!==i.CipherType.Login||e.type!==i.CipherType.Login?r:(null!=l.login.username&&(t+=l.login.username),null!=e.login.username&&(u+=e.login.username),n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u))}},l.prototype.shareAttachmentWithServer=function(l,e,t){return r(this,void 0,void 0,function(){var u,r,i,a,s,c,d,p,f,v;return o(this,function(o){switch(o.label){case 0:return[4,fetch(new Request(l.url,{cache:"no-cache"}))];case 1:if(200!==(u=o.sent()).status)throw Error("Failed to download attachment: "+u.status.toString());return[4,u.arrayBuffer()];case 2:return r=o.sent(),[4,this.cryptoService.decryptFromBytes(r,null)];case 3:return i=o.sent(),[4,this.cryptoService.getOrgKey(t)];case 4:return a=o.sent(),[4,this.cryptoService.encrypt(l.fileName,a)];case 5:return s=o.sent(),[4,this.cryptoService.makeEncKey(a)];case 6:return c=o.sent(),[4,this.cryptoService.encryptToBytes(i,c[0])];case 7:d=o.sent(),p=new FormData;try{p.append("key",c[1].encryptedString),f=new Blob([d],{type:"application/octet-stream"}),p.append("data",f,s.encryptedString)}catch(l){if(!T.Utils.isNode||T.Utils.isBrowser)throw l;p.append("key",c[1].encryptedString),p.append("data",n.from(d),{filepath:s.encryptedString,contentType:"application/octet-stream"})}o.label=8;case 8:return o.trys.push([8,10,,11]),[4,this.apiService.postShareCipherAttachment(e,l.id,p,t)];case 9:return o.sent(),[3,11];case 10:throw v=o.sent(),new Error(v.getSingleMessage());case 11:return[2]}})})},l.prototype.encryptObjProperty=function(n,l,e,t){return r(this,void 0,void 0,function(){var u,r,i;return o(this,function(o){switch(o.label){case 0:for(i in u=[],r=this,e)e.hasOwnProperty(i)&&function(l,o){var i=Promise.resolve().then(function(){var u=n[e[l]||l];return u&&""!==u?r.cryptoService.encrypt(u,t):null}).then(function(n){o[l]=n});u.push(i)}(i,l);return[4,Promise.all(u)];case 1:return o.sent(),[2]}})})},l.prototype.encryptCipherData=function(n,l,e){return r(this,void 0,void 0,function(){var t,u;return o(this,function(r){switch(r.label){case 0:switch(n.type){case i.CipherType.Login:return[3,1];case i.CipherType.SecureNote:return[3,7];case i.CipherType.Card:return[3,8];case i.CipherType.Identity:return[3,10]}return[3,12];case 1:return n.login=new g.Login,n.login.passwordRevisionDate=l.login.passwordRevisionDate,[4,this.encryptObjProperty(l.login,n.login,{username:null,password:null,totp:null},e)];case 2:if(r.sent(),null==l.login.uris)return[3,6];n.login.uris=[],t=0,r.label=3;case 3:return t0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=0;i--)(u=n[i])&&(o=(r<3?u(o):r>3?u(l,e,o):u(l,e))||o);return r>3&&o&&Object.defineProperty(l,e,o),o},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?[2,this.orgKeys]:[4,this.storageService.get(y)];case 1:if(null==(n=o.sent()))return[2,null];for(u in l=new Map,e=!1,t=[],n)t.push(u);r=0,o.label=2;case 2:return r53)throw new Error("We cannot generate numbers larger than 53 bits.");return r=Math.ceil(u/8),i=Math.pow(2,u)-1,s=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(r)];case 1:for(a=new(s.apply(Uint8Array,[void 0,o.sent()])),c=8*(r-1),d=0;d=t?[2,this.randomNumber(n,l)]:[2,n+e]}})})},n.prototype.aesEncrypt=function(n,l){return r(this,void 0,void 0,function(){var e,t,u,r,i,a;return o(this,function(o){switch(o.label){case 0:return e=new d.EncryptedObject,t=e,[4,this.getKeyForEncryption(l)];case 1:return t.key=o.sent(),u=e,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return u.iv=o.sent(),r=e,[4,this.cryptoFunctionService.aesEncrypt(n,e.iv,e.key.encKey)];case 3:return r.data=o.sent(),null==e.key.macKey?[3,5]:((i=new Uint8Array(e.iv.byteLength+e.data.byteLength)).set(new Uint8Array(e.iv),0),i.set(new Uint8Array(e.data),e.iv.byteLength),a=e,[4,this.cryptoFunctionService.hmac(i.buffer,e.key.macKey,"sha256")]);case 4:a.mac=o.sent(),o.label=5;case 5:return[2,e]}})})},n.prototype.aesDecryptToUtf8=function(n,l,e,t,u){return r(this,void 0,void 0,function(){var r,i,a,s;return o(this,function(o){switch(o.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return r=o.sent(),null!=(i=this.resolveLegacyKey(n,r)).macKey&&null==t?(console.error("mac required."),[2,null]):i.encType!==n?(console.error("encType unavailable."),[2,null]):null==(a=this.cryptoFunctionService.aesDecryptFastParameters(l,e,t,i)).macKey||null==a.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(a.macData,a.macKey,"sha256")];case 2:return s=o.sent(),[4,this.cryptoFunctionService.compareFast(a.mac,s)];case 3:if(!o.sent())return console.error("mac failed."),[2,null];o.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(a)]}})})},n.prototype.aesDecryptToBytes=function(n,l,e,t,u){return r(this,void 0,void 0,function(){var r,i,a,s;return o(this,function(o){switch(o.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return r=o.sent(),null!=(i=this.resolveLegacyKey(n,r)).macKey&&null==t?[2,null]:i.encType!==n?[2,null]:null==i.macKey||null==t?[3,4]:((a=new Uint8Array(e.byteLength+l.byteLength)).set(new Uint8Array(e),0),a.set(new Uint8Array(l),e.byteLength),[4,this.cryptoFunctionService.hmac(a.buffer,i.macKey,"sha256")]);case 2:return null===(s=o.sent())?[2,null]:[4,this.cryptoFunctionService.compare(t,s)];case 3:if(!o.sent())return console.error("mac failed."),[2,null];o.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(l,e,i.encKey)];case 5:return[2,o.sent()]}})})},n.prototype.rsaDecrypt=function(n){return r(this,void 0,void 0,function(){var l,e,t,u,r,i;return o(this,function(o){switch(o.label){case 0:if(l=n.split("."),e=null,1===l.length)e=a.EncryptionType.Rsa2048_OaepSha256_B64,t=[l[0]];else if(2===l.length)try{e=parseInt(l[0],null),t=l[1].split("|")}catch(n){}switch(e){case a.EncryptionType.Rsa2048_OaepSha256_B64:case a.EncryptionType.Rsa2048_OaepSha1_B64:case a.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:case a.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}if(null==t||t.length<=0)throw new Error("encPieces unavailable.");return u=h.Utils.fromB64ToArray(t[0]).buffer,[4,this.getPrivateKey()];case 1:if(null==(r=o.sent()))throw new Error("No private key.");switch(i="sha1",e){case a.EncryptionType.Rsa2048_OaepSha256_B64:case a.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:i="sha256";break;case a.EncryptionType.Rsa2048_OaepSha1_B64:case a.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}return[2,this.cryptoFunctionService.rsaDecrypt(u,r,i)]}})})},n.prototype.getKeyForEncryption=function(n){return r(this,void 0,void 0,function(){var l;return o(this,function(e){switch(e.label){case 0:return null!=n?[2,n]:[4,this.getEncKey()];case 1:return null!=(l=e.sent())?[2,l]:[4,this.getKey()];case 2:return[2,e.sent()]}})})},n.prototype.resolveLegacyKey=function(n,l){return n===a.EncryptionType.AesCbc128_HmacSha256_B64&&l.encType===a.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new p.SymmetricCryptoKey(l.key,a.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):l},n.prototype.stretchKey=function(n){return r(this,void 0,void 0,function(){var l,e,t,u,r;return o(this,function(o){switch(o.label){case 0:return l=new Uint8Array(64),t=(e=l).set,[4,this.hkdfExpand(n.key,h.Utils.fromUtf8ToArray("enc"),32)];case 1:return t.apply(e,[o.sent()]),r=(u=l).set,[4,this.hkdfExpand(n.key,h.Utils.fromUtf8ToArray("mac"),32)];case 2:return r.apply(u,[o.sent(),32]),[2,new p.SymmetricCryptoKey(l.buffer)]}})})},n.prototype.hkdfExpand=function(n,l,e){return r(this,void 0,void 0,function(){var t,u,r,i,a,s,c;return o(this,function(o){switch(o.label){case 0:t=32,u=new Uint8Array(e),r=new Uint8Array(0),i=Math.ceil(e/t),a=0,o.label=1;case 1:return ar)throw new Error("Output entropy of hash function is too small");for(a=[],s=i.fromArray(u,256);t--;)c=s.mod(g.EEFLongWordList.length),s=s.divide(g.EEFLongWordList.length),a.push(g.EEFLongWordList[c]);return[2,a]})})},n.prototype.buildEncKey=function(n,l){return void 0===l&&(l=null),r(this,void 0,void 0,function(){var e,t;return o(this,function(u){switch(u.label){case 0:return e=null,32!==n.key.byteLength?[3,3]:[4,this.stretchKey(n)];case 1:return t=u.sent(),[4,this.encrypt(l,t)];case 2:return e=u.sent(),[3,6];case 3:return 64!==n.key.byteLength?[3,5]:[4,this.encrypt(l,n)];case 4:return e=u.sent(),[3,6];case 5:throw new Error("Invalid key size.");case 6:return[2,[new p.SymmetricCryptoKey(l),e]]}})})},t([v.sequentialize(S),u("design:type",Function),u("design:paramtypes",[]),u("design:returntype",Promise)],n.prototype,"getEncKey",null),t([v.sequentialize(_),u("design:type",Function),u("design:paramtypes",[]),u("design:returntype",Promise)],n.prototype,"getOrgKeys",null),n}();l.CryptoService=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),l.EEFLongWordList=["abacus","abdomen","abdominal","abide","abiding","ability","ablaze","able","abnormal","abrasion","abrasive","abreast","abridge","abroad","abruptly","absence","absentee","absently","absinthe","absolute","absolve","abstain","abstract","absurd","accent","acclaim","acclimate","accompany","account","accuracy","accurate","accustom","acetone","achiness","aching","acid","acorn","acquaint","acquire","acre","acrobat","acronym","acting","action","activate","activator","active","activism","activist","activity","actress","acts","acutely","acuteness","aeration","aerobics","aerosol","aerospace","afar","affair","affected","affecting","affection","affidavit","affiliate","affirm","affix","afflicted","affluent","afford","affront","aflame","afloat","aflutter","afoot","afraid","afterglow","afterlife","aftermath","aftermost","afternoon","aged","ageless","agency","agenda","agent","aggregate","aghast","agile","agility","aging","agnostic","agonize","agonizing","agony","agreeable","agreeably","agreed","agreeing","agreement","aground","ahead","ahoy","aide","aids","aim","ajar","alabaster","alarm","albatross","album","alfalfa","algebra","algorithm","alias","alibi","alienable","alienate","aliens","alike","alive","alkaline","alkalize","almanac","almighty","almost","aloe","aloft","aloha","alone","alongside","aloof","alphabet","alright","although","altitude","alto","aluminum","alumni","always","amaretto","amaze","amazingly","amber","ambiance","ambiguity","ambiguous","ambition","ambitious","ambulance","ambush","amendable","amendment","amends","amenity","amiable","amicably","amid","amigo","amino","amiss","ammonia","ammonium","amnesty","amniotic","among","amount","amperage","ample","amplifier","amplify","amply","amuck","amulet","amusable","amused","amusement","amuser","amusing","anaconda","anaerobic","anagram","anatomist","anatomy","anchor","anchovy","ancient","android","anemia","anemic","aneurism","anew","angelfish","angelic","anger","angled","angler","angles","angling","angrily","angriness","anguished","angular","animal","animate","animating","animation","animator","anime","animosity","ankle","annex","annotate","announcer","annoying","annually","annuity","anointer","another","answering","antacid","antarctic","anteater","antelope","antennae","anthem","anthill","anthology","antibody","antics","antidote","antihero","antiquely","antiques","antiquity","antirust","antitoxic","antitrust","antiviral","antivirus","antler","antonym","antsy","anvil","anybody","anyhow","anymore","anyone","anyplace","anything","anytime","anyway","anywhere","aorta","apache","apostle","appealing","appear","appease","appeasing","appendage","appendix","appetite","appetizer","applaud","applause","apple","appliance","applicant","applied","apply","appointee","appraisal","appraiser","apprehend","approach","approval","approve","apricot","april","apron","aptitude","aptly","aqua","aqueduct","arbitrary","arbitrate","ardently","area","arena","arguable","arguably","argue","arise","armadillo","armband","armchair","armed","armful","armhole","arming","armless","armoire","armored","armory","armrest","army","aroma","arose","around","arousal","arrange","array","arrest","arrival","arrive","arrogance","arrogant","arson","art","ascend","ascension","ascent","ascertain","ashamed","ashen","ashes","ashy","aside","askew","asleep","asparagus","aspect","aspirate","aspire","aspirin","astonish","astound","astride","astrology","astronaut","astronomy","astute","atlantic","atlas","atom","atonable","atop","atrium","atrocious","atrophy","attach","attain","attempt","attendant","attendee","attention","attentive","attest","attic","attire","attitude","attractor","attribute","atypical","auction","audacious","audacity","audible","audibly","audience","audio","audition","augmented","august","authentic","author","autism","autistic","autograph","automaker","automated","automatic","autopilot","available","avalanche","avatar","avenge","avenging","avenue","average","aversion","avert","aviation","aviator","avid","avoid","await","awaken","award","aware","awhile","awkward","awning","awoke","awry","axis","babble","babbling","babied","baboon","backache","backboard","backboned","backdrop","backed","backer","backfield","backfire","backhand","backing","backlands","backlash","backless","backlight","backlit","backlog","backpack","backpedal","backrest","backroom","backshift","backside","backslid","backspace","backspin","backstab","backstage","backtalk","backtrack","backup","backward","backwash","backwater","backyard","bacon","bacteria","bacterium","badass","badge","badland","badly","badness","baffle","baffling","bagel","bagful","baggage","bagged","baggie","bagginess","bagging","baggy","bagpipe","baguette","baked","bakery","bakeshop","baking","balance","balancing","balcony","balmy","balsamic","bamboo","banana","banish","banister","banjo","bankable","bankbook","banked","banker","banking","banknote","bankroll","banner","bannister","banshee","banter","barbecue","barbed","barbell","barber","barcode","barge","bargraph","barista","baritone","barley","barmaid","barman","barn","barometer","barrack","barracuda","barrel","barrette","barricade","barrier","barstool","bartender","barterer","bash","basically","basics","basil","basin","basis","basket","batboy","batch","bath","baton","bats","battalion","battered","battering","battery","batting","battle","bauble","bazooka","blabber","bladder","blade","blah","blame","blaming","blanching","blandness","blank","blaspheme","blasphemy","blast","blatancy","blatantly","blazer","blazing","bleach","bleak","bleep","blemish","blend","bless","blighted","blimp","bling","blinked","blinker","blinking","blinks","blip","blissful","blitz","blizzard","bloated","bloating","blob","blog","bloomers","blooming","blooper","blot","blouse","blubber","bluff","bluish","blunderer","blunt","blurb","blurred","blurry","blurt","blush","blustery","boaster","boastful","boasting","boat","bobbed","bobbing","bobble","bobcat","bobsled","bobtail","bodacious","body","bogged","boggle","bogus","boil","bok","bolster","bolt","bonanza","bonded","bonding","bondless","boned","bonehead","boneless","bonelike","boney","bonfire","bonnet","bonsai","bonus","bony","boogeyman","boogieman","book","boondocks","booted","booth","bootie","booting","bootlace","bootleg","boots","boozy","borax","boring","borough","borrower","borrowing","boss","botanical","botanist","botany","botch","both","bottle","bottling","bottom","bounce","bouncing","bouncy","bounding","boundless","bountiful","bovine","boxcar","boxer","boxing","boxlike","boxy","breach","breath","breeches","breeching","breeder","breeding","breeze","breezy","brethren","brewery","brewing","briar","bribe","brick","bride","bridged","brigade","bright","brilliant","brim","bring","brink","brisket","briskly","briskness","bristle","brittle","broadband","broadcast","broaden","broadly","broadness","broadside","broadways","broiler","broiling","broken","broker","bronchial","bronco","bronze","bronzing","brook","broom","brought","browbeat","brownnose","browse","browsing","bruising","brunch","brunette","brunt","brush","brussels","brute","brutishly","bubble","bubbling","bubbly","buccaneer","bucked","bucket","buckle","buckshot","buckskin","bucktooth","buckwheat","buddhism","buddhist","budding","buddy","budget","buffalo","buffed","buffer","buffing","buffoon","buggy","bulb","bulge","bulginess","bulgur","bulk","bulldog","bulldozer","bullfight","bullfrog","bullhorn","bullion","bullish","bullpen","bullring","bullseye","bullwhip","bully","bunch","bundle","bungee","bunion","bunkbed","bunkhouse","bunkmate","bunny","bunt","busboy","bush","busily","busload","bust","busybody","buzz","cabana","cabbage","cabbie","cabdriver","cable","caboose","cache","cackle","cacti","cactus","caddie","caddy","cadet","cadillac","cadmium","cage","cahoots","cake","calamari","calamity","calcium","calculate","calculus","caliber","calibrate","calm","caloric","calorie","calzone","camcorder","cameo","camera","camisole","camper","campfire","camping","campsite","campus","canal","canary","cancel","candied","candle","candy","cane","canine","canister","cannabis","canned","canning","cannon","cannot","canola","canon","canopener","canopy","canteen","canyon","capable","capably","capacity","cape","capillary","capital","capitol","capped","capricorn","capsize","capsule","caption","captivate","captive","captivity","capture","caramel","carat","caravan","carbon","cardboard","carded","cardiac","cardigan","cardinal","cardstock","carefully","caregiver","careless","caress","caretaker","cargo","caring","carless","carload","carmaker","carnage","carnation","carnival","carnivore","carol","carpenter","carpentry","carpool","carport","carried","carrot","carrousel","carry","cartel","cartload","carton","cartoon","cartridge","cartwheel","carve","carving","carwash","cascade","case","cash","casing","casino","casket","cassette","casually","casualty","catacomb","catalog","catalyst","catalyze","catapult","cataract","catatonic","catcall","catchable","catcher","catching","catchy","caterer","catering","catfight","catfish","cathedral","cathouse","catlike","catnap","catnip","catsup","cattail","cattishly","cattle","catty","catwalk","caucasian","caucus","causal","causation","cause","causing","cauterize","caution","cautious","cavalier","cavalry","caviar","cavity","cedar","celery","celestial","celibacy","celibate","celtic","cement","census","ceramics","ceremony","certainly","certainty","certified","certify","cesarean","cesspool","chafe","chaffing","chain","chair","chalice","challenge","chamber","chamomile","champion","chance","change","channel","chant","chaos","chaperone","chaplain","chapped","chaps","chapter","character","charbroil","charcoal","charger","charging","chariot","charity","charm","charred","charter","charting","chase","chasing","chaste","chastise","chastity","chatroom","chatter","chatting","chatty","cheating","cheddar","cheek","cheer","cheese","cheesy","chef","chemicals","chemist","chemo","cherisher","cherub","chess","chest","chevron","chevy","chewable","chewer","chewing","chewy","chief","chihuahua","childcare","childhood","childish","childless","childlike","chili","chill","chimp","chip","chirping","chirpy","chitchat","chivalry","chive","chloride","chlorine","choice","chokehold","choking","chomp","chooser","choosing","choosy","chop","chosen","chowder","chowtime","chrome","chubby","chuck","chug","chummy","chump","chunk","churn","chute","cider","cilantro","cinch","cinema","cinnamon","circle","circling","circular","circulate","circus","citable","citadel","citation","citizen","citric","citrus","city","civic","civil","clad","claim","clambake","clammy","clamor","clamp","clamshell","clang","clanking","clapped","clapper","clapping","clarify","clarinet","clarity","clash","clasp","class","clatter","clause","clavicle","claw","clay","clean","clear","cleat","cleaver","cleft","clench","clergyman","clerical","clerk","clever","clicker","client","climate","climatic","cling","clinic","clinking","clip","clique","cloak","clobber","clock","clone","cloning","closable","closure","clothes","clothing","cloud","clover","clubbed","clubbing","clubhouse","clump","clumsily","clumsy","clunky","clustered","clutch","clutter","coach","coagulant","coastal","coaster","coasting","coastland","coastline","coat","coauthor","cobalt","cobbler","cobweb","cocoa","coconut","cod","coeditor","coerce","coexist","coffee","cofounder","cognition","cognitive","cogwheel","coherence","coherent","cohesive","coil","coke","cola","cold","coleslaw","coliseum","collage","collapse","collar","collected","collector","collide","collie","collision","colonial","colonist","colonize","colony","colossal","colt","coma","come","comfort","comfy","comic","coming","comma","commence","commend","comment","commerce","commode","commodity","commodore","common","commotion","commute","commuting","compacted","compacter","compactly","compactor","companion","company","compare","compel","compile","comply","component","composed","composer","composite","compost","composure","compound","compress","comprised","computer","computing","comrade","concave","conceal","conceded","concept","concerned","concert","conch","concierge","concise","conclude","concrete","concur","condense","condiment","condition","condone","conducive","conductor","conduit","cone","confess","confetti","confidant","confident","confider","confiding","configure","confined","confining","confirm","conflict","conform","confound","confront","confused","confusing","confusion","congenial","congested","congrats","congress","conical","conjoined","conjure","conjuror","connected","connector","consensus","consent","console","consoling","consonant","constable","constant","constrain","constrict","construct","consult","consumer","consuming","contact","container","contempt","contend","contented","contently","contents","contest","context","contort","contour","contrite","control","contusion","convene","convent","copartner","cope","copied","copier","copilot","coping","copious","copper","copy","coral","cork","cornball","cornbread","corncob","cornea","corned","corner","cornfield","cornflake","cornhusk","cornmeal","cornstalk","corny","coronary","coroner","corporal","corporate","corral","correct","corridor","corrode","corroding","corrosive","corsage","corset","cortex","cosigner","cosmetics","cosmic","cosmos","cosponsor","cost","cottage","cotton","couch","cough","could","countable","countdown","counting","countless","country","county","courier","covenant","cover","coveted","coveting","coyness","cozily","coziness","cozy","crabbing","crabgrass","crablike","crabmeat","cradle","cradling","crafter","craftily","craftsman","craftwork","crafty","cramp","cranberry","crane","cranial","cranium","crank","crate","crave","craving","crawfish","crawlers","crawling","crayfish","crayon","crazed","crazily","craziness","crazy","creamed","creamer","creamlike","crease","creasing","creatable","create","creation","creative","creature","credible","credibly","credit","creed","creme","creole","crepe","crept","crescent","crested","cresting","crestless","crevice","crewless","crewman","crewmate","crib","cricket","cried","crier","crimp","crimson","cringe","cringing","crinkle","crinkly","crisped","crisping","crisply","crispness","crispy","criteria","critter","croak","crock","crook","croon","crop","cross","crouch","crouton","crowbar","crowd","crown","crucial","crudely","crudeness","cruelly","cruelness","cruelty","crumb","crummiest","crummy","crumpet","crumpled","cruncher","crunching","crunchy","crusader","crushable","crushed","crusher","crushing","crust","crux","crying","cryptic","crystal","cubbyhole","cube","cubical","cubicle","cucumber","cuddle","cuddly","cufflink","culinary","culminate","culpable","culprit","cultivate","cultural","culture","cupbearer","cupcake","cupid","cupped","cupping","curable","curator","curdle","cure","curfew","curing","curled","curler","curliness","curling","curly","curry","curse","cursive","cursor","curtain","curtly","curtsy","curvature","curve","curvy","cushy","cusp","cussed","custard","custodian","custody","customary","customer","customize","customs","cut","cycle","cyclic","cycling","cyclist","cylinder","cymbal","cytoplasm","cytoplast","dab","dad","daffodil","dagger","daily","daintily","dainty","dairy","daisy","dallying","dance","dancing","dandelion","dander","dandruff","dandy","danger","dangle","dangling","daredevil","dares","daringly","darkened","darkening","darkish","darkness","darkroom","darling","darn","dart","darwinism","dash","dastardly","data","datebook","dating","daughter","daunting","dawdler","dawn","daybed","daybreak","daycare","daydream","daylight","daylong","dayroom","daytime","dazzler","dazzling","deacon","deafening","deafness","dealer","dealing","dealmaker","dealt","dean","debatable","debate","debating","debit","debrief","debtless","debtor","debug","debunk","decade","decaf","decal","decathlon","decay","deceased","deceit","deceiver","deceiving","december","decency","decent","deception","deceptive","decibel","decidable","decimal","decimeter","decipher","deck","declared","decline","decode","decompose","decorated","decorator","decoy","decrease","decree","dedicate","dedicator","deduce","deduct","deed","deem","deepen","deeply","deepness","deface","defacing","defame","default","defeat","defection","defective","defendant","defender","defense","defensive","deferral","deferred","defiance","defiant","defile","defiling","define","definite","deflate","deflation","deflator","deflected","deflector","defog","deforest","defraud","defrost","deftly","defuse","defy","degraded","degrading","degrease","degree","dehydrate","deity","dejected","delay","delegate","delegator","delete","deletion","delicacy","delicate","delicious","delighted","delirious","delirium","deliverer","delivery","delouse","delta","deluge","delusion","deluxe","demanding","demeaning","demeanor","demise","democracy","democrat","demote","demotion","demystify","denatured","deniable","denial","denim","denote","dense","density","dental","dentist","denture","deny","deodorant","deodorize","departed","departure","depict","deplete","depletion","deplored","deploy","deport","depose","depraved","depravity","deprecate","depress","deprive","depth","deputize","deputy","derail","deranged","derby","derived","desecrate","deserve","deserving","designate","designed","designer","designing","deskbound","desktop","deskwork","desolate","despair","despise","despite","destiny","destitute","destruct","detached","detail","detection","detective","detector","detention","detergent","detest","detonate","detonator","detoxify","detract","deuce","devalue","deviancy","deviant","deviate","deviation","deviator","device","devious","devotedly","devotee","devotion","devourer","devouring","devoutly","dexterity","dexterous","diabetes","diabetic","diabolic","diagnoses","diagnosis","diagram","dial","diameter","diaper","diaphragm","diary","dice","dicing","dictate","dictation","dictator","difficult","diffused","diffuser","diffusion","diffusive","dig","dilation","diligence","diligent","dill","dilute","dime","diminish","dimly","dimmed","dimmer","dimness","dimple","diner","dingbat","dinghy","dinginess","dingo","dingy","dining","dinner","diocese","dioxide","diploma","dipped","dipper","dipping","directed","direction","directive","directly","directory","direness","dirtiness","disabled","disagree","disallow","disarm","disarray","disaster","disband","disbelief","disburse","discard","discern","discharge","disclose","discolor","discount","discourse","discover","discuss","disdain","disengage","disfigure","disgrace","dish","disinfect","disjoin","disk","dislike","disliking","dislocate","dislodge","disloyal","dismantle","dismay","dismiss","dismount","disobey","disorder","disown","disparate","disparity","dispatch","dispense","dispersal","dispersed","disperser","displace","display","displease","disposal","dispose","disprove","dispute","disregard","disrupt","dissuade","distance","distant","distaste","distill","distinct","distort","distract","distress","district","distrust","ditch","ditto","ditzy","dividable","divided","dividend","dividers","dividing","divinely","diving","divinity","divisible","divisibly","division","divisive","divorcee","dizziness","dizzy","doable","docile","dock","doctrine","document","dodge","dodgy","doily","doing","dole","dollar","dollhouse","dollop","dolly","dolphin","domain","domelike","domestic","dominion","dominoes","donated","donation","donator","donor","donut","doodle","doorbell","doorframe","doorknob","doorman","doormat","doornail","doorpost","doorstep","doorstop","doorway","doozy","dork","dormitory","dorsal","dosage","dose","dotted","doubling","douche","dove","down","dowry","doze","drab","dragging","dragonfly","dragonish","dragster","drainable","drainage","drained","drainer","drainpipe","dramatic","dramatize","drank","drapery","drastic","draw","dreaded","dreadful","dreadlock","dreamboat","dreamily","dreamland","dreamless","dreamlike","dreamt","dreamy","drearily","dreary","drench","dress","drew","dribble","dried","drier","drift","driller","drilling","drinkable","drinking","dripping","drippy","drivable","driven","driver","driveway","driving","drizzle","drizzly","drone","drool","droop","drop-down","dropbox","dropkick","droplet","dropout","dropper","drove","drown","drowsily","drudge","drum","dry","dubbed","dubiously","duchess","duckbill","ducking","duckling","ducktail","ducky","duct","dude","duffel","dugout","duh","duke","duller","dullness","duly","dumping","dumpling","dumpster","duo","dupe","duplex","duplicate","duplicity","durable","durably","duration","duress","during","dusk","dust","dutiful","duty","duvet","dwarf","dweeb","dwelled","dweller","dwelling","dwindle","dwindling","dynamic","dynamite","dynasty","dyslexia","dyslexic","each","eagle","earache","eardrum","earflap","earful","earlobe","early","earmark","earmuff","earphone","earpiece","earplugs","earring","earshot","earthen","earthlike","earthling","earthly","earthworm","earthy","earwig","easeful","easel","easiest","easily","easiness","easing","eastbound","eastcoast","easter","eastward","eatable","eaten","eatery","eating","eats","ebay","ebony","ebook","ecard","eccentric","echo","eclair","eclipse","ecologist","ecology","economic","economist","economy","ecosphere","ecosystem","edge","edginess","edging","edgy","edition","editor","educated","education","educator","eel","effective","effects","efficient","effort","eggbeater","egging","eggnog","eggplant","eggshell","egomaniac","egotism","egotistic","either","eject","elaborate","elastic","elated","elbow","eldercare","elderly","eldest","electable","election","elective","elephant","elevate","elevating","elevation","elevator","eleven","elf","eligible","eligibly","eliminate","elite","elitism","elixir","elk","ellipse","elliptic","elm","elongated","elope","eloquence","eloquent","elsewhere","elude","elusive","elves","email","embargo","embark","embassy","embattled","embellish","ember","embezzle","emblaze","emblem","embody","embolism","emboss","embroider","emcee","emerald","emergency","emission","emit","emote","emoticon","emotion","empathic","empathy","emperor","emphases","emphasis","emphasize","emphatic","empirical","employed","employee","employer","emporium","empower","emptier","emptiness","empty","emu","enable","enactment","enamel","enchanted","enchilada","encircle","enclose","enclosure","encode","encore","encounter","encourage","encroach","encrust","encrypt","endanger","endeared","endearing","ended","ending","endless","endnote","endocrine","endorphin","endorse","endowment","endpoint","endurable","endurance","enduring","energetic","energize","energy","enforced","enforcer","engaged","engaging","engine","engorge","engraved","engraver","engraving","engross","engulf","enhance","enigmatic","enjoyable","enjoyably","enjoyer","enjoying","enjoyment","enlarged","enlarging","enlighten","enlisted","enquirer","enrage","enrich","enroll","enslave","ensnare","ensure","entail","entangled","entering","entertain","enticing","entire","entitle","entity","entomb","entourage","entrap","entree","entrench","entrust","entryway","entwine","enunciate","envelope","enviable","enviably","envious","envision","envoy","envy","enzyme","epic","epidemic","epidermal","epidermis","epidural","epilepsy","epileptic","epilogue","epiphany","episode","equal","equate","equation","equator","equinox","equipment","equity","equivocal","eradicate","erasable","erased","eraser","erasure","ergonomic","errand","errant","erratic","error","erupt","escalate","escalator","escapable","escapade","escapist","escargot","eskimo","esophagus","espionage","espresso","esquire","essay","essence","essential","establish","estate","esteemed","estimate","estimator","estranged","estrogen","etching","eternal","eternity","ethanol","ether","ethically","ethics","euphemism","evacuate","evacuee","evade","evaluate","evaluator","evaporate","evasion","evasive","even","everglade","evergreen","everybody","everyday","everyone","evict","evidence","evident","evil","evoke","evolution","evolve","exact","exalted","example","excavate","excavator","exceeding","exception","excess","exchange","excitable","exciting","exclaim","exclude","excluding","exclusion","exclusive","excretion","excretory","excursion","excusable","excusably","excuse","exemplary","exemplify","exemption","exerciser","exert","exes","exfoliate","exhale","exhaust","exhume","exile","existing","exit","exodus","exonerate","exorcism","exorcist","expand","expanse","expansion","expansive","expectant","expedited","expediter","expel","expend","expenses","expensive","expert","expire","expiring","explain","expletive","explicit","explode","exploit","explore","exploring","exponent","exporter","exposable","expose","exposure","express","expulsion","exquisite","extended","extending","extent","extenuate","exterior","external","extinct","extortion","extradite","extras","extrovert","extrude","extruding","exuberant","fable","fabric","fabulous","facebook","facecloth","facedown","faceless","facelift","faceplate","faceted","facial","facility","facing","facsimile","faction","factoid","factor","factsheet","factual","faculty","fade","fading","failing","falcon","fall","false","falsify","fame","familiar","family","famine","famished","fanatic","fancied","fanciness","fancy","fanfare","fang","fanning","fantasize","fantastic","fantasy","fascism","fastball","faster","fasting","fastness","faucet","favorable","favorably","favored","favoring","favorite","fax","feast","federal","fedora","feeble","feed","feel","feisty","feline","felt-tip","feminine","feminism","feminist","feminize","femur","fence","fencing","fender","ferment","fernlike","ferocious","ferocity","ferret","ferris","ferry","fervor","fester","festival","festive","festivity","fetal","fetch","fever","fiber","fiction","fiddle","fiddling","fidelity","fidgeting","fidgety","fifteen","fifth","fiftieth","fifty","figment","figure","figurine","filing","filled","filler","filling","film","filter","filth","filtrate","finale","finalist","finalize","finally","finance","financial","finch","fineness","finer","finicky","finished","finisher","finishing","finite","finless","finlike","fiscally","fit","five","flaccid","flagman","flagpole","flagship","flagstick","flagstone","flail","flakily","flaky","flame","flammable","flanked","flanking","flannels","flap","flaring","flashback","flashbulb","flashcard","flashily","flashing","flashy","flask","flatbed","flatfoot","flatly","flatness","flatten","flattered","flatterer","flattery","flattop","flatware","flatworm","flavored","flavorful","flavoring","flaxseed","fled","fleshed","fleshy","flick","flier","flight","flinch","fling","flint","flip","flirt","float","flock","flogging","flop","floral","florist","floss","flounder","flyable","flyaway","flyer","flying","flyover","flypaper","foam","foe","fog","foil","folic","folk","follicle","follow","fondling","fondly","fondness","fondue","font","food","fool","footage","football","footbath","footboard","footer","footgear","foothill","foothold","footing","footless","footman","footnote","footpad","footpath","footprint","footrest","footsie","footsore","footwear","footwork","fossil","foster","founder","founding","fountain","fox","foyer","fraction","fracture","fragile","fragility","fragment","fragrance","fragrant","frail","frame","framing","frantic","fraternal","frayed","fraying","frays","freckled","freckles","freebase","freebee","freebie","freedom","freefall","freehand","freeing","freeload","freely","freemason","freeness","freestyle","freeware","freeway","freewill","freezable","freezing","freight","french","frenzied","frenzy","frequency","frequent","fresh","fretful","fretted","friction","friday","fridge","fried","friend","frighten","frightful","frigidity","frigidly","frill","fringe","frisbee","frisk","fritter","frivolous","frolic","from","front","frostbite","frosted","frostily","frosting","frostlike","frosty","froth","frown","frozen","fructose","frugality","frugally","fruit","frustrate","frying","gab","gaffe","gag","gainfully","gaining","gains","gala","gallantly","galleria","gallery","galley","gallon","gallows","gallstone","galore","galvanize","gambling","game","gaming","gamma","gander","gangly","gangrene","gangway","gap","garage","garbage","garden","gargle","garland","garlic","garment","garnet","garnish","garter","gas","gatherer","gathering","gating","gauging","gauntlet","gauze","gave","gawk","gazing","gear","gecko","geek","geiger","gem","gender","generic","generous","genetics","genre","gentile","gentleman","gently","gents","geography","geologic","geologist","geology","geometric","geometry","geranium","gerbil","geriatric","germicide","germinate","germless","germproof","gestate","gestation","gesture","getaway","getting","getup","giant","gibberish","giblet","giddily","giddiness","giddy","gift","gigabyte","gigahertz","gigantic","giggle","giggling","giggly","gigolo","gilled","gills","gimmick","girdle","giveaway","given","giver","giving","gizmo","gizzard","glacial","glacier","glade","gladiator","gladly","glamorous","glamour","glance","glancing","glandular","glare","glaring","glass","glaucoma","glazing","gleaming","gleeful","glider","gliding","glimmer","glimpse","glisten","glitch","glitter","glitzy","gloater","gloating","gloomily","gloomy","glorified","glorifier","glorify","glorious","glory","gloss","glove","glowing","glowworm","glucose","glue","gluten","glutinous","glutton","gnarly","gnat","goal","goatskin","goes","goggles","going","goldfish","goldmine","goldsmith","golf","goliath","gonad","gondola","gone","gong","good","gooey","goofball","goofiness","goofy","google","goon","gopher","gore","gorged","gorgeous","gory","gosling","gossip","gothic","gotten","gout","gown","grab","graceful","graceless","gracious","gradation","graded","grader","gradient","grading","gradually","graduate","graffiti","grafted","grafting","grain","granddad","grandkid","grandly","grandma","grandpa","grandson","granite","granny","granola","grant","granular","grape","graph","grapple","grappling","grasp","grass","gratified","gratify","grating","gratitude","gratuity","gravel","graveness","graves","graveyard","gravitate","gravity","gravy","gray","grazing","greasily","greedily","greedless","greedy","green","greeter","greeting","grew","greyhound","grid","grief","grievance","grieving","grievous","grill","grimace","grimacing","grime","griminess","grimy","grinch","grinning","grip","gristle","grit","groggily","groggy","groin","groom","groove","grooving","groovy","grope","ground","grouped","grout","grove","grower","growing","growl","grub","grudge","grudging","grueling","gruffly","grumble","grumbling","grumbly","grumpily","grunge","grunt","guacamole","guidable","guidance","guide","guiding","guileless","guise","gulf","gullible","gully","gulp","gumball","gumdrop","gumminess","gumming","gummy","gurgle","gurgling","guru","gush","gusto","gusty","gutless","guts","gutter","guy","guzzler","gyration","habitable","habitant","habitat","habitual","hacked","hacker","hacking","hacksaw","had","haggler","haiku","half","halogen","halt","halved","halves","hamburger","hamlet","hammock","hamper","hamster","hamstring","handbag","handball","handbook","handbrake","handcart","handclap","handclasp","handcraft","handcuff","handed","handful","handgrip","handgun","handheld","handiness","handiwork","handlebar","handled","handler","handling","handmade","handoff","handpick","handprint","handrail","handsaw","handset","handsfree","handshake","handstand","handwash","handwork","handwoven","handwrite","handyman","hangnail","hangout","hangover","hangup","hankering","hankie","hanky","haphazard","happening","happier","happiest","happily","happiness","happy","harbor","hardcopy","hardcore","hardcover","harddisk","hardened","hardener","hardening","hardhat","hardhead","hardiness","hardly","hardness","hardship","hardware","hardwired","hardwood","hardy","harmful","harmless","harmonica","harmonics","harmonize","harmony","harness","harpist","harsh","harvest","hash","hassle","haste","hastily","hastiness","hasty","hatbox","hatchback","hatchery","hatchet","hatching","hatchling","hate","hatless","hatred","haunt","haven","hazard","hazelnut","hazily","haziness","hazing","hazy","headache","headband","headboard","headcount","headdress","headed","header","headfirst","headgear","heading","headlamp","headless","headlock","headphone","headpiece","headrest","headroom","headscarf","headset","headsman","headstand","headstone","headway","headwear","heap","heat","heave","heavily","heaviness","heaving","hedge","hedging","heftiness","hefty","helium","helmet","helper","helpful","helping","helpless","helpline","hemlock","hemstitch","hence","henchman","henna","herald","herbal","herbicide","herbs","heritage","hermit","heroics","heroism","herring","herself","hertz","hesitancy","hesitant","hesitate","hexagon","hexagram","hubcap","huddle","huddling","huff","hug","hula","hulk","hull","human","humble","humbling","humbly","humid","humiliate","humility","humming","hummus","humongous","humorist","humorless","humorous","humpback","humped","humvee","hunchback","hundredth","hunger","hungrily","hungry","hunk","hunter","hunting","huntress","huntsman","hurdle","hurled","hurler","hurling","hurray","hurricane","hurried","hurry","hurt","husband","hush","husked","huskiness","hut","hybrid","hydrant","hydrated","hydration","hydrogen","hydroxide","hyperlink","hypertext","hyphen","hypnoses","hypnosis","hypnotic","hypnotism","hypnotist","hypnotize","hypocrisy","hypocrite","ibuprofen","ice","iciness","icing","icky","icon","icy","idealism","idealist","idealize","ideally","idealness","identical","identify","identity","ideology","idiocy","idiom","idly","igloo","ignition","ignore","iguana","illicitly","illusion","illusive","image","imaginary","imagines","imaging","imbecile","imitate","imitation","immature","immerse","immersion","imminent","immobile","immodest","immorally","immortal","immovable","immovably","immunity","immunize","impaired","impale","impart","impatient","impeach","impeding","impending","imperfect","imperial","impish","implant","implement","implicate","implicit","implode","implosion","implosive","imply","impolite","important","importer","impose","imposing","impotence","impotency","impotent","impound","imprecise","imprint","imprison","impromptu","improper","improve","improving","improvise","imprudent","impulse","impulsive","impure","impurity","iodine","iodize","ion","ipad","iphone","ipod","irate","irk","iron","irregular","irrigate","irritable","irritably","irritant","irritate","islamic","islamist","isolated","isolating","isolation","isotope","issue","issuing","italicize","italics","item","itinerary","itunes","ivory","ivy","jab","jackal","jacket","jackknife","jackpot","jailbird","jailbreak","jailer","jailhouse","jalapeno","jam","janitor","january","jargon","jarring","jasmine","jaundice","jaunt","java","jawed","jawless","jawline","jaws","jaybird","jaywalker","jazz","jeep","jeeringly","jellied","jelly","jersey","jester","jet","jiffy","jigsaw","jimmy","jingle","jingling","jinx","jitters","jittery","job","jockey","jockstrap","jogger","jogging","john","joining","jokester","jokingly","jolliness","jolly","jolt","jot","jovial","joyfully","joylessly","joyous","joyride","joystick","jubilance","jubilant","judge","judgingly","judicial","judiciary","judo","juggle","juggling","jugular","juice","juiciness","juicy","jujitsu","jukebox","july","jumble","jumbo","jump","junction","juncture","june","junior","juniper","junkie","junkman","junkyard","jurist","juror","jury","justice","justifier","justify","justly","justness","juvenile","kabob","kangaroo","karaoke","karate","karma","kebab","keenly","keenness","keep","keg","kelp","kennel","kept","kerchief","kerosene","kettle","kick","kiln","kilobyte","kilogram","kilometer","kilowatt","kilt","kimono","kindle","kindling","kindly","kindness","kindred","kinetic","kinfolk","king","kinship","kinsman","kinswoman","kissable","kisser","kissing","kitchen","kite","kitten","kitty","kiwi","kleenex","knapsack","knee","knelt","knickers","knoll","koala","kooky","kosher","krypton","kudos","kung","labored","laborer","laboring","laborious","labrador","ladder","ladies","ladle","ladybug","ladylike","lagged","lagging","lagoon","lair","lake","lance","landed","landfall","landfill","landing","landlady","landless","landline","landlord","landmark","landmass","landmine","landowner","landscape","landside","landslide","language","lankiness","lanky","lantern","lapdog","lapel","lapped","lapping","laptop","lard","large","lark","lash","lasso","last","latch","late","lather","latitude","latrine","latter","latticed","launch","launder","laundry","laurel","lavender","lavish","laxative","lazily","laziness","lazy","lecturer","left","legacy","legal","legend","legged","leggings","legible","legibly","legislate","lego","legroom","legume","legwarmer","legwork","lemon","lend","length","lens","lent","leotard","lesser","letdown","lethargic","lethargy","letter","lettuce","level","leverage","levers","levitate","levitator","liability","liable","liberty","librarian","library","licking","licorice","lid","life","lifter","lifting","liftoff","ligament","likely","likeness","likewise","liking","lilac","lilly","lily","limb","limeade","limelight","limes","limit","limping","limpness","line","lingo","linguini","linguist","lining","linked","linoleum","linseed","lint","lion","lip","liquefy","liqueur","liquid","lisp","list","litigate","litigator","litmus","litter","little","livable","lived","lively","liver","livestock","lividly","living","lizard","lubricant","lubricate","lucid","luckily","luckiness","luckless","lucrative","ludicrous","lugged","lukewarm","lullaby","lumber","luminance","luminous","lumpiness","lumping","lumpish","lunacy","lunar","lunchbox","luncheon","lunchroom","lunchtime","lung","lurch","lure","luridness","lurk","lushly","lushness","luster","lustfully","lustily","lustiness","lustrous","lusty","luxurious","luxury","lying","lyrically","lyricism","lyricist","lyrics","macarena","macaroni","macaw","mace","machine","machinist","magazine","magenta","maggot","magical","magician","magma","magnesium","magnetic","magnetism","magnetize","magnifier","magnify","magnitude","magnolia","mahogany","maimed","majestic","majesty","majorette","majority","makeover","maker","makeshift","making","malformed","malt","mama","mammal","mammary","mammogram","manager","managing","manatee","mandarin","mandate","mandatory","mandolin","manger","mangle","mango","mangy","manhandle","manhole","manhood","manhunt","manicotti","manicure","manifesto","manila","mankind","manlike","manliness","manly","manmade","manned","mannish","manor","manpower","mantis","mantra","manual","many","map","marathon","marauding","marbled","marbles","marbling","march","mardi","margarine","margarita","margin","marigold","marina","marine","marital","maritime","marlin","marmalade","maroon","married","marrow","marry","marshland","marshy","marsupial","marvelous","marxism","mascot","masculine","mashed","mashing","massager","masses","massive","mastiff","matador","matchbook","matchbox","matcher","matching","matchless","material","maternal","maternity","math","mating","matriarch","matrimony","matrix","matron","matted","matter","maturely","maturing","maturity","mauve","maverick","maximize","maximum","maybe","mayday","mayflower","moaner","moaning","mobile","mobility","mobilize","mobster","mocha","mocker","mockup","modified","modify","modular","modulator","module","moisten","moistness","moisture","molar","molasses","mold","molecular","molecule","molehill","mollusk","mom","monastery","monday","monetary","monetize","moneybags","moneyless","moneywise","mongoose","mongrel","monitor","monkhood","monogamy","monogram","monologue","monopoly","monorail","monotone","monotype","monoxide","monsieur","monsoon","monstrous","monthly","monument","moocher","moodiness","moody","mooing","moonbeam","mooned","moonlight","moonlike","moonlit","moonrise","moonscape","moonshine","moonstone","moonwalk","mop","morale","morality","morally","morbidity","morbidly","morphine","morphing","morse","mortality","mortally","mortician","mortified","mortify","mortuary","mosaic","mossy","most","mothball","mothproof","motion","motivate","motivator","motive","motocross","motor","motto","mountable","mountain","mounted","mounting","mourner","mournful","mouse","mousiness","moustache","mousy","mouth","movable","move","movie","moving","mower","mowing","much","muck","mud","mug","mulberry","mulch","mule","mulled","mullets","multiple","multiply","multitask","multitude","mumble","mumbling","mumbo","mummified","mummify","mummy","mumps","munchkin","mundane","municipal","muppet","mural","murkiness","murky","murmuring","muscular","museum","mushily","mushiness","mushroom","mushy","music","musket","muskiness","musky","mustang","mustard","muster","mustiness","musty","mutable","mutate","mutation","mute","mutilated","mutilator","mutiny","mutt","mutual","muzzle","myself","myspace","mystified","mystify","myth","nacho","nag","nail","name","naming","nanny","nanometer","nape","napkin","napped","napping","nappy","narrow","nastily","nastiness","national","native","nativity","natural","nature","naturist","nautical","navigate","navigator","navy","nearby","nearest","nearly","nearness","neatly","neatness","nebula","nebulizer","nectar","negate","negation","negative","neglector","negligee","negligent","negotiate","nemeses","nemesis","neon","nephew","nerd","nervous","nervy","nest","net","neurology","neuron","neurosis","neurotic","neuter","neutron","never","next","nibble","nickname","nicotine","niece","nifty","nimble","nimbly","nineteen","ninetieth","ninja","nintendo","ninth","nuclear","nuclei","nucleus","nugget","nullify","number","numbing","numbly","numbness","numeral","numerate","numerator","numeric","numerous","nuptials","nursery","nursing","nurture","nutcase","nutlike","nutmeg","nutrient","nutshell","nuttiness","nutty","nuzzle","nylon","oaf","oak","oasis","oat","obedience","obedient","obituary","object","obligate","obliged","oblivion","oblivious","oblong","obnoxious","oboe","obscure","obscurity","observant","observer","observing","obsessed","obsession","obsessive","obsolete","obstacle","obstinate","obstruct","obtain","obtrusive","obtuse","obvious","occultist","occupancy","occupant","occupier","occupy","ocean","ocelot","octagon","octane","october","octopus","ogle","oil","oink","ointment","okay","old","olive","olympics","omega","omen","ominous","omission","omit","omnivore","onboard","oncoming","ongoing","onion","online","onlooker","only","onscreen","onset","onshore","onslaught","onstage","onto","onward","onyx","oops","ooze","oozy","opacity","opal","open","operable","operate","operating","operation","operative","operator","opium","opossum","opponent","oppose","opposing","opposite","oppressed","oppressor","opt","opulently","osmosis","other","otter","ouch","ought","ounce","outage","outback","outbid","outboard","outbound","outbreak","outburst","outcast","outclass","outcome","outdated","outdoors","outer","outfield","outfit","outflank","outgoing","outgrow","outhouse","outing","outlast","outlet","outline","outlook","outlying","outmatch","outmost","outnumber","outplayed","outpost","outpour","output","outrage","outrank","outreach","outright","outscore","outsell","outshine","outshoot","outsider","outskirts","outsmart","outsource","outspoken","outtakes","outthink","outward","outweigh","outwit","oval","ovary","oven","overact","overall","overarch","overbid","overbill","overbite","overblown","overboard","overbook","overbuilt","overcast","overcoat","overcome","overcook","overcrowd","overdraft","overdrawn","overdress","overdrive","overdue","overeager","overeater","overexert","overfed","overfeed","overfill","overflow","overfull","overgrown","overhand","overhang","overhaul","overhead","overhear","overheat","overhung","overjoyed","overkill","overlabor","overlaid","overlap","overlay","overload","overlook","overlord","overlying","overnight","overpass","overpay","overplant","overplay","overpower","overprice","overrate","overreach","overreact","override","overripe","overrule","overrun","overshoot","overshot","oversight","oversized","oversleep","oversold","overspend","overstate","overstay","overstep","overstock","overstuff","oversweet","overtake","overthrow","overtime","overtly","overtone","overture","overturn","overuse","overvalue","overview","overwrite","owl","oxford","oxidant","oxidation","oxidize","oxidizing","oxygen","oxymoron","oyster","ozone","paced","pacemaker","pacific","pacifier","pacifism","pacifist","pacify","padded","padding","paddle","paddling","padlock","pagan","pager","paging","pajamas","palace","palatable","palm","palpable","palpitate","paltry","pampered","pamperer","pampers","pamphlet","panama","pancake","pancreas","panda","pandemic","pang","panhandle","panic","panning","panorama","panoramic","panther","pantomime","pantry","pants","pantyhose","paparazzi","papaya","paper","paprika","papyrus","parabola","parachute","parade","paradox","paragraph","parakeet","paralegal","paralyses","paralysis","paralyze","paramedic","parameter","paramount","parasail","parasite","parasitic","parcel","parched","parchment","pardon","parish","parka","parking","parkway","parlor","parmesan","parole","parrot","parsley","parsnip","partake","parted","parting","partition","partly","partner","partridge","party","passable","passably","passage","passcode","passenger","passerby","passing","passion","passive","passivism","passover","passport","password","pasta","pasted","pastel","pastime","pastor","pastrami","pasture","pasty","patchwork","patchy","paternal","paternity","path","patience","patient","patio","patriarch","patriot","patrol","patronage","patronize","pauper","pavement","paver","pavestone","pavilion","paving","pawing","payable","payback","paycheck","payday","payee","payer","paying","payment","payphone","payroll","pebble","pebbly","pecan","pectin","peculiar","peddling","pediatric","pedicure","pedigree","pedometer","pegboard","pelican","pellet","pelt","pelvis","penalize","penalty","pencil","pendant","pending","penholder","penknife","pennant","penniless","penny","penpal","pension","pentagon","pentagram","pep","perceive","percent","perch","percolate","perennial","perfected","perfectly","perfume","periscope","perish","perjurer","perjury","perkiness","perky","perm","peroxide","perpetual","perplexed","persecute","persevere","persuaded","persuader","pesky","peso","pessimism","pessimist","pester","pesticide","petal","petite","petition","petri","petroleum","petted","petticoat","pettiness","petty","petunia","phantom","phobia","phoenix","phonebook","phoney","phonics","phoniness","phony","phosphate","photo","phrase","phrasing","placard","placate","placidly","plank","planner","plant","plasma","plaster","plastic","plated","platform","plating","platinum","platonic","platter","platypus","plausible","plausibly","playable","playback","player","playful","playgroup","playhouse","playing","playlist","playmaker","playmate","playoff","playpen","playroom","playset","plaything","playtime","plaza","pleading","pleat","pledge","plentiful","plenty","plethora","plexiglas","pliable","plod","plop","plot","plow","ploy","pluck","plug","plunder","plunging","plural","plus","plutonium","plywood","poach","pod","poem","poet","pogo","pointed","pointer","pointing","pointless","pointy","poise","poison","poker","poking","polar","police","policy","polio","polish","politely","polka","polo","polyester","polygon","polygraph","polymer","poncho","pond","pony","popcorn","pope","poplar","popper","poppy","popsicle","populace","popular","populate","porcupine","pork","porous","porridge","portable","portal","portfolio","porthole","portion","portly","portside","poser","posh","posing","possible","possibly","possum","postage","postal","postbox","postcard","posted","poster","posting","postnasal","posture","postwar","pouch","pounce","pouncing","pound","pouring","pout","powdered","powdering","powdery","power","powwow","pox","praising","prance","prancing","pranker","prankish","prankster","prayer","praying","preacher","preaching","preachy","preamble","precinct","precise","precision","precook","precut","predator","predefine","predict","preface","prefix","preflight","preformed","pregame","pregnancy","pregnant","preheated","prelaunch","prelaw","prelude","premiere","premises","premium","prenatal","preoccupy","preorder","prepaid","prepay","preplan","preppy","preschool","prescribe","preseason","preset","preshow","president","presoak","press","presume","presuming","preteen","pretended","pretender","pretense","pretext","pretty","pretzel","prevail","prevalent","prevent","preview","previous","prewar","prewashed","prideful","pried","primal","primarily","primary","primate","primer","primp","princess","print","prior","prism","prison","prissy","pristine","privacy","private","privatize","prize","proactive","probable","probably","probation","probe","probing","probiotic","problem","procedure","process","proclaim","procreate","procurer","prodigal","prodigy","produce","product","profane","profanity","professed","professor","profile","profound","profusely","progeny","prognosis","program","progress","projector","prologue","prolonged","promenade","prominent","promoter","promotion","prompter","promptly","prone","prong","pronounce","pronto","proofing","proofread","proofs","propeller","properly","property","proponent","proposal","propose","props","prorate","protector","protegee","proton","prototype","protozoan","protract","protrude","proud","provable","proved","proven","provided","provider","providing","province","proving","provoke","provoking","provolone","prowess","prowler","prowling","proximity","proxy","prozac","prude","prudishly","prune","pruning","pry","psychic","public","publisher","pucker","pueblo","pug","pull","pulmonary","pulp","pulsate","pulse","pulverize","puma","pumice","pummel","punch","punctual","punctuate","punctured","pungent","punisher","punk","pupil","puppet","puppy","purchase","pureblood","purebred","purely","pureness","purgatory","purge","purging","purifier","purify","purist","puritan","purity","purple","purplish","purposely","purr","purse","pursuable","pursuant","pursuit","purveyor","pushcart","pushchair","pusher","pushiness","pushing","pushover","pushpin","pushup","pushy","putdown","putt","puzzle","puzzling","pyramid","pyromania","python","quack","quadrant","quail","quaintly","quake","quaking","qualified","qualifier","qualify","quality","qualm","quantum","quarrel","quarry","quartered","quarterly","quarters","quartet","quench","query","quicken","quickly","quickness","quicksand","quickstep","quiet","quill","quilt","quintet","quintuple","quirk","quit","quiver","quizzical","quotable","quotation","quote","rabid","race","racing","racism","rack","racoon","radar","radial","radiance","radiantly","radiated","radiation","radiator","radio","radish","raffle","raft","rage","ragged","raging","ragweed","raider","railcar","railing","railroad","railway","raisin","rake","raking","rally","ramble","rambling","ramp","ramrod","ranch","rancidity","random","ranged","ranger","ranging","ranked","ranking","ransack","ranting","rants","rare","rarity","rascal","rash","rasping","ravage","raven","ravine","raving","ravioli","ravishing","reabsorb","reach","reacquire","reaction","reactive","reactor","reaffirm","ream","reanalyze","reappear","reapply","reappoint","reapprove","rearrange","rearview","reason","reassign","reassure","reattach","reawake","rebalance","rebate","rebel","rebirth","reboot","reborn","rebound","rebuff","rebuild","rebuilt","reburial","rebuttal","recall","recant","recapture","recast","recede","recent","recess","recharger","recipient","recital","recite","reckless","reclaim","recliner","reclining","recluse","reclusive","recognize","recoil","recollect","recolor","reconcile","reconfirm","reconvene","recopy","record","recount","recoup","recovery","recreate","rectal","rectangle","rectified","rectify","recycled","recycler","recycling","reemerge","reenact","reenter","reentry","reexamine","referable","referee","reference","refill","refinance","refined","refinery","refining","refinish","reflected","reflector","reflex","reflux","refocus","refold","reforest","reformat","reformed","reformer","reformist","refract","refrain","refreeze","refresh","refried","refueling","refund","refurbish","refurnish","refusal","refuse","refusing","refutable","refute","regain","regalia","regally","reggae","regime","region","register","registrar","registry","regress","regretful","regroup","regular","regulate","regulator","rehab","reheat","rehire","rehydrate","reimburse","reissue","reiterate","rejoice","rejoicing","rejoin","rekindle","relapse","relapsing","relatable","related","relation","relative","relax","relay","relearn","release","relenting","reliable","reliably","reliance","reliant","relic","relieve","relieving","relight","relish","relive","reload","relocate","relock","reluctant","rely","remake","remark","remarry","rematch","remedial","remedy","remember","reminder","remindful","remission","remix","remnant","remodeler","remold","remorse","remote","removable","removal","removed","remover","removing","rename","renderer","rendering","rendition","renegade","renewable","renewably","renewal","renewed","renounce","renovate","renovator","rentable","rental","rented","renter","reoccupy","reoccur","reopen","reorder","repackage","repacking","repaint","repair","repave","repaying","repayment","repeal","repeated","repeater","repent","rephrase","replace","replay","replica","reply","reporter","repose","repossess","repost","repressed","reprimand","reprint","reprise","reproach","reprocess","reproduce","reprogram","reps","reptile","reptilian","repugnant","repulsion","repulsive","repurpose","reputable","reputably","request","require","requisite","reroute","rerun","resale","resample","rescuer","reseal","research","reselect","reseller","resemble","resend","resent","reset","reshape","reshoot","reshuffle","residence","residency","resident","residual","residue","resigned","resilient","resistant","resisting","resize","resolute","resolved","resonant","resonate","resort","resource","respect","resubmit","result","resume","resupply","resurface","resurrect","retail","retainer","retaining","retake","retaliate","retention","rethink","retinal","retired","retiree","retiring","retold","retool","retorted","retouch","retrace","retract","retrain","retread","retreat","retrial","retrieval","retriever","retry","return","retying","retype","reunion","reunite","reusable","reuse","reveal","reveler","revenge","revenue","reverb","revered","reverence","reverend","reversal","reverse","reversing","reversion","revert","revisable","revise","revision","revisit","revivable","revival","reviver","reviving","revocable","revoke","revolt","revolver","revolving","reward","rewash","rewind","rewire","reword","rework","rewrap","rewrite","rhyme","ribbon","ribcage","rice","riches","richly","richness","rickety","ricotta","riddance","ridden","ride","riding","rifling","rift","rigging","rigid","rigor","rimless","rimmed","rind","rink","rinse","rinsing","riot","ripcord","ripeness","ripening","ripping","ripple","rippling","riptide","rise","rising","risk","risotto","ritalin","ritzy","rival","riverbank","riverbed","riverboat","riverside","riveter","riveting","roamer","roaming","roast","robbing","robe","robin","robotics","robust","rockband","rocker","rocket","rockfish","rockiness","rocking","rocklike","rockslide","rockstar","rocky","rogue","roman","romp","rope","roping","roster","rosy","rotten","rotting","rotunda","roulette","rounding","roundish","roundness","roundup","roundworm","routine","routing","rover","roving","royal","rubbed","rubber","rubbing","rubble","rubdown","ruby","ruckus","rudder","rug","ruined","rule","rumble","rumbling","rummage","rumor","runaround","rundown","runner","running","runny","runt","runway","rupture","rural","ruse","rush","rust","rut","sabbath","sabotage","sacrament","sacred","sacrifice","sadden","saddlebag","saddled","saddling","sadly","sadness","safari","safeguard","safehouse","safely","safeness","saffron","saga","sage","sagging","saggy","said","saint","sake","salad","salami","salaried","salary","saline","salon","saloon","salsa","salt","salutary","salute","salvage","salvaging","salvation","same","sample","sampling","sanction","sanctity","sanctuary","sandal","sandbag","sandbank","sandbar","sandblast","sandbox","sanded","sandfish","sanding","sandlot","sandpaper","sandpit","sandstone","sandstorm","sandworm","sandy","sanitary","sanitizer","sank","santa","sapling","sappiness","sappy","sarcasm","sarcastic","sardine","sash","sasquatch","sassy","satchel","satiable","satin","satirical","satisfied","satisfy","saturate","saturday","sauciness","saucy","sauna","savage","savanna","saved","savings","savior","savor","saxophone","say","scabbed","scabby","scalded","scalding","scale","scaling","scallion","scallop","scalping","scam","scandal","scanner","scanning","scant","scapegoat","scarce","scarcity","scarecrow","scared","scarf","scarily","scariness","scarring","scary","scavenger","scenic","schedule","schematic","scheme","scheming","schilling","schnapps","scholar","science","scientist","scion","scoff","scolding","scone","scoop","scooter","scope","scorch","scorebook","scorecard","scored","scoreless","scorer","scoring","scorn","scorpion","scotch","scoundrel","scoured","scouring","scouting","scouts","scowling","scrabble","scraggly","scrambled","scrambler","scrap","scratch","scrawny","screen","scribble","scribe","scribing","scrimmage","script","scroll","scrooge","scrounger","scrubbed","scrubber","scruffy","scrunch","scrutiny","scuba","scuff","sculptor","sculpture","scurvy","scuttle","secluded","secluding","seclusion","second","secrecy","secret","sectional","sector","secular","securely","security","sedan","sedate","sedation","sedative","sediment","seduce","seducing","segment","seismic","seizing","seldom","selected","selection","selective","selector","self","seltzer","semantic","semester","semicolon","semifinal","seminar","semisoft","semisweet","senate","senator","send","senior","senorita","sensation","sensitive","sensitize","sensually","sensuous","sepia","september","septic","septum","sequel","sequence","sequester","series","sermon","serotonin","serpent","serrated","serve","service","serving","sesame","sessions","setback","setting","settle","settling","setup","sevenfold","seventeen","seventh","seventy","severity","shabby","shack","shaded","shadily","shadiness","shading","shadow","shady","shaft","shakable","shakily","shakiness","shaking","shaky","shale","shallot","shallow","shame","shampoo","shamrock","shank","shanty","shape","shaping","share","sharpener","sharper","sharpie","sharply","sharpness","shawl","sheath","shed","sheep","sheet","shelf","shell","shelter","shelve","shelving","sherry","shield","shifter","shifting","shiftless","shifty","shimmer","shimmy","shindig","shine","shingle","shininess","shining","shiny","ship","shirt","shivering","shock","shone","shoplift","shopper","shopping","shoptalk","shore","shortage","shortcake","shortcut","shorten","shorter","shorthand","shortlist","shortly","shortness","shorts","shortwave","shorty","shout","shove","showbiz","showcase","showdown","shower","showgirl","showing","showman","shown","showoff","showpiece","showplace","showroom","showy","shrank","shrapnel","shredder","shredding","shrewdly","shriek","shrill","shrimp","shrine","shrink","shrivel","shrouded","shrubbery","shrubs","shrug","shrunk","shucking","shudder","shuffle","shuffling","shun","shush","shut","shy","siamese","siberian","sibling","siding","sierra","siesta","sift","sighing","silenced","silencer","silent","silica","silicon","silk","silliness","silly","silo","silt","silver","similarly","simile","simmering","simple","simplify","simply","sincere","sincerity","singer","singing","single","singular","sinister","sinless","sinner","sinuous","sip","siren","sister","sitcom","sitter","sitting","situated","situation","sixfold","sixteen","sixth","sixties","sixtieth","sixtyfold","sizable","sizably","size","sizing","sizzle","sizzling","skater","skating","skedaddle","skeletal","skeleton","skeptic","sketch","skewed","skewer","skid","skied","skier","skies","skiing","skilled","skillet","skillful","skimmed","skimmer","skimming","skimpily","skincare","skinhead","skinless","skinning","skinny","skintight","skipper","skipping","skirmish","skirt","skittle","skydiver","skylight","skyline","skype","skyrocket","skyward","slab","slacked","slacker","slacking","slackness","slacks","slain","slam","slander","slang","slapping","slapstick","slashed","slashing","slate","slather","slaw","sled","sleek","sleep","sleet","sleeve","slept","sliceable","sliced","slicer","slicing","slick","slider","slideshow","sliding","slighted","slighting","slightly","slimness","slimy","slinging","slingshot","slinky","slip","slit","sliver","slobbery","slogan","sloped","sloping","sloppily","sloppy","slot","slouching","slouchy","sludge","slug","slum","slurp","slush","sly","small","smartly","smartness","smasher","smashing","smashup","smell","smelting","smile","smilingly","smirk","smite","smith","smitten","smock","smog","smoked","smokeless","smokiness","smoking","smoky","smolder","smooth","smother","smudge","smudgy","smuggler","smuggling","smugly","smugness","snack","snagged","snaking","snap","snare","snarl","snazzy","sneak","sneer","sneeze","sneezing","snide","sniff","snippet","snipping","snitch","snooper","snooze","snore","snoring","snorkel","snort","snout","snowbird","snowboard","snowbound","snowcap","snowdrift","snowdrop","snowfall","snowfield","snowflake","snowiness","snowless","snowman","snowplow","snowshoe","snowstorm","snowsuit","snowy","snub","snuff","snuggle","snugly","snugness","speak","spearfish","spearhead","spearman","spearmint","species","specimen","specked","speckled","specks","spectacle","spectator","spectrum","speculate","speech","speed","spellbind","speller","spelling","spendable","spender","spending","spent","spew","sphere","spherical","sphinx","spider","spied","spiffy","spill","spilt","spinach","spinal","spindle","spinner","spinning","spinout","spinster","spiny","spiral","spirited","spiritism","spirits","spiritual","splashed","splashing","splashy","splatter","spleen","splendid","splendor","splice","splicing","splinter","splotchy","splurge","spoilage","spoiled","spoiler","spoiling","spoils","spoken","spokesman","sponge","spongy","sponsor","spoof","spookily","spooky","spool","spoon","spore","sporting","sports","sporty","spotless","spotlight","spotted","spotter","spotting","spotty","spousal","spouse","spout","sprain","sprang","sprawl","spray","spree","sprig","spring","sprinkled","sprinkler","sprint","sprite","sprout","spruce","sprung","spry","spud","spur","sputter","spyglass","squabble","squad","squall","squander","squash","squatted","squatter","squatting","squeak","squealer","squealing","squeamish","squeegee","squeeze","squeezing","squid","squiggle","squiggly","squint","squire","squirt","squishier","squishy","stability","stabilize","stable","stack","stadium","staff","stage","staging","stagnant","stagnate","stainable","stained","staining","stainless","stalemate","staleness","stalling","stallion","stamina","stammer","stamp","stand","stank","staple","stapling","starboard","starch","stardom","stardust","starfish","stargazer","staring","stark","starless","starlet","starlight","starlit","starring","starry","starship","starter","starting","startle","startling","startup","starved","starving","stash","state","static","statistic","statue","stature","status","statute","statutory","staunch","stays","steadfast","steadier","steadily","steadying","steam","steed","steep","steerable","steering","steersman","stegosaur","stellar","stem","stench","stencil","step","stereo","sterile","sterility","sterilize","sterling","sternness","sternum","stew","stick","stiffen","stiffly","stiffness","stifle","stifling","stillness","stilt","stimulant","stimulate","stimuli","stimulus","stinger","stingily","stinging","stingray","stingy","stinking","stinky","stipend","stipulate","stir","stitch","stock","stoic","stoke","stole","stomp","stonewall","stoneware","stonework","stoning","stony","stood","stooge","stool","stoop","stoplight","stoppable","stoppage","stopped","stopper","stopping","stopwatch","storable","storage","storeroom","storewide","storm","stout","stove","stowaway","stowing","straddle","straggler","strained","strainer","straining","strangely","stranger","strangle","strategic","strategy","stratus","straw","stray","streak","stream","street","strength","strenuous","strep","stress","stretch","strewn","stricken","strict","stride","strife","strike","striking","strive","striving","strobe","strode","stroller","strongbox","strongly","strongman","struck","structure","strudel","struggle","strum","strung","strut","stubbed","stubble","stubbly","stubborn","stucco","stuck","student","studied","studio","study","stuffed","stuffing","stuffy","stumble","stumbling","stump","stung","stunned","stunner","stunning","stunt","stupor","sturdily","sturdy","styling","stylishly","stylist","stylized","stylus","suave","subarctic","subatomic","subdivide","subdued","subduing","subfloor","subgroup","subheader","subject","sublease","sublet","sublevel","sublime","submarine","submerge","submersed","submitter","subpanel","subpar","subplot","subprime","subscribe","subscript","subsector","subside","subsiding","subsidize","subsidy","subsoil","subsonic","substance","subsystem","subtext","subtitle","subtly","subtotal","subtract","subtype","suburb","subway","subwoofer","subzero","succulent","such","suction","sudden","sudoku","suds","sufferer","suffering","suffice","suffix","suffocate","suffrage","sugar","suggest","suing","suitable","suitably","suitcase","suitor","sulfate","sulfide","sulfite","sulfur","sulk","sullen","sulphate","sulphuric","sultry","superbowl","superglue","superhero","superior","superjet","superman","supermom","supernova","supervise","supper","supplier","supply","support","supremacy","supreme","surcharge","surely","sureness","surface","surfacing","surfboard","surfer","surgery","surgical","surging","surname","surpass","surplus","surprise","surreal","surrender","surrogate","surround","survey","survival","survive","surviving","survivor","sushi","suspect","suspend","suspense","sustained","sustainer","swab","swaddling","swagger","swampland","swan","swapping","swarm","sway","swear","sweat","sweep","swell","swept","swerve","swifter","swiftly","swiftness","swimmable","swimmer","swimming","swimsuit","swimwear","swinger","swinging","swipe","swirl","switch","swivel","swizzle","swooned","swoop","swoosh","swore","sworn","swung","sycamore","sympathy","symphonic","symphony","symptom","synapse","syndrome","synergy","synopses","synopsis","synthesis","synthetic","syrup","system","t-shirt","tabasco","tabby","tableful","tables","tablet","tableware","tabloid","tackiness","tacking","tackle","tackling","tacky","taco","tactful","tactical","tactics","tactile","tactless","tadpole","taekwondo","tag","tainted","take","taking","talcum","talisman","tall","talon","tamale","tameness","tamer","tamper","tank","tanned","tannery","tanning","tantrum","tapeless","tapered","tapering","tapestry","tapioca","tapping","taps","tarantula","target","tarmac","tarnish","tarot","tartar","tartly","tartness","task","tassel","taste","tastiness","tasting","tasty","tattered","tattle","tattling","tattoo","taunt","tavern","thank","that","thaw","theater","theatrics","thee","theft","theme","theology","theorize","thermal","thermos","thesaurus","these","thesis","thespian","thicken","thicket","thickness","thieving","thievish","thigh","thimble","thing","think","thinly","thinner","thinness","thinning","thirstily","thirsting","thirsty","thirteen","thirty","thong","thorn","those","thousand","thrash","thread","threaten","threefold","thrift","thrill","thrive","thriving","throat","throbbing","throng","throttle","throwaway","throwback","thrower","throwing","thud","thumb","thumping","thursday","thus","thwarting","thyself","tiara","tibia","tidal","tidbit","tidiness","tidings","tidy","tiger","tighten","tightly","tightness","tightrope","tightwad","tigress","tile","tiling","till","tilt","timid","timing","timothy","tinderbox","tinfoil","tingle","tingling","tingly","tinker","tinkling","tinsel","tinsmith","tint","tinwork","tiny","tipoff","tipped","tipper","tipping","tiptoeing","tiptop","tiring","tissue","trace","tracing","track","traction","tractor","trade","trading","tradition","traffic","tragedy","trailing","trailside","train","traitor","trance","tranquil","transfer","transform","translate","transpire","transport","transpose","trapdoor","trapeze","trapezoid","trapped","trapper","trapping","traps","trash","travel","traverse","travesty","tray","treachery","treading","treadmill","treason","treat","treble","tree","trekker","tremble","trembling","tremor","trench","trend","trespass","triage","trial","triangle","tribesman","tribunal","tribune","tributary","tribute","triceps","trickery","trickily","tricking","trickle","trickster","tricky","tricolor","tricycle","trident","tried","trifle","trifocals","trillion","trilogy","trimester","trimmer","trimming","trimness","trinity","trio","tripod","tripping","triumph","trivial","trodden","trolling","trombone","trophy","tropical","tropics","trouble","troubling","trough","trousers","trout","trowel","truce","truck","truffle","trump","trunks","trustable","trustee","trustful","trusting","trustless","truth","try","tubby","tubeless","tubular","tucking","tuesday","tug","tuition","tulip","tumble","tumbling","tummy","turban","turbine","turbofan","turbojet","turbulent","turf","turkey","turmoil","turret","turtle","tusk","tutor","tutu","tux","tweak","tweed","tweet","tweezers","twelve","twentieth","twenty","twerp","twice","twiddle","twiddling","twig","twilight","twine","twins","twirl","twistable","twisted","twister","twisting","twisty","twitch","twitter","tycoon","tying","tyke","udder","ultimate","ultimatum","ultra","umbilical","umbrella","umpire","unabashed","unable","unadorned","unadvised","unafraid","unaired","unaligned","unaltered","unarmored","unashamed","unaudited","unawake","unaware","unbaked","unbalance","unbeaten","unbend","unbent","unbiased","unbitten","unblended","unblessed","unblock","unbolted","unbounded","unboxed","unbraided","unbridle","unbroken","unbuckled","unbundle","unburned","unbutton","uncanny","uncapped","uncaring","uncertain","unchain","unchanged","uncharted","uncheck","uncivil","unclad","unclaimed","unclamped","unclasp","uncle","unclip","uncloak","unclog","unclothed","uncoated","uncoiled","uncolored","uncombed","uncommon","uncooked","uncork","uncorrupt","uncounted","uncouple","uncouth","uncover","uncross","uncrown","uncrushed","uncured","uncurious","uncurled","uncut","undamaged","undated","undaunted","undead","undecided","undefined","underage","underarm","undercoat","undercook","undercut","underdog","underdone","underfed","underfeed","underfoot","undergo","undergrad","underhand","underline","underling","undermine","undermost","underpaid","underpass","underpay","underrate","undertake","undertone","undertook","undertow","underuse","underwear","underwent","underwire","undesired","undiluted","undivided","undocked","undoing","undone","undrafted","undress","undrilled","undusted","undying","unearned","unearth","unease","uneasily","uneasy","uneatable","uneaten","unedited","unelected","unending","unengaged","unenvied","unequal","unethical","uneven","unexpired","unexposed","unfailing","unfair","unfasten","unfazed","unfeeling","unfiled","unfilled","unfitted","unfitting","unfixable","unfixed","unflawed","unfocused","unfold","unfounded","unframed","unfreeze","unfrosted","unfrozen","unfunded","unglazed","ungloved","unglue","ungodly","ungraded","ungreased","unguarded","unguided","unhappily","unhappy","unharmed","unhealthy","unheard","unhearing","unheated","unhelpful","unhidden","unhinge","unhitched","unholy","unhook","unicorn","unicycle","unified","unifier","uniformed","uniformly","unify","unimpeded","uninjured","uninstall","uninsured","uninvited","union","uniquely","unisexual","unison","unissued","unit","universal","universe","unjustly","unkempt","unkind","unknotted","unknowing","unknown","unlaced","unlatch","unlawful","unleaded","unlearned","unleash","unless","unleveled","unlighted","unlikable","unlimited","unlined","unlinked","unlisted","unlit","unlivable","unloaded","unloader","unlocked","unlocking","unlovable","unloved","unlovely","unloving","unluckily","unlucky","unmade","unmanaged","unmanned","unmapped","unmarked","unmasked","unmasking","unmatched","unmindful","unmixable","unmixed","unmolded","unmoral","unmovable","unmoved","unmoving","unnamable","unnamed","unnatural","unneeded","unnerve","unnerving","unnoticed","unopened","unopposed","unpack","unpadded","unpaid","unpainted","unpaired","unpaved","unpeeled","unpicked","unpiloted","unpinned","unplanned","unplanted","unpleased","unpledged","unplowed","unplug","unpopular","unproven","unquote","unranked","unrated","unraveled","unreached","unread","unreal","unreeling","unrefined","unrelated","unrented","unrest","unretired","unrevised","unrigged","unripe","unrivaled","unroasted","unrobed","unroll","unruffled","unruly","unrushed","unsaddle","unsafe","unsaid","unsalted","unsaved","unsavory","unscathed","unscented","unscrew","unsealed","unseated","unsecured","unseeing","unseemly","unseen","unselect","unselfish","unsent","unsettled","unshackle","unshaken","unshaved","unshaven","unsheathe","unshipped","unsightly","unsigned","unskilled","unsliced","unsmooth","unsnap","unsocial","unsoiled","unsold","unsolved","unsorted","unspoiled","unspoken","unstable","unstaffed","unstamped","unsteady","unsterile","unstirred","unstitch","unstopped","unstuck","unstuffed","unstylish","unsubtle","unsubtly","unsuited","unsure","unsworn","untagged","untainted","untaken","untamed","untangled","untapped","untaxed","unthawed","unthread","untidy","untie","until","untimed","untimely","untitled","untoasted","untold","untouched","untracked","untrained","untreated","untried","untrimmed","untrue","untruth","unturned","untwist","untying","unusable","unused","unusual","unvalued","unvaried","unvarying","unveiled","unveiling","unvented","unviable","unvisited","unvocal","unwanted","unwarlike","unwary","unwashed","unwatched","unweave","unwed","unwelcome","unwell","unwieldy","unwilling","unwind","unwired","unwitting","unwomanly","unworldly","unworn","unworried","unworthy","unwound","unwoven","unwrapped","unwritten","unzip","upbeat","upchuck","upcoming","upcountry","update","upfront","upgrade","upheaval","upheld","uphill","uphold","uplifted","uplifting","upload","upon","upper","upright","uprising","upriver","uproar","uproot","upscale","upside","upstage","upstairs","upstart","upstate","upstream","upstroke","upswing","uptake","uptight","uptown","upturned","upward","upwind","uranium","urban","urchin","urethane","urgency","urgent","urging","urologist","urology","usable","usage","useable","used","uselessly","user","usher","usual","utensil","utility","utilize","utmost","utopia","utter","vacancy","vacant","vacate","vacation","vagabond","vagrancy","vagrantly","vaguely","vagueness","valiant","valid","valium","valley","valuables","value","vanilla","vanish","vanity","vanquish","vantage","vaporizer","variable","variably","varied","variety","various","varmint","varnish","varsity","varying","vascular","vaseline","vastly","vastness","veal","vegan","veggie","vehicular","velcro","velocity","velvet","vendetta","vending","vendor","veneering","vengeful","venomous","ventricle","venture","venue","venus","verbalize","verbally","verbose","verdict","verify","verse","version","versus","vertebrae","vertical","vertigo","very","vessel","vest","veteran","veto","vexingly","viability","viable","vibes","vice","vicinity","victory","video","viewable","viewer","viewing","viewless","viewpoint","vigorous","village","villain","vindicate","vineyard","vintage","violate","violation","violator","violet","violin","viper","viral","virtual","virtuous","virus","visa","viscosity","viscous","viselike","visible","visibly","vision","visiting","visitor","visor","vista","vitality","vitalize","vitally","vitamins","vivacious","vividly","vividness","vixen","vocalist","vocalize","vocally","vocation","voice","voicing","void","volatile","volley","voltage","volumes","voter","voting","voucher","vowed","vowel","voyage","wackiness","wad","wafer","waffle","waged","wager","wages","waggle","wagon","wake","waking","walk","walmart","walnut","walrus","waltz","wand","wannabe","wanted","wanting","wasabi","washable","washbasin","washboard","washbowl","washcloth","washday","washed","washer","washhouse","washing","washout","washroom","washstand","washtub","wasp","wasting","watch","water","waviness","waving","wavy","whacking","whacky","wham","wharf","wheat","whenever","whiff","whimsical","whinny","whiny","whisking","whoever","whole","whomever","whoopee","whooping","whoops","why","wick","widely","widen","widget","widow","width","wieldable","wielder","wife","wifi","wikipedia","wildcard","wildcat","wilder","wildfire","wildfowl","wildland","wildlife","wildly","wildness","willed","willfully","willing","willow","willpower","wilt","wimp","wince","wincing","wind","wing","winking","winner","winnings","winter","wipe","wired","wireless","wiring","wiry","wisdom","wise","wish","wisplike","wispy","wistful","wizard","wobble","wobbling","wobbly","wok","wolf","wolverine","womanhood","womankind","womanless","womanlike","womanly","womb","woof","wooing","wool","woozy","word","work","worried","worrier","worrisome","worry","worsening","worshiper","worst","wound","woven","wow","wrangle","wrath","wreath","wreckage","wrecker","wrecking","wrench","wriggle","wriggly","wrinkle","wrinkly","wrist","writing","written","wrongdoer","wronged","wrongful","wrongly","wrongness","wrought","xbox","xerox","yahoo","yam","yanking","yapping","yard","yarn","yeah","yearbook","yearling","yearly","yearning","yeast","yelling","yelp","yen","yesterday","yiddish","yield","yin","yippee","yo-yo","yodel","yoga","yogurt","yonder","yoyo","yummy","zap","zealous","zebra","zen","zeppelin","zero","zestfully","zesty","zigzagged","zipfile","zipping","zippy","zips","zit","zodiac","zombie","zone","zoning","zookeeper","zoologist","zoology","zoom"]},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&this.cipherService.upsert(r)}return[2]}})})},n.prototype.deleteWithServer=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.apiService.deleteFolder(n)];case 1:return l.sent(),[4,this.delete(n)];case 2:return l.sent(),[2]}})})},n}();l.FolderService=f},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.userId=l,this.name=n.name,this.id=n.id,this.revisionDate=n.revisionDate}}();l.FolderData=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=e?[4,this.lock(!0)]:[3,6]);case 5:t.sent(),t.label=6;case 6:return[2]}})})},n.prototype.lock=function(n){return void 0===n&&(n=!1),t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return n?[4,this.isPinLockSet()]:[3,4];case 1:return l.sent()[0]?(this.pinLocked=!0,this.messagingService.send("locked"),null==this.lockedCallback?[3,3]:[4,this.lockedCallback()]):[3,4];case 2:l.sent(),l.label=3;case 3:return[2];case 4:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 5:return l.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.searchService.clearIndex(),this.messagingService.send("locked"),null==this.lockedCallback?[3,7]:[4,this.lockedCallback()];case 6:l.sent(),l.label=7;case 7:return[2]}})})},n.prototype.setLockOption=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.storageService.save(r.ConstantsService.lockOptionKey,n)];case 1:return l.sent(),[4,this.cryptoService.toggleKey()];case 2:return l.sent(),[2]}})})},n.prototype.isPinLockSet=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.storageService.get(r.ConstantsService.protectedPin)];case 1:return n=e.sent(),[4,this.storageService.get(r.ConstantsService.pinProtectedKey)];case 2:return l=e.sent(),[2,[null!=n,null!=l]]}})})},n.prototype.clear=function(){return this.storageService.remove(r.ConstantsService.protectedPin)},n}();l.LockService=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0)for(p=0;p0)for(p=0;p0)for(p=0;p0)for(p=0;p1)&&(l.wordSeparator=" "),e=a.EEFLongWordList.length-1,t=new Array(l.numWords),r=0,u.label=1;case 1:return r100&&l.pop(),[4,this.encryptHistory(l)]);case 3:return e=t.sent(),[4,this.storageService.save(d,e)];case 4:return[2,t.sent()]}})})},n.prototype.clear=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.history=[],[4,this.storageService.remove(d)];case 1:return[2,n.sent()]}})})},n.prototype.passwordStrength=function(n,l){if(void 0===l&&(l=null),null==n||0===n.length)return null;var e=["bitwarden","bit","warden"];null!=l&&l.length>0&&(e=e.concat(l));var t=Array.from(new Set(e));return r(n,t)},n.prototype.encryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.encrypt(n.password)];case 1:return l=e.sent(),[2,new i.GeneratedPasswordHistory(l.encryptedString,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.decryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.decryptToUtf8(new o.CipherString(n.password))];case 1:return l=e.sent(),[2,new i.GeneratedPasswordHistory(l,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.matchesPrevious=function(n,l){return null!=l&&0!==l.length&&l[l.length-1].password===n},n.prototype.shuffleArray=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:e=n.length-1,u.label=1;case 1:return e>0?[4,this.cryptoService.randomNumber(0,e)]:[3,4];case 2:t=u.sent(),l=[n[t],n[e]],n[e]=l[0],n[t]=l[1],u.label=3;case 3:return e--,[3,1];case 4:return[2]}})})},n}();l.PasswordGenerationService=p},,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=n.revisionDate&&(e=!1),o=!1,e&&(l?(e=null!=t,o=!0):null==n.collectionIds||null==n.organizationId?e=null==t:(e=!1,o=!0)),!e&&o&&null!=n.organizationId&&null!=n.collectionIds&&n.collectionIds.length>0?[4,this.collectionService.getAll()]:[3,5];case 4:if(null!=(i=u.sent()))for(a=0;a0&&n.push(l.domains)}),[2,this.settingsService.setEquivalentDomains(n)]})})},n}();l.SyncService=c},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]10?t=10:d>0&&(t=d)}catch(n){}if(c.has("period")&&null!=c.get("period"))try{(p=parseInt(c.get("period").trim(),null))>0&&(l=p)}catch(n){}c.has("secret")&&null!=c.get("secret")&&(r=c.get("secret")),c.has("algorithm")&&null!=c.get("algorithm")&&("sha1"!==(f=c.get("algorithm").toLowerCase())&&"sha256"!==f&&"sha512"!==f||(e=f))}else s&&(r=n.substr("steam://".length),t=5);return v=Math.round((new Date).getTime()/1e3),h=this.leftPad(this.decToHex(Math.floor(v/l)),16,"0"),g=o.Utils.fromHexToArray(h),(m=this.b32ToBytes(r)).length&&g.length?[4,this.sign(m,g,e)]:[2,null];case 1:if(0===(y=u.sent()).length)return[2,null];if(C=15&y[y.length-1],b=(127&y[C])<<24|(255&y[C+1])<<16|(255&y[C+2])<<8|255&y[C+3],w="",s)for(S=2147483647&b,_=0;_=n.length&&(n=Array(l+1-n.length).join(e)+n),n},n.prototype.decToHex=function(n){return(n<15.5?"0":"")+Math.round(n).toString(16)},n.prototype.b32ToHex=function(n){n=n.toUpperCase();for(var l="",e=0;e0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&this.u2f.init({appId:l[0].appId,challenge:l[0].challenge,keys:l.map(function(n){return{version:n.version,keyHandle:n.keyHandle}})}),[3,7]):[3,7];case 2:return this.platformUtilsService.getDevice()===r.DeviceType.SafariExtension?[3,7]:(setTimeout(function(){s.init({iframe:void 0,host:n.Host,sig_request:n.Signature,submit_callback:function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null==(l=n.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=l.value,[4,this.submit()]);case 1:e.sent(),e.label=2;case 2:return[2]}})})}})},0),[3,7]);case 3:return this.twoFactorEmail=n.Email,this.authService.twoFactorProviders.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:i.sent(),i.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:if(null==this.token||""===this.token)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===o.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==o.TwoFactorProviderType.Email&&this.selectedProviderType!==o.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());n.label=1;case 1:return n.trys.push([1,3,,4]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return n.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.platformUtilsService.eventTrack("Logged In From Two-step"),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute]),[3,4];case 3:return n.sent(),this.selectedProviderType===o.TwoFactorProviderType.U2f&&null!=this.u2f&&this.u2f.start(),[3,4];case 4:return[2]}})})},n.prototype.sendEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:if(this.selectedProviderType!==o.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),l=new i.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(l),[4,this.emailPromise];case 2:return e.sent(),n&&this.platformUtilsService.showToast("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return e.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},n.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},n}();l.TwoFactorComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.twoFactor=!1,this.twoFactorProviders=null}}();l.AuthResult=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.type=l.getDevice(),this.name=l.getDeviceString(),this.identifier=n,this.pushToken=null}}();l.DeviceRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.email=n}}();l.PreloginRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n,l,e,t,u,r){this.email=n,this.masterPasswordHash=l,this.token=t,this.provider=e,this.remember=u,this.device=null!=r?r:null}return n.prototype.toIdentityToken=function(n){var l={grant_type:"password",username:this.email,password:this.masterPasswordHash,scope:"api offline_access",client_id:n};return this.device&&(l.deviceType=this.device.type,l.deviceIdentifier=this.device.identifier,l.deviceName=this.device.name),this.token&&null!=this.provider&&(l.twoFactorToken=this.token,l.twoFactorProvider=this.provider,l.twoFactorRemember=this.remember?"1":"0"),l},n}();l.TokenRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n,l,e,t,u){this.win=n,this.webVaultUrl=l,this.successCallback=e,this.errorCallback=t,this.infoCallback=u,this.iframe=null,this.parseFunction=this.parseMessage.bind(this),this.connectorLink=n.document.createElement("a"),this.webVaultUrl=null!=l&&""!==l?l:"https://vault.bitwarden.com"}return n.prototype.init=function(n){this.connectorLink.href=this.webVaultUrl+"/u2f-connector.html?data="+this.base64Encode(JSON.stringify(n))+"&parent="+encodeURIComponent(this.win.document.location.href)+"&v=1",this.iframe=this.win.document.getElementById("u2f_iframe"),this.iframe.src=this.connectorLink.href,this.win.addEventListener("message",this.parseFunction,!1)},n.prototype.stop=function(){this.sendMessage("stop")},n.prototype.start=function(){this.sendMessage("start")},n.prototype.sendMessage=function(n){this.iframe&&this.iframe.src&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage(n,this.iframe.src)},n.prototype.base64Encode=function(n){return btoa(encodeURIComponent(n).replace(/%([0-9A-F]{2})/g,function(n,l){return String.fromCharCode("0x"+l)}))},n.prototype.cleanup=function(){this.win.removeEventListener("message",this.parseFunction,!1)},n.prototype.parseMessage=function(n){if(this.validMessage(n)){var l=n.data.split("|");"success"===l[0]&&this.successCallback?this.successCallback(l[1]):"error"===l[0]&&this.errorCallback?this.errorCallback(l[1]):"info"===l[0]&&this.infoCallback&&this.infoCallback(l[1])}},n.prototype.validMessage=function(n){return null!=n.origin&&""!==n.origin&&n.origin===this.connectorLink.origin&&null!=n.data&&"string"==typeof n.data&&(0===n.data.indexOf("success|")||0===n.data.indexOf("error|")||0===n.data.indexOf("info|"))},n}();l.U2f=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(8),a=e(12),s=e(17),c=e(14),d=e(5),p=e(100),f=e(52),v=e(543),h=e(454),g=e(10),m=e(455),y=e(97),C=e(23),b=e(4),w=e(34),S=e(7),_=e(64),I=t.ɵcrt({encapsulation:2,styles:[],data:{}});function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-thumb-tack"],["type","info"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent,0),"createOrganizationStep1")),"");n(l,1,0,"info","fa-thumb-tack",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"createOrganizationCreatePersonalAccount"));n(l,3,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1),(n()(),t.ɵeld(3,0,null,null,2,"a",[["href","https://bitwarden.com/terms/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,[",\n "])),(n()(),t.ɵeld(7,0,null,null,2,"a",[["href","https://bitwarden.com/privacy/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"submitAgreePolicies"));n(l,1,0,e);var u=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"termsOfService"));n(l,4,0,u);var r=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"privacyPolicy"));n(l,8,0,r)})}function A(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,178,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(4,16384,null,0,a.NgControlStatusGroup,[[4,a.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,171,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,168,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,161,"div",[["class","card d-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,158,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,20,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,9,"input",[["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,29)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,29)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,29)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(29,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(30,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,a.NgModel,[[2,a.ControlContainer],[6,a.NG_VALIDATORS],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(35,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(36,81920,null,0,p.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(37,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(40,null,["",""])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,17,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,6,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(53,671744,null,0,a.NgModel,[[2,a.ControlContainer],[8,null],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(55,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(56,81920,null,0,p.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,42,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,31,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,15,"div",[["class","w-100"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,8,"input",[["appInputVerbatim",""],["class","text-monospace form-control mb-1"],["id","masterPassword"],["name","MasterPassword"],["required",""]],[[8,"type",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,74)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,74).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,74)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,74)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);"input"===l&&(u=!1!==r.updatePasswordStrength()&&u);return u},null,null)),t.ɵdid(74,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(75,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(78,671744,null,0,a.NgModel,[[2,a.ControlContainer],[6,a.NG_VALIDATORS],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(80,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(81,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,2,"app-password-strength",[],null,null,null,v.View_PasswordStrengthComponent_0,v.RenderType_PasswordStrengthComponent)),t.ɵdid(84,573440,null,0,h.PasswordStrengthComponent,[o.I18nService],{score:[0,"score"],showText:[1,"showText"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,11,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,6,"button",[["class","ml-1 btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.togglePassword(!1)&&t);return t},null,null)),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(94,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(95,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(98,0,null,null,0,"div",[["class","progress-bar invisible"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(103,null,["",""])),t.ɵppd(104,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(107,0,null,null,26,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,2,"label",[["for","masterPasswordRetype"]],null,null,null,null,null)),(n()(),t.ɵted(110,null,["",""])),t.ɵppd(111,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,19,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(115,0,null,null,8,"input",[["appInputVerbatim",""],["class","text-monospace form-control"],["id","masterPasswordRetype"],["name","MasterPasswordRetype"],["required",""]],[[8,"type",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,116)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,116).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,116)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,116)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.confirmMasterPassword=e)&&u);return u},null,null)),t.ɵdid(116,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(117,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(120,671744,null,0,a.NgModel,[[2,a.ControlContainer],[6,a.NG_VALIDATORS],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(122,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(123,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(125,0,null,null,6,"button",[["class","ml-1 btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.togglePassword(!0)&&t);return t},null,null)),t.ɵppd(126,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(128,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(129,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(130,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(135,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"label",[["for","hint"]],null,null,null,null,null)),(n()(),t.ɵted(138,null,["",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,5,"input",[["class","form-control"],["id","hint"],["name","Hint"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,142)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,142).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,142)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,142)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.hint=e)&&u);return u},null,null)),t.ɵdid(142,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(144,671744,null,0,a.NgModel,[[2,a.ControlContainer],[8,null],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(146,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(148,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(149,null,["",""])),t.ɵppd(150,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(155,0,null,null,16,"div",[["class","d-flex mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,8,"button",[["class","btn btn-primary btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(159,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(160,null,["",""])),t.ɵppd(161,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(163,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(164,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(167,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,168).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(168,671744,null,0,g.RouterLinkWithHref,[g.Router,g.ActivatedRoute,d.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(169,null,["\n ","\n "])),t.ɵppd(170,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(174,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise),n(l,20,0,e.showCreateOrgMessage);n(l,30,0,"");n(l,33,0,"Email",e.email),n(l,36,0,""===e.email);n(l,37,0,"false");n(l,53,0,"Name",e.name),n(l,56,0,""!==e.email);n(l,75,0,"");n(l,78,0,"MasterPassword",e.masterPassword);n(l,81,0,"");n(l,84,0,e.masterPasswordScore,!0);var t=n(l,95,0,!e.showPassword,e.showPassword);n(l,94,0,"fa fa-lg",t);n(l,117,0,"");n(l,120,0,"MasterPasswordRetype",e.confirmMasterPassword);n(l,123,0,"");var u=n(l,130,0,!e.showPassword,e.showPassword);n(l,129,0,"fa fa-lg",u);n(l,144,0,"Hint",e.hint);n(l,168,0,"/"),n(l,174,0,e.showTerms)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var u=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"createAccount"));n(l,12,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"emailAddress"));n(l,25,0,r),n(l,28,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending);var o=t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"emailAddressDesc"));n(l,40,0,o);var i=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l,0),"yourName"));n(l,47,0,i),n(l,50,0,t.ɵnov(l,55).ngClassUntouched,t.ɵnov(l,55).ngClassTouched,t.ɵnov(l,55).ngClassPristine,t.ɵnov(l,55).ngClassDirty,t.ɵnov(l,55).ngClassValid,t.ɵnov(l,55).ngClassInvalid,t.ɵnov(l,55).ngClassPending);var a=t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l,0),"yourNameDesc"));n(l,59,0,a);var s=t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l,0),"masterPass"));n(l,66,0,s),n(l,73,0,t.ɵinlineInterpolate(1,"",e.showPassword?"text":"password",""),t.ɵnov(l,75).required?"":null,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l,0),"toggleVisibility")),"");n(l,90,0,c);var d=t.ɵunv(l,103,0,n(l,104,0,t.ɵnov(l,0),"masterPassDesc"));n(l,103,0,d);var p=t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l,0),"reTypeMasterPass"));n(l,110,0,p),n(l,115,0,t.ɵinlineInterpolate(1,"",e.showPassword?"text":"password",""),t.ɵnov(l,117).required?"":null,t.ɵnov(l,122).ngClassUntouched,t.ɵnov(l,122).ngClassTouched,t.ɵnov(l,122).ngClassPristine,t.ɵnov(l,122).ngClassDirty,t.ɵnov(l,122).ngClassValid,t.ɵnov(l,122).ngClassInvalid,t.ɵnov(l,122).ngClassPending);var f=t.ɵinlineInterpolate(1,"",t.ɵunv(l,125,0,n(l,126,0,t.ɵnov(l,0),"toggleVisibility")),"");n(l,125,0,f);var v=t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l,0),"masterPassHint"));n(l,138,0,v),n(l,141,0,t.ɵnov(l,146).ngClassUntouched,t.ɵnov(l,146).ngClassTouched,t.ɵnov(l,146).ngClassPristine,t.ɵnov(l,146).ngClassDirty,t.ɵnov(l,146).ngClassValid,t.ɵnov(l,146).ngClassInvalid,t.ɵnov(l,146).ngClassPending);var h=t.ɵunv(l,149,0,n(l,150,0,t.ɵnov(l,0),"masterPassHintDesc"));n(l,149,0,h),n(l,157,0,t.ɵnov(l,1).loading);var g=t.ɵunv(l,160,0,n(l,161,0,t.ɵnov(l,0),"submit"));n(l,160,0,g);var m=t.ɵinlineInterpolate(1,"",t.ɵunv(l,163,0,n(l,164,0,t.ɵnov(l,0),"loading")),"");n(l,163,0,m),n(l,167,0,t.ɵnov(l,168).target,t.ɵnov(l,168).href);var y=t.ɵunv(l,169,0,n(l,170,0,t.ɵnov(l,0),"cancel"));n(l,169,0,y)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-register",[],null,null,null,A,I)),t.ɵdid(1,114688,null,0,m.RegisterComponent,[y.AuthService,g.Router,o.I18nService,C.CryptoService,b.ApiService,g.ActivatedRoute,w.StateService,S.PlatformUtilsService,_.PasswordGenerationService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_RegisterComponent=I,l.View_RegisterComponent_0=A,l.View_RegisterComponent_Host_0=O;var P=t.ɵccf("app-register",m.RegisterComponent,O,{},{},[]);l.RegisterComponentNgFactory=P},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(n=n.concat(this.email.substr(0,l).trim().toLowerCase().split(/[^A-Za-z0-9]/))),null!=this.name&&""!==this.name&&(n=n.concat(this.name.trim().toLowerCase().split(" "))),n},n}();l.RegisterComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l,e,t,u,r,o){this.name=l,this.email=n,this.masterPasswordHash=e,this.masterPasswordHint=t||null,this.key=u,this.kdf=r,this.kdfIterations=o}}();l.RegisterRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(100),c=e(52),d=e(10),p=e(5),f=e(457),v=e(4),h=e(7),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,56,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,53,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","card d-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,43,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,20,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,26)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,26).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,26)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,26)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(26,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(27,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(30,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(32,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(33,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(34,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,16,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,8,"button",[["class","btn btn-primary btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"span",[],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,56).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(56,671744,null,0,d.RouterLinkWithHref,[d.Router,d.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(57,null,["\n ","\n "])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,27,0,"");n(l,30,0,"Email",e.email);n(l,33,0,"");n(l,34,0,"false");n(l,56,0,"/")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"passwordHint"));n(l,12,0,e);var u=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"emailAddress"));n(l,22,0,u),n(l,25,0,t.ɵnov(l,27).required?"":null,t.ɵnov(l,32).ngClassUntouched,t.ɵnov(l,32).ngClassTouched,t.ɵnov(l,32).ngClassPristine,t.ɵnov(l,32).ngClassDirty,t.ɵnov(l,32).ngClassValid,t.ɵnov(l,32).ngClassInvalid,t.ɵnov(l,32).ngClassPending);var r=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"enterEmailToGetHint"));n(l,37,0,r),n(l,45,0,t.ɵnov(l,1).loading),n(l,47,0,t.ɵnov(l,1).loading);var o=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"submit"));n(l,48,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l,0),"loading")),"");n(l,51,0,i),n(l,55,0,t.ɵnov(l,56).target,t.ɵnov(l,56).href);var a=t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l,0),"cancel"));n(l,57,0,a)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-hint",[],null,null,null,m,g)),t.ɵdid(1,49152,null,0,f.HintComponent,[d.Router,r.I18nService,v.ApiService,h.PlatformUtilsService],null,null)],null,null)}l.RenderType_HintComponent=g,l.View_HintComponent_0=m,l.View_HintComponent_Host_0=y;var C=t.ɵccf("app-hint",f.HintComponent,y,{},{},[]);l.HintComponentNgFactory=C},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=5)return this.messagingService.send("logout"),[2];this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidPin"))}return[3,16];case 12:return[4,this.cryptoService.makeKey(this.masterPassword,this.email,n,l)];case 13:return a=u.sent(),[4,this.cryptoService.hashPassword(this.masterPassword,a)];case 14:return s=u.sent(),[4,this.cryptoService.getKeyHash()];case 15:null!=(c=u.sent())&&null!=s&&c===s?this.setKeyAndContinue(a):this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidMasterPassword")),u.label=16;case 16:return[2]}})})},n.prototype.logOut=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("logOutConfirmation"),this.i18nService.t("logOut"),this.i18nService.t("logOut"),this.i18nService.t("cancel"))];case 1:return n.sent()&&this.messagingService.send("logout"),[2]}})})},n.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Master Password on Unlock"),this.showPassword=!this.showPassword,document.getElementById(this.pinLock?"pin":"masterPassword").focus()},n.prototype.setKeyAndContinue=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.cryptoService.setKey(n)];case 1:return l.sent(),this.doContinue(),[2]}})})},n.prototype.doContinue=function(){this.messagingService.send("unlocked"),null!=this.onSuccessfulSubmit?this.onSuccessfulSubmit():null!=this.router&&this.router.navigate([this.successRoute])},n}();l.LockComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(460),i=e(10),a=e(13),s=e(4),c=e(9),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,12,"div",[["class","mt-5 d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,0,"img",[["alt","Bitwarden"],["class","mb-4 logo"],["src","images/logo-dark@2x.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,4,"p",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-2x text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"loading")),"");n(l,9,0,e)})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-verify-email-token",[],null,null,null,p,d)),t.ɵdid(1,114688,null,0,o.VerifyEmailTokenComponent,[i.Router,a.ToasterService,r.I18nService,i.ActivatedRoute,s.ApiService,c.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VerifyEmailTokenComponent=d,l.View_VerifyEmailTokenComponent_0=p,l.View_VerifyEmailTokenComponent_Host_0=f;var v=t.ɵccf("app-verify-email-token",o.VerifyEmailTokenComponent,f,{},{},[]);l.VerifyEmailTokenComponentNgFactory=v},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.userId=n,this.token=l}}();l.VerifyEmailRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),r=e(5),o=e(8),i=e(3),a=e(461),s=e(13),c=e(4),d=e(9),p=e(34),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"div",[["class","mt-5 d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt","Bitwarden"],["class","mb-4 logo"],["src","images/logo-dark@2x.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,4,"p",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-2x text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"loading")),"");n(l,8,0,e)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,44,"div",[["class","container"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,41,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,38,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,31,"div",[["class","card d-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,28,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,4,"p",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),(n()(),t.ɵeld(16,0,null,null,1,"strong",[["class","d-block mt-2"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,13,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"a",[["class","btn btn-primary btn-block"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,29).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(29,671744,null,0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),t.ɵpod(30,{email:0}),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"a",[["class","btn btn-primary btn-block ml-2 mt-0"],["routerLink","/register"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,35).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(35,671744,null,0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),t.ɵpod(36,{email:0}),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,t=n(l,30,0,e.email);n(l,29,0,t,"/");var u=n(l,36,0,e.email);n(l,35,0,u,"/register")},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"joinOrganization"));n(l,7,0,u),n(l,15,0,e.orgName),n(l,17,0,e.email);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"joinOrganizationDesc"));n(l,21,0,r),n(l,28,0,t.ɵnov(l,29).target,t.ɵnov(l,29).href);var o=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"logIn"));n(l,31,0,o),n(l,34,0,t.ɵnov(l,35).target,t.ɵnov(l,35).href);var i=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"createAccount"));n(l,37,0,i)})}function g(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(2,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(5,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,e.loading),n(l,5,0,!e.loading&&!e.authed)},null)}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-accept-organization",[],null,null,null,g,f)),t.ɵdid(1,114688,null,0,a.AcceptOrganizationComponent,[u.Router,s.ToasterService,i.I18nService,u.ActivatedRoute,c.ApiService,d.UserService,p.StateService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AcceptOrganizationComponent=f,l.View_AcceptOrganizationComponent_0=g,l.View_AcceptOrganizationComponent_Host_0=m;var y=t.ɵccf("app-accept-organization",a.AcceptOrganizationComponent,m,{},{},[]);l.AcceptOrganizationComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserAcceptRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(100),c=e(52),d=e(10),p=e(5),f=e(462),v=e(4),h=e(6),g=e(13),m=e(23),y=e(97),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,101,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,94,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,91,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,84,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,81,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,6,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["","\n "])),t.ɵppd(21,1),(n()(),t.ɵeld(22,0,null,null,2,"a",[["href","https://help.bitwarden.com/article/lost-two-step-device/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",""])),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,34)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,34).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,34)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,34)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(34,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(35,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(38,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(40,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(41,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(42,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,52)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,52)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,52)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(52,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(53,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(56,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(58,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(59,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"label",[["for","recoveryCode"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,8,"input",[["appInputVerbatim",""],["class","text-monospace form-control"],["id","recoveryCode"],["name","RecoveryCode"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,69)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,69).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,69)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,69)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.recoveryCode=e)&&u);return u},null,null)),t.ɵdid(69,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(70,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(73,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(75,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(76,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(79,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,16,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,8,"button",[["class","btn btn-primary btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(90,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,94).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(94,671744,null,0,d.RouterLinkWithHref,[d.Router,d.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(95,null,["\n ","\n "])),t.ɵppd(96,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,35,0,"");n(l,38,0,"Email",e.email);n(l,41,0,"");n(l,42,0,"false");n(l,53,0,"");n(l,56,0,"MasterPassword",e.masterPassword);n(l,59,0,"");n(l,70,0,"");n(l,73,0,"RecoveryCode",e.recoveryCode);n(l,76,0,"");n(l,94,0,"/")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"recoverAccountTwoStep"));n(l,12,0,e);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"recoverAccountTwoStepDesc"));n(l,20,0,u);var r=t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l,0),"learnMore"));n(l,23,0,r);var o=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"emailAddress"));n(l,30,0,o),n(l,33,0,t.ɵnov(l,35).required?"":null,t.ɵnov(l,40).ngClassUntouched,t.ɵnov(l,40).ngClassTouched,t.ɵnov(l,40).ngClassPristine,t.ɵnov(l,40).ngClassDirty,t.ɵnov(l,40).ngClassValid,t.ɵnov(l,40).ngClassInvalid,t.ɵnov(l,40).ngClassPending);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"masterPass"));n(l,48,0,i),n(l,51,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending);var a=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"recoveryCodeTitle"));n(l,65,0,a),n(l,68,0,t.ɵnov(l,70).required?"":null,t.ɵnov(l,75).ngClassUntouched,t.ɵnov(l,75).ngClassTouched,t.ɵnov(l,75).ngClassPristine,t.ɵnov(l,75).ngClassDirty,t.ɵnov(l,75).ngClassValid,t.ɵnov(l,75).ngClassInvalid,t.ɵnov(l,75).ngClassPending),n(l,83,0,t.ɵnov(l,1).loading);var s=t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l,0),"submit"));n(l,86,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l,0),"loading")),"");n(l,89,0,c),n(l,93,0,t.ɵnov(l,94).target,t.ɵnov(l,94).href);var d=t.ɵunv(l,95,0,n(l,96,0,t.ɵnov(l,0),"cancel"));n(l,95,0,d)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-recover-two-factor",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,f.RecoverTwoFactorComponent,[d.Router,v.ApiService,h.Angulartics2,g.ToasterService,r.I18nService,m.CryptoService,y.AuthService],null,null)],null,null)}l.RenderType_RecoverTwoFactorComponent=C,l.View_RecoverTwoFactorComponent_0=b,l.View_RecoverTwoFactorComponent_Host_0=w;var S=t.ɵccf("app-recover-two-factor",f.RecoverTwoFactorComponent,w,{},{},[]);l.RecoverTwoFactorComponentNgFactory=S},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(74).PasswordVerificationRequest);l.TwoFactorRecoveryRequest=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(100),c=e(52),d=e(10),p=e(5),f=e(463),v=e(4),h=e(6),g=e(13),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,56,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,53,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,43,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,30)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,30).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,30)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,30)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(30,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(31,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(36,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(37,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(38,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,16,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,8,"button",[["class","btn btn-primary btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,56).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(56,671744,null,0,d.RouterLinkWithHref,[d.Router,d.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(57,null,["\n ","\n "])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,31,0,"");n(l,34,0,"Email",e.email);n(l,37,0,"");n(l,38,0,"false");n(l,56,0,"/")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"deleteAccount"));n(l,12,0,e);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"deleteRecoverDesc"));n(l,20,0,u);var r=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"emailAddress"));n(l,26,0,r),n(l,29,0,t.ɵnov(l,31).required?"":null,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,45,0,t.ɵnov(l,1).loading);var o=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"submit"));n(l,48,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l,0),"loading")),"");n(l,51,0,i),n(l,55,0,t.ɵnov(l,56).target,t.ɵnov(l,56).href);var a=t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l,0),"cancel"));n(l,57,0,a)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-recover-delete",[],null,null,null,y,m)),t.ɵdid(1,49152,null,0,f.RecoverDeleteComponent,[d.Router,v.ApiService,h.Angulartics2,g.ToasterService,r.I18nService],null,null)],null,null)}l.RenderType_RecoverDeleteComponent=m,l.View_RecoverDeleteComponent_0=y,l.View_RecoverDeleteComponent_Host_0=C;var b=t.ɵccf("app-recover-delete",f.RecoverDeleteComponent,C,{},{},[]);l.RecoverDeleteComponentNgFactory=b},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.DeleteRecoverRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(33),c=e(28),d=e(10),p=e(5),f=e(464),v=e(4),h=e(6),g=e(13),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,56,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,49,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,46,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,39,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,36,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(20,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(21,0,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,4,"p",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,16,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,8,"button",[["class","btn btn-danger btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,49).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(49,671744,null,0,d.RouterLinkWithHref,[d.Router,d.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,5,0,l.component.formPromise);n(l,20,0,"warning");n(l,49,0,"/")},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var u=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"deleteAccount"));n(l,12,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"deleteAccountWarning"));n(l,21,0,r),n(l,27,0,e.email);var o=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"deleteRecoverConfirmDesc"));n(l,31,0,o),n(l,38,0,t.ɵnov(l,1).loading);var i=t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"deleteAccount"));n(l,41,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"loading")),"");n(l,44,0,a),n(l,48,0,t.ɵnov(l,49).target,t.ɵnov(l,49).href);var s=t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"cancel"));n(l,50,0,s)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-verify-recover-delete",[],null,null,null,y,m)),t.ɵdid(1,114688,null,0,f.VerifyRecoverDeleteComponent,[d.Router,v.ApiService,h.Angulartics2,g.ToasterService,r.I18nService,d.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VerifyRecoverDeleteComponent=m,l.View_VerifyRecoverDeleteComponent_0=y,l.View_VerifyRecoverDeleteComponent_Host_0=C;var b=t.ɵccf("app-verify-recover-delete",f.VerifyRecoverDeleteComponent,C,{},{},[]);l.VerifyRecoverDeleteComponentNgFactory=b},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.userId=n,this.token=l}}();l.VerifyDeleteRecoverRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(544),r=e(465),o=e(20),i=e(7),a=e(72),s=e(10),c=e(545),d=e(466),p=e(467),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-navbar",[],null,null,null,u.View_NavbarComponent_0,u.RenderType_NavbarComponent)),t.ɵdid(1,114688,null,0,r.NavbarComponent,[o.MessagingService,i.PlatformUtilsService,a.TokenService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(3,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(4,212992,null,0,s.RouterOutlet,[s.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(6,0,null,null,1,"app-footer",[],null,null,null,c.View_FooterComponent_0,c.RenderType_FooterComponent)),t.ɵdid(7,114688,null,0,d.FooterComponent,[i.PlatformUtilsService],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,1,0),n(l,4,0),n(l,7,0)},null)}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-layout",[],null,null,null,v,f)),t.ɵdid(1,114688,null,0,p.UserLayoutComponent,[],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserLayoutComponent=f,l.View_UserLayoutComponent_0=v,l.View_UserLayoutComponent_Host_0=h;var g=t.ɵccf("app-user-layout",p.UserLayoutComponent,h,{},{},[]);l.UserLayoutComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(819),r=e(546),o=e(4),i=e(3),a=e(6),s=e(13),c=e(10),d=e(5),p=e(8),f=e(820),v=e(260),h=e(45),g=e(58),m=e(63),y=e(9),C=e(17),b=e(14),w=e(41),S=e(822),_=e(261),I=e(135),R=e(7),k=e(22),A=e(547),O=e(233),P=e(65),T=e(468),N=e(72),E=e(23),V=e(20),x=e(99),M=t.ɵcrt({encapsulation:2,styles:[],data:{}});function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"div",[["class","card border-warning mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"div",[["class","card-header bg-warning text-white"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-warning fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,[" ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"button",[["class","btn btn-block btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateKey()&&t);return t},null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"updateKeyTitle"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"updateEncryptionKeyShortDesc"));n(l,11,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"updateEncryptionKey"));n(l,15,0,r)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-verify-email",[["class","d-block mb-4"]],null,null,null,u.View_VerifyEmailComponent_0,u.RenderType_VerifyEmailComponent)),t.ɵdid(1,49152,null,0,r.VerifyEmailComponent,[o.ApiService,i.I18nService,a.Angulartics2,s.ToasterService],null,null)],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"div",[["class","card border-warning mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"div",[["class","card-header bg-warning text-white"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-warning fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,[" ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"a",[["class","btn btn-block btn-outline-secondary"],["href","https://browser-update.org/update-browser.html"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"updateBrowser"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"updateBrowserDesc"));n(l,11,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"updateBrowser"));n(l,15,0,r)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,"div",[["class","card border-success mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"div",[["class","card-header bg-success text-white"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-star fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,[" ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,10,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,3,"a",[["class","btn btn-block btn-outline-secondary"],["routerLink","/settings/premium"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,15).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(15,671744,null,0,c.RouterLinkWithHref,[c.Router,c.ActivatedRoute,d.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(16,null,["\n ","\n "])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,15,0,"/settings/premium")},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"goPremium"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"premiumUpgradeUnlockFeatures"));n(l,11,0,u),n(l,14,0,t.ɵnov(l,15).target,t.ɵnov(l,15).href);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent,0),"goPremium"));n(l,16,0,r)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function J(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{groupingsComponent:0}),t.ɵqud(402653184,2,{ciphersComponent:0}),t.ɵqud(402653184,3,{organizationsComponent:0}),t.ɵqud(402653184,4,{attachmentsModalRef:0}),t.ɵqud(402653184,5,{folderAddEditModalRef:0}),t.ɵqud(402653184,6,{cipherAddEditModalRef:0}),t.ɵqud(402653184,7,{shareModalRef:0}),t.ɵqud(402653184,8,{collectionsModalRef:0}),t.ɵqud(402653184,9,{bulkDeleteModalRef:0}),t.ɵqud(402653184,10,{bulkMoveModalRef:0}),t.ɵqud(402653184,11,{bulkShareModalRef:0}),t.ɵqud(402653184,12,{updateKeyModalRef:0}),(n()(),t.ɵeld(13,0,null,null,122,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,119,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"app-vault-groupings",[],null,[[null,"onAllClicked"],[null,"onFavoritesClicked"],[null,"onCipherTypeClicked"],[null,"onFolderClicked"],[null,"onAddFolder"],[null,"onEditFolder"],[null,"onCollectionClicked"],[null,"onSearchTextChanged"]],function(n,l,e){var t=!0,u=n.component;"onAllClicked"===l&&(t=!1!==u.clearGroupingFilters()&&t);"onFavoritesClicked"===l&&(t=!1!==u.filterFavorites()&&t);"onCipherTypeClicked"===l&&(t=!1!==u.filterCipherType(e)&&t);"onFolderClicked"===l&&(t=!1!==u.filterFolder(e.id)&&t);"onAddFolder"===l&&(t=!1!==u.addFolder()&&t);"onEditFolder"===l&&(t=!1!==u.editFolder(e.id)&&t);"onCollectionClicked"===l&&(t=!1!==u.filterCollection(e.id)&&t);"onSearchTextChanged"===l&&(t=!1!==u.filterSearchText(e)&&t);return t},f.View_GroupingsComponent_0,f.RenderType_GroupingsComponent)),t.ɵdid(20,49152,[[1,4]],0,v.GroupingsComponent,[h.CollectionService,g.FolderService,m.StorageService,y.UserService],null,{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,75,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,68,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,9,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(29,null,["\n ","\n "])),t.ɵppd(30,1),(n()(),t.ɵeld(31,0,[["actionSpinner",1]],null,5,"small",[],null,null,null,null,null)),t.ɵdid(32,540672,null,0,C.ApiActionDirective,[t.ElementRef,b.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(35,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,54,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,45,"div",[["appListDropdown",""],["class","dropdown mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-sm btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["id","bulkActionsButton"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-cog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,37,"div",[["aria-labelledby","bulkActionsButton"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,51).onClick(e)&&u);"click"===l&&(u=!1!==r.bulkMove()&&u);return u},null,null)),t.ɵdid(51,16384,null,0,w.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,0,"i",[["class","fa fa-fw fa-share"]],null,null,null,null,null)),(n()(),t.ɵted(54,null,["\n ","\n "])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,58).onClick(e)&&u);"click"===l&&(u=!1!==r.bulkShare()&&u);return u},null,null)),t.ɵdid(58,16384,null,0,w.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa fa-fw fa-share-alt"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["\n ","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,4,"a",[["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.bulkDelete()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(67,null,["\n ","\n "])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,0,"div",[["class","dropdown-divider"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,73).onClick(e)&&u);"click"===l&&(u=!1!==r.selectAll(!0)&&u);return u},null,null)),t.ɵdid(73,16384,null,0,w.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,0,"i",[["class","fa fa-fw fa-check-square-o"]],null,null,null,null,null)),(n()(),t.ɵted(76,null,["\n ","\n "])),t.ɵppd(77,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(79,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,80).onClick(e)&&u);"click"===l&&(u=!1!==r.selectAll(!1)&&u);return u},null,null)),t.ɵdid(80,16384,null,0,w.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,0,"i",[["class","fa fa-fw fa-minus-square-o"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,4,"button",[["class","btn btn-outline-primary btn-sm"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(91,null,["","\n "])),t.ɵppd(92,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(96,0,null,null,2,"app-vault-ciphers",[],null,[[null,"onCipherClicked"],[null,"onAttachmentsClicked"],[null,"onAddCipher"],[null,"onShareClicked"],[null,"onCollectionsClicked"]],function(n,l,e){var t=!0,u=n.component;"onCipherClicked"===l&&(t=!1!==u.editCipher(e)&&t);"onAttachmentsClicked"===l&&(t=!1!==u.editCipherAttachments(e)&&t);"onAddCipher"===l&&(t=!1!==u.addCipher()&&t);"onShareClicked"===l&&(t=!1!==u.shareCipher(e)&&t);"onCollectionsClicked"===l&&(t=!1!==u.editCipherCollections(e)&&t);return t},S.View_CiphersComponent_0,S.RenderType_CiphersComponent)),t.ɵdid(97,180224,[[2,4]],0,_.CiphersComponent,[I.SearchService,a.Angulartics2,s.ToasterService,i.I18nService,R.PlatformUtilsService,k.CipherService],null,{onCipherClicked:"onCipherClicked",onAddCipher:"onAddCipher",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,32,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(104,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(107,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(110,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(113,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(115,0,null,null,17,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,8,"div",[["class","card-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(118,null,["\n ","\n "])),t.ɵppd(119,1),(n()(),t.ɵeld(120,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/what-is-an-organization/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(127,0,null,null,4,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(129,0,null,null,1,"app-organizations",[],null,null,null,A.View_OrganizationsComponent_0,A.RenderType_OrganizationsComponent)),t.ɵdid(130,114688,[[3,4]],0,O.OrganizationsComponent,[y.UserService,R.PlatformUtilsService,i.I18nService,o.ApiService,a.Angulartics2,s.ToasterService,P.SyncService],{vault:[0,"vault"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["attachments",2]],null,0,null,j)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["folderAddEdit",2]],null,0,null,G)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["cipherAddEdit",2]],null,0,null,q)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[7,3],["share",2]],null,0,null,B)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[8,3],["collections",2]],null,0,null,K)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[9,3],["bulkDeleteTemplate",2]],null,0,null,H)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[10,3],["bulkMoveTemplate",2]],null,0,null,$)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[11,3],["bulkShareTemplate",2]],null,0,null,W)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[12,3],["updateKeyTemplate",2]],null,0,null,Y)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,32,0,e.ciphersComponent.actionPromise),n(l,35,0,t.ɵnov(l,31).loading),n(l,104,0,e.showUpdateKey),n(l,107,0,e.showVerifyEmail),n(l,110,0,e.showBrowserOutdated),n(l,113,0,e.showPremiumCallout);n(l,130,0,!0)},function(n,l){var e=t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"myVault"));n(l,29,0,e);var u=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"moveSelected"));n(l,54,0,u);var r=t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"shareSelected"));n(l,61,0,r);var o=t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l,0),"deleteSelected"));n(l,67,0,o);var i=t.ɵunv(l,76,0,n(l,77,0,t.ɵnov(l,0),"selectAll"));n(l,76,0,i);var a=t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l,0),"unselectAll"));n(l,83,0,a);var s=t.ɵunv(l,91,0,n(l,92,0,t.ɵnov(l,0),"addItem"));n(l,91,0,s);var c=t.ɵunv(l,118,0,n(l,119,0,t.ɵnov(l,0),"organizations"));n(l,118,0,c);var d=t.ɵinlineInterpolate(1,"",t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l,0),"learnMore")),"");n(l,120,0,d)})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault",[],null,null,null,J,M)),t.ɵdid(1,245760,null,0,T.VaultComponent,[P.SyncService,c.ActivatedRoute,c.Router,t.ChangeDetectorRef,i.I18nService,t.ComponentFactoryResolver,N.TokenService,E.CryptoService,V.MessagingService,y.UserService,R.PlatformUtilsService,s.ToasterService,x.BroadcasterService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VaultComponent=M,l.View_VaultComponent_0=J,l.View_VaultComponent_Host_0=X;var Z=t.ɵccf("app-vault",T.VaultComponent,X,{},{},[]);l.VaultComponentNgFactory=Z},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(17),i=e(14),a=e(546),s=e(4),c=e(6),d=e(13),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,25,"div",[["class","card border-warning"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,4,"div",[["class","card-header bg-warning text-white"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,0,"i",[["class","fa fa-envelope-o fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,[" ","\n "])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,16,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,[["sendBtn",1]],null,9,"button",[["class","btn btn-block btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.send()&&t);return t},null,null)),t.ɵdid(16,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,1,"i",[["class","fa fa-spin fa-spinner"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,l.component.actionPromise)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"verifyEmail"));n(l,6,0,e);var u=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"verifyEmailDesc"));n(l,12,0,u),n(l,15,0,t.ɵnov(l,15).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"loading")),"");n(l,18,0,r);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"sendEmail"));n(l,22,0,o)})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-verify-email",[],null,null,null,f,p)),t.ɵdid(1,49152,null,0,a.VerifyEmailComponent,[s.ApiService,r.I18nService,c.Angulartics2,d.ToasterService],null,null)],null,null)}l.RenderType_VerifyEmailComponent=p,l.View_VerifyEmailComponent_0=f,l.View_VerifyEmailComponent_Host_0=v;var h=t.ɵccf("app-verify-email",a.VerifyEmailComponent,v,{},{},[]);l.VerifyEmailComponentNgFactory=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(41),o=e(8),i=e(3),a=e(12),s=e(100),c=e(260),d=e(45),p=e(58),f=e(63),v=e(9),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==r.selectFavorites()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-star"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,2,0,l.component.selectedFavorites);n(l,1,0,e)},function(n,l){var e=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"favorites"));n(l,8,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto show-active"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.editFolder(n.parent.context.$implicit.node)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-pencil fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"editFolder")),"");n(l,0,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,C)),t.ɵdid(3,540672,null,0,u.NgTemplateOutlet,[t.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),t.ɵpod(4,{$implicit:0}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,4,0,l.parent.context.$implicit.children);n(l,3,0,e,t.ɵnov(l.parent.parent.parent,15))},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,13,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"i",[["class","fa-li fa"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.collapse(n.context.$implicit.node)&&t);return t},null,null)),t.ɵdid(7,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(8,{"fa-caret-right":0,"fa-caret-down":1}),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,12).onClick(e)&&u);"click"===l&&(u=!1!==r.selectFolder(n.context.$implicit.node)&&u);return u},null,null)),t.ɵdid(12,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(16,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(20,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,t=n(l,2,0,e.selectedFolder&&l.context.$implicit.node.id===e.selectedFolderId);n(l,1,0,t);var u=n(l,8,0,e.isCollapsed(l.context.$implicit.node),!e.isCollapsed(l.context.$implicit.node));n(l,7,0,"fa-li fa",u),n(l,16,0,l.context.$implicit.node.id),n(l,20,0,l.context.$implicit.children.length&&!e.isCollapsed(l.context.$implicit.node))},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,0,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),"toggleCollapse")),"");n(l,6,0,e),n(l,13,0,l.context.$implicit.node.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(2,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,2,0,l.context.$implicit)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"h3",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵeld(5,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==r.addFolder()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,r.StopClickDirective,[],null,null),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,7,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(0,[["recursiveFolders",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,_)),t.ɵdid(18,540672,null,0,u.NgTemplateOutlet,[t.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),t.ɵpod(19,{$implicit:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,19,0,l.component.nestedFolders);n(l,18,0,e,t.ɵnov(l,15))},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folders"));n(l,3,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addFolder")),"");n(l,5,0,u)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,R)),t.ɵdid(3,540672,null,0,u.NgTemplateOutlet,[t.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),t.ɵpod(4,{$implicit:0}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,4,0,l.parent.context.$implicit.children);n(l,3,0,e,t.ɵnov(l.parent.parent.parent,8))},null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,3,"i",[["class","fa-li fa"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.collapse(n.context.$implicit.node)&&t);return t},null,null)),t.ɵdid(5,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(6,{"fa-caret-right":0,"fa-caret-down":1}),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCollection(n.context.$implicit.node)&&u);return u},null,null)),t.ɵdid(10,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,t=n(l,2,0,l.context.$implicit.node.id===e.selectedCollectionId);n(l,1,0,t);var u=n(l,6,0,e.isCollapsed(l.context.$implicit.node),!e.isCollapsed(l.context.$implicit.node));n(l,5,0,"fa-li fa",u),n(l,14,0,l.context.$implicit.children.length&&!e.isCollapsed(l.context.$implicit.node))},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"toggleCollapse")),"");n(l,4,0,e),n(l,11,0,l.context.$implicit.node.name)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(2,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,2,0,l.context.$implicit)},null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(0,[["recursiveCollections",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,P)),t.ɵdid(11,540672,null,0,u.NgTemplateOutlet,[t.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),t.ɵpod(12,{$implicit:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,12,0,l.component.nestedCollections);n(l,11,0,e,t.ɵnov(l,8))},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections"));n(l,3,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.showFolders),n(l,6,0,e.showCollections&&e.collections&&e.collections.length)},null)}function E(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,102,"div",[["class","card vault-filters"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","card-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1),(n()(),t.ɵeld(6,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/searching-vault/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,89,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,7,"input",[["appAutofocus",""],["class","form-control"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,16)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,16)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,16)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);"input"===l&&(u=!1!==r.searchTextChanged()&&u);return u},null,null)),t.ɵdid(16,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(18,671744,null,0,a.NgModel,[[8,null],[8,null],[8,null],[6,a.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(20,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(21,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,16,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(27,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(28,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e)&&u);"click"===l&&(u=!1!==r.selectAll()&&u);return u},null,null)),t.ɵdid(31,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-th"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["","\n "])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(39,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,49,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(49,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(50,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,53).onClick(e)&&u);"click"===l&&(u=!1!==r.selectType(r.cipherType.Login)&&u);return u},null,null)),t.ɵdid(53,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-globe"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["","\n "])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(61,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(62,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,65).onClick(e)&&u);"click"===l&&(u=!1!==r.selectType(r.cipherType.Card)&&u);return u},null,null)),t.ɵdid(65,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-credit-card"]],null,null,null,null,null)),(n()(),t.ɵted(68,null,["","\n "])),t.ɵppd(69,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(73,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(74,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,77).onClick(e)&&u);"click"===l&&(u=!1!==r.selectType(r.cipherType.Identity)&&u);return u},null,null)),t.ɵdid(77,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(79,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-id-card-o"]],null,null,null,null,null)),(n()(),t.ɵted(80,null,["","\n "])),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(85,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(86,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,89).onClick(e)&&u);"click"===l&&(u=!1!==r.selectType(r.cipherType.SecureNote)&&u);return u},null,null)),t.ɵdid(89,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-sticky-note-o"]],null,null,null,null,null)),(n()(),t.ɵted(92,null,["","\n "])),t.ɵppd(93,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(98,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(101,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,18,0,e.searchText);n(l,21,0,"");var t=n(l,28,0,e.selectedAll);n(l,27,0,t),n(l,39,0,e.showFavorites);var u=n(l,50,0,e.selectedType===e.cipherType.Login);n(l,49,0,u);var r=n(l,62,0,e.selectedType===e.cipherType.Card);n(l,61,0,r);var o=n(l,74,0,e.selectedType===e.cipherType.Identity);n(l,73,0,o);var i=n(l,86,0,e.selectedType===e.cipherType.SecureNote);n(l,85,0,i),n(l,98,0,!e.loaded),n(l,101,0,e.loaded)},function(n,l){var e=l.component,u=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"filters"));n(l,4,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"learnMore")),"");n(l,6,0,r);var o=t.ɵinlineInterpolate(1,"",e.searchPlaceholder||t.ɵunv(l,15,0,n(l,22,0,t.ɵnov(l,0),"searchVault")),"");n(l,15,0,o,t.ɵnov(l,20).ngClassUntouched,t.ɵnov(l,20).ngClassTouched,t.ɵnov(l,20).ngClassPristine,t.ɵnov(l,20).ngClassDirty,t.ɵnov(l,20).ngClassValid,t.ɵnov(l,20).ngClassInvalid,t.ɵnov(l,20).ngClassPending);var i=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"allItems"));n(l,34,0,i);var a=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"types"));n(l,43,0,a);var s=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"typeLogin"));n(l,56,0,s);var c=t.ɵunv(l,68,0,n(l,69,0,t.ɵnov(l,0),"typeCard"));n(l,68,0,c);var d=t.ɵunv(l,80,0,n(l,81,0,t.ɵnov(l,0),"typeIdentity"));n(l,80,0,d);var p=t.ɵunv(l,92,0,n(l,93,0,t.ɵnov(l,0),"typeSecureNote"));n(l,92,0,p)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-groupings",[],null,null,null,E,h)),t.ɵdid(1,49152,null,0,c.GroupingsComponent,[d.CollectionService,p.FolderService,f.StorageService,v.UserService],null,null)],null,null)}l.RenderType_GroupingsComponent=h,l.View_GroupingsComponent_0=E,l.View_GroupingsComponent_Host_0=V;var x=t.ɵccf("app-vault-groupings",c.GroupingsComponent,V,{showFolders:"showFolders",showCollections:"showCollections",showFavorites:"showFavorites"},{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"},[]);l.GroupingsComponentNgFactory=x},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0),n(l,6,0,0===e.ciphers.length)},null)}function D(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(2,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,2,0,l.component.ciphers)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-ciphers",[],null,null,null,D,b)),t.ɵdid(1,180224,null,0,v.CiphersComponent,[h.SearchService,g.Angulartics2,m.ToasterService,f.I18nService,y.PlatformUtilsService,C.CipherService],null,null)],null,null)}l.RenderType_CiphersComponent=b,l.View_CiphersComponent_0=D,l.View_CiphersComponent_Host_0=U;var F=t.ɵccf("app-vault-ciphers",v.CiphersComponent,U,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"},[]);l.CiphersComponentNgFactory=F},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.el=n}return n.prototype.onError=function(){this.el.nativeElement.src=this.appFallbackSrc},n}();l.FallbackSrcDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&this.collections.length>0&&this.collections.forEach(function(n){r.collectionIds.indexOf(n.id)>-1&&(n.checked=!0)}),u.label=7;case 7:return t=this,[4,this.folderService.getAllDecrypted()];case 8:return t.folders=u.sent(),[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null==this.cipher.name||""===this.cipher.name?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nameRequired")),[2,!1]):(this.editMode||this.cipher.type!==o.CipherType.Login||null==this.cipher.login.uris||1!==this.cipher.login.uris.length||null!=this.cipher.login.uris[0].uri&&""!==this.cipher.login.uris[0].uri||(this.cipher.login.uris=null),this.editMode||null==this.cipher.organizationId||(this.cipher.collectionIds=null==this.collections?[]:this.collections.filter(function(n){return n.checked}).map(function(n){return n.id})),[4,this.encryptCipher()]);case 1:n=l.sent(),l.label=2;case 2:return l.trys.push([2,4,,5]),this.formPromise=this.saveCipher(n),[4,this.formPromise];case 3:return l.sent(),this.cipher.id=n.id,this.platformUtilsService.eventTrack(this.editMode?"Edited Cipher":"Added Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode?"editedItem":"addedItem")),this.onSavedCipher.emit(this.cipher),this.messagingService.send(this.editMode?"editedCipher":"addedCipher"),[2,!0];case 4:return l.sent(),[3,5];case 5:return[2,!1]}})})},n.prototype.addUri=function(){this.cipher.type===o.CipherType.Login&&(null==this.cipher.login.uris&&(this.cipher.login.uris=[]),this.cipher.login.uris.push(new h.LoginUriView))},n.prototype.removeUri=function(n){if(this.cipher.type===o.CipherType.Login&&null!=this.cipher.login.uris){var l=this.cipher.login.uris.indexOf(n);l>-1&&this.cipher.login.uris.splice(l,1)}},n.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var n=new f.FieldView;n.type=this.addFieldType,this.cipher.fields.push(n)},n.prototype.removeField=function(n){var l=this.cipher.fields.indexOf(n);l>-1&&this.cipher.fields.splice(l,1)},n.prototype.trackByFunction=function(n,l){return n},n.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},n.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},n.prototype.share=function(){this.onShareCipher.emit(this.cipher)},n.prototype.editCollections=function(){this.onEditCollections.emit(this.cipher)},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return n.sent(),this.platformUtilsService.eventTrack("Deleted Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedItem")),this.onDeletedCipher.emit(this.cipher),this.messagingService.send("deletedCipher"),[3,5];case 4:return n.sent(),[3,5];case 5:return[2,!0]}})})},n.prototype.generatePassword=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},n.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Password on Edit"),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus()},n.prototype.toggleCardCode=function(){this.platformUtilsService.eventTrack("Toggled CardCode on Edit"),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus()},n.prototype.toggleFieldValue=function(n){var l=n;l.showValue=!l.showValue},n.prototype.toggleUriOptions=function(n){var l=n;l.showOptions=(null!=l.showOptions||null==n.match)&&!l.showOptions},n.prototype.loginUriMatchChanged=function(n){var l=n;l.showOptions=null==l.showOptions||l.showOptions},n.prototype.organizationChanged=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return null!=this.writeableCollections&&this.writeableCollections.forEach(function(n){return n.checked=!1}),null==this.cipher.organizationId?[3,2]:(this.collections=this.writeableCollections.filter(function(n){return n.organizationId===l.cipher.organizationId}),[4,this.userService.getOrganization(this.cipher.organizationId)]);case 1:return null!=(n=e.sent())&&(this.cipher.organizationUseTotp=n.useTotp),[3,3];case 2:this.collections=[],e.label=3;case 3:return[2]}})})},n.prototype.checkPassword=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.platformUtilsService.eventTrack("Check Password"),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return n=l.sent(),this.checkPasswordPromise=null,n>0?this.platformUtilsService.showToast("warning",null,this.i18nService.t("passwordExposed",n.toString())):this.platformUtilsService.showToast("success",null,this.i18nService.t("passwordSafe")),[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,n.sent().filter(function(n){return!n.readOnly})]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},n.prototype.saveCipher=function(n){return this.cipherService.saveWithServer(n)},n.prototype.deleteCipher=function(){return this.cipherService.deleteWithServer(this.cipher.id)},n}();l.AddEditComponent=C},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];u.label=1;case 1:return u.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(l[0]),e=this,[4,this.formPromise];case 2:return e.cipherDomain=u.sent(),t=this,[4,this.cipherDomain.decrypt()];case 3:return t.cipher=u.sent(),this.platformUtilsService.eventTrack("Added Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return u.sent(),[3,5];case 5:return n.type="",n.type="file",n.value="",[2]}})})},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null!=this.deletePromises[n.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 3:return e.sent(),this.platformUtilsService.eventTrack("Deleted Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedAttachment")),(l=this.cipher.attachments.indexOf(n))>-1&&this.cipher.attachments.splice(l,1),[3,5];case 4:return e.sent(),[3,5];case 5:return this.deletePromises[n.id]=null,this.onDeletedAttachment.emit(),[2]}})})},n.prototype.download=function(n){return t(this,void 0,void 0,function(){var l,e,t,r,o,i;return u(this,function(u){switch(u.label){case 0:return(l=n).downloading?[2]:this.canAccessAttachments?(l.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))]):(this.platformUtilsService.showToast("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(e=u.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),l.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,8,,9]),[4,e.arrayBuffer()];case 3:return t=u.sent(),null==n.key?[3,4]:(o=n.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:o=u.sent(),u.label=6;case 6:return r=o,[4,this.cryptoService.decryptFromBytes(t,r)];case 7:return i=u.sent(),this.platformUtilsService.saveFile(this.win,i,null,n.fileName),[3,9];case 8:return u.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,9];case 9:return l.downloading=!1,[2]}})})},n.prototype.init=function(){return t(this,void 0,void 0,function(){var n,l,e,t;return u(this,function(u){switch(u.label){case 0:return n=this,[4,this.loadCipher()];case 1:return n.cipherDomain=u.sent(),l=this,[4,this.cipherDomain.decrypt()];case 2:return l.cipher=u.sent(),e=this,[4,this.cryptoService.hasEncKey()];case 3:return e.hasUpdatedKey=u.sent(),[4,this.userService.canAccessPremium()];case 4:return t=u.sent(),this.canAccessAttachments=t||null!=this.cipher.organizationId,this.canAccessAttachments?[3,6]:[4,this.platformUtilsService.showDialog(this.i18nService.t("premiumRequiredDesc"),this.i18nService.t("premiumRequired"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"))];case 5:return u.sent()&&this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/?premium=purchase"),[3,8];case 6:return this.hasUpdatedKey?[3,8]:[4,this.platformUtilsService.showDialog(this.i18nService.t("updateKey"),this.i18nService.t("featureUnavailable"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"),"warning")];case 7:u.sent()&&this.platformUtilsService.launchUri("https://help.bitwarden.com/article/update-encryption-key/"),u.label=8;case 8:return[2]}})})},n.prototype.reuploadCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e,r=this;return u(this,function(o){switch(o.label){case 0:if(e=n,null!=n.key||e.downloading||null!=this.reuploadPromises[n.id])return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),this.reuploadPromises[n.id]=Promise.resolve().then(function(){return t(r,void 0,void 0,function(){var t,r,o,i,a,s,c,d,p;return u(this,function(u){switch(u.label){case 0:return e.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))];case 1:if(200!==(t=u.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),e.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,11,,12]),[4,t.arrayBuffer()];case 3:return r=u.sent(),null==n.key?[3,4]:(i=n.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:i=u.sent(),u.label=6;case 6:return o=i,[4,this.cryptoService.decryptFromBytes(r,o)];case 7:return a=u.sent(),s=this,[4,this.cipherService.saveAttachmentRawWithServer(this.cipherDomain,n.fileName,a,l)];case 8:return s.cipherDomain=u.sent(),c=this,[4,this.cipherDomain.decrypt()];case 9:return c.cipher=u.sent(),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 10:return u.sent(),(d=this.cipher.attachments.filter(function(l){return l.id===n.id})).length>0&&(p=this.cipher.attachments.indexOf(d[0]))>-1&&this.cipher.attachments.splice(p,1),this.platformUtilsService.eventTrack("Reuploaded Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onReuploadedAttachment.emit(),[3,12];case 11:return u.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,12];case 12:return e.downloading=!1,[2]}})})}),[4,this.reuploadPromises[n.id]];case 2:return o.sent(),[3,4];case 3:return o.sent(),[3,4];case 4:return[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.saveCipherAttachment=function(n){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,n)},n.prototype.deleteCipherAttachment=function(n){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,n)},n}();l.AttachmentsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1}),[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:this.cipherDomain.collectionIds=this.collections.filter(function(n){return!!n.checked}).map(function(n){return n.id}),n.label=1;case 1:return n.trys.push([1,3,,4]),this.formPromise=this.saveCollections(),[4,this.formPromise];case 2:return n.sent(),this.onSavedCollections.emit(),this.platformUtilsService.eventTrack("Edited Cipher Collections"),this.platformUtilsService.showToast("success",null,this.i18nService.t("editedItem")),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n=this;return u(this,function(l){switch(l.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,l.sent().filter(function(l){return!l.readOnly&&l.organizationId===n.cipher.organizationId})]}})})},n.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},n}();l.CollectionsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.filterCollections=function(){var n=this;this.writeableCollections.forEach(function(n){return n.checked=!1}),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(r){switch(r.label){case 0:return[4,this.cipherService.get(this.cipherId)];case 1:return[4,r.sent().decrypt()];case 2:n=r.sent(),l=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),r.label=3;case 3:return r.trys.push([3,5,,6]),this.formPromise=this.cipherService.shareWithServer(n,this.organizationId,l).then(function(){return t(e,void 0,void 0,function(){return u(this,function(n){return this.onSharedCipher.emit(),this.platformUtilsService.eventTrack("Shared Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("sharedItem")),[2]})})}),[4,this.formPromise];case 4:return r.sent(),[3,6];case 5:return r.sent(),[3,6];case 6:return[2]}})})},Object.defineProperty(n.prototype,"canSave",{get:function(){if(null!=this.collections)for(var n=0;n0)},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"domainRules"));n(l,4,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"domainRulesDesc"));n(l,9,0,u),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var r=t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"customEqDomains"));n(l,19,0,r),n(l,28,0,t.ɵnov(l,12).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"loading")),"");n(l,30,0,o);var i=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"save"));n(l,34,0,i);var a=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"globalEqDomains"));n(l,39,0,a),n(l,48,0,t.ɵnov(l,12).loading);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"loading")),"");n(l,50,0,s);var c=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"save"));n(l,54,0,c)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-domain-rules",[],null,null,null,I,h)),t.ɵdid(1,114688,null,0,d.DomainRulesComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_DomainRulesComponent=h,l.View_DomainRulesComponent_0=I,l.View_DomainRulesComponent_Host_0=R;var k=t.ɵccf("app-domain-rules",d.DomainRulesComponent,R,{},{},[]);l.DomainRulesComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UpdateDomainsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(41),a=e(5),s=e(8),c=e(265),d=e(4),p=e(9),f=e(20),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc"));n(l,1,0,e)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc"));n(l,1,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"));n(l,4,0,e);var u=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode"));n(l,8,0,u)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,0,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium"));n(l,2,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled&&e.canAccessPremium),n(l,15,0,!e.canAccessPremium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.canAccessPremium&&l.context.$implicit.premium);var u=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage"));n(l,22,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(35,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,k)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId);var t=n(l,25,0,!e.organizationId);n(l,24,0,t),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers"));n(l,26,0,u)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,O,v)),t.ɵdid(1,114688,null,0,c.TwoFactorSetupComponent,[d.ApiService,p.UserService,t.ComponentFactoryResolver,f.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=v,l.View_TwoFactorSetupComponent_0=O,l.View_TwoFactorSetupComponent_Host_0=P;var T=t.ɵccf("app-two-factor-setup",c.TwoFactorSetupComponent,P,{},{},[]);l.TwoFactorSetupComponentNgFactory=T},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(74).PasswordVerificationRequest);l.UpdateTwoFactorAuthenticatorRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(74).PasswordVerificationRequest);l.TwoFactorProviderRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(74).PasswordVerificationRequest);l.UpdateTwoFactorDuoRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(74).PasswordVerificationRequest);l.UpdateTwoFactorEmailRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(74).PasswordVerificationRequest);l.UpdateTwoFactorU2fDeleteRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(74).PasswordVerificationRequest);l.UpdateTwoFactorU2fRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(74).PasswordVerificationRequest);l.UpdateTwoFactorYubioOtpRequest=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(12),a=e(17),s=e(14),c=e(479),d=e(172),p=e(7),f=e(8),v=e(5),h=e(480),g=e(4),m=e(6),y=e(13),C=e(72),b=e(10),w=e(20),S=e(65),_=e(9),I=t.ɵcrt({encapsulation:2,styles:[],data:{}});function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-star"],["type","info"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n"])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent,0),"youHavePremiumAccess")),"");n(l,1,0,"info","fa-star",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"alreadyPremiumFromOrg"));n(l,3,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/premium"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"purchasePremium"));n(l,1,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(9,16384,null,0,i.NgControlStatusGroup,[[4,i.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFilePremium"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"));n(l,15,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_premium_license.json"));n(l,21,0,r),n(l,25,0,t.ɵnov(l,6).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"");n(l,27,0,o);var i=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit"));n(l,31,0,i)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,77,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(3,16384,null,0,i.NgControlStatusGroup,[[4,i.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,20,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,20).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,i.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵangular_packages_forms_forms_be]),t.ɵdid(22,671744,null,0,i.NgModel,[[2,i.ControlContainer],[8,null],[8,null],[6,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(24,16384,null,0,i.NgControlStatus,[[4,i.NgControl]],null,null),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,2),t.ɵppd(30,1),t.ɵppd(31,4),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(38,null,["\n ",": ","\n "])),t.ɵppd(39,1),t.ɵppd(40,2),(n()(),t.ɵeld(41,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[" ",": "," GB × "," = ","\n "])),t.ɵppd(43,1),t.ɵppd(44,2),t.ɵppd(45,2),(n()(),t.ɵeld(46,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",":"])),t.ɵppd(52,1),(n()(),t.ɵted(53,null,[" "," /","\n "])),t.ɵppd(54,2),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["",""])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(62,null,["",""])),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,1,"app-payment",[],null,null,null,c.View_PaymentComponent_0,c.RenderType_PaymentComponent)),t.ɵdid(66,245760,[[1,4]],0,d.PaymentComponent,[p.PlatformUtilsService],{hideBank:[0,"hideBank"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(71,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(74,null,["",""])),t.ɵppd(75,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,22,0,"AdditionalStorageGb",e.additionalStorage);n(l,66,0,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"addons"));n(l,7,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"additionalStorageGb"));n(l,15,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,25,0,t.ɵnov(l.parent,0),"additionalStorageGbDesc")),"");n(l,18,0,o,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending);var i=t.ɵunv(l,28,0,n(l,31,0,t.ɵnov(l.parent,0),"additionalStorageIntervalDesc","1 GB",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,28,0,n(l,30,0,t.ɵnov(l.parent,0),"year"))));n(l,28,0,i);var a=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l.parent,0),"summary"));n(l,36,0,a);var s=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent,0),"premiumMembership")),c=t.ɵunv(l,38,1,n(l,40,0,t.ɵnov(l.parent,1),e.premiumPrice,"$"));n(l,38,0,s,c);var d=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent,0),"additionalStorageGb")),p=e.additionalStorage||0,f=t.ɵunv(l,42,2,n(l,44,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),v=t.ɵunv(l,42,3,n(l,45,0,t.ɵnov(l.parent,1),e.additionalStorageTotal,"$"));n(l,42,0,d,p,f,v);var h=t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent,0),"total"));n(l,51,0,h);var g=t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l.parent,1),e.total,"USD $")),m=t.ɵunv(l,53,1,n(l,55,0,t.ɵnov(l.parent,0),"year"));n(l,53,0,g,m);var y=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent,0),"paymentChargedAnnually"));n(l,58,0,y);var C=t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"paymentInformation"));n(l,62,0,C),n(l,68,0,t.ɵnov(l,0).loading);var b=t.ɵinlineInterpolate(1,"",t.ɵunv(l,70,0,n(l,71,0,t.ɵnov(l.parent,0),"loading")),"");n(l,70,0,b);var w=t.ɵunv(l,74,0,n(l,75,0,t.ɵnov(l.parent,0),"submit"));n(l,74,0,w)})}function P(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,v.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(11,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,55,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(14,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(16,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(20,0,null,0,37,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["\n ","\n "])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["\n ","\n "])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(49,null,["\n ","\n "])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["\n ","\n "])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(59,0,null,0,5,"p",[["class","text-lg"]],null,null,null,null,null)),t.ɵdid(60,278528,null,0,v.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(61,{"mb-0":0}),(n()(),t.ɵted(62,null,["",""])),t.ɵppd(63,2),t.ɵppd(64,2),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(67,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(71,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(74,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,e.canAccessPremium);n(l,14,0,"success");var t=n(l,61,0,!e.selfHosted);n(l,60,0,"text-lg",t),n(l,67,0,e.selfHosted),n(l,71,0,e.selfHosted),n(l,74,0,!e.selfHosted)},function(n,l){var e=l.component,u=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"goPremium"));n(l,6,0,u);var r=t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"premiumUpgradeUnlockFeatures"));n(l,17,0,r);var o=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"premiumSignUpStorage"));n(l,25,0,o);var i=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"premiumSignUpTwoStep"));n(l,31,0,i);var a=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"premiumSignUpReports"));n(l,37,0,a);var s=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"premiumSignUpTotp"));n(l,43,0,s);var c=t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"premiumSignUpSupport"));n(l,49,0,c);var d=t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l,0),"premiumSignUpFuture"));n(l,55,0,d);var p=t.ɵunv(l,62,0,n(l,64,0,t.ɵnov(l,0),"premiumPrice",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,1),e.premiumPrice,"$"))));n(l,62,0,p)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-premium",[],null,null,null,P,I)),t.ɵdid(1,114688,null,0,h.PremiumComponent,[g.ApiService,o.I18nService,m.Angulartics2,y.ToasterService,p.PlatformUtilsService,C.TokenService,b.Router,w.MessagingService,S.SyncService,_.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PremiumComponent=I,l.View_PremiumComponent_0=P,l.View_PremiumComponent_Host_0=T;var N=t.ɵccf("app-premium",h.PremiumComponent,T,{},{},[]);l.PremiumComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(576),o=e(481),i=e(9),a=e(4),s=e(6),c=e(13),d=e(7),p=e(33),f=e(28),v=e(3),h=e(12),g=e(17),m=e(14),y=e(577),C=e(482),b=e(8),w=e(267),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"button",[["class","btn btn-sm btn-outline-primary ml-auto"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.load()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-spin":0}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){var e=n(l,4,0,l.component.loading);n(l,3,0,"fa fa-refresh fa-fw",e)},function(n,l){n(l,0,0,l.component.loading);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"refresh"));n(l,5,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCredit()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"addCredit"));n(l,1,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-add-credit",[],null,[[null,"onAdded"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdded"===l&&(t=!1!==u.closeAddCredit(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeAddCredit(!1)&&t);return t},r.View_AddCreditComponent_0,r.RenderType_AddCreditComponent)),t.ɵdid(1,114688,null,0,o.AddCreditComponent,[i.UserService,a.ApiService,s.Angulartics2,c.ToasterService,d.PlatformUtilsService],{organizationId:[0,"organizationId"]},{onAdded:"onAdded",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.organizationId)},null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noPaymentMethod"));n(l,1,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,p.View_CalloutComponent_0,p.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,f.CalloutComponent,[v.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,h.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,h.ControlContainer,null,[h.NgForm]),t.ɵdid(12,16384,null,0,h.NgControlStatusGroup,[[4,h.ControlContainer]],null,null),t.ɵdid(13,540672,null,0,g.ApiActionDirective,[t.ElementRef,m.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,h.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,h.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,h.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,h.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,h.NG_VALIDATORS,function(n){return[n]},[h.RequiredValidator]),t.ɵprd(1024,null,h.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[h.DefaultValueAccessor,h.ɵangular_packages_forms_forms_be]),t.ɵdid(33,671744,null,0,h.NgModel,[[2,h.ControlContainer],[6,h.NG_VALIDATORS],[8,null],[6,h.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,h.NgControl,null,[h.NgModel]),t.ɵdid(35,16384,null,0,h.NgControlStatus,[[4,h.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,h.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,h.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,h.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,h.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,h.NG_VALIDATORS,function(n){return[n]},[h.RequiredValidator]),t.ɵprd(1024,null,h.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[h.DefaultValueAccessor,h.ɵangular_packages_forms_forms_be]),t.ɵdid(56,671744,null,0,h.NgModel,[[2,h.ControlContainer],[6,h.NG_VALIDATORS],[8,null],[6,h.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,h.NgControl,null,[h.NgModel]),t.ɵdid(58,16384,null,0,h.NgControlStatus,[[4,h.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccount")),"");n(l,1,0,"warning",u),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccountDesc")),u=t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccountFailureWarning"));n(l,5,0,e,u),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent,0),"amount","1"));n(l,16,0,r),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending);var o=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent,0),"amount","2"));n(l,39,0,o),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,63,0,i);var a=t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccount"));n(l,67,0,a)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);var t=n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal);n(l,8,0,"fa fa-fw",t)},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod"));n(l,1,0,u)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},y.View_AdjustPaymentComponent_0,y.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,C.AdjustPaymentComponent,[a.ApiService,v.I18nService,s.Angulartics2,c.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noInvoices"));n(l,1,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-check text-success"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"paid"));n(l,3,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-exclamation-circle text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"unpaid"));n(l,3,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,31,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,11,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"a",[["class","mr-2"],["rel","noopener"],["target","_blank"]],[[8,"href",4],[8,"title",0]],null,null,null,null)),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"a",[["rel","noopener"],["target","_blank"]],[[8,"href",4],[8,"title",0]],null,null,null,null)),t.ɵppd(14,1),(n()(),t.ɵted(15,null,["\n ",""])),t.ɵppd(16,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,7,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,26,0,l.context.$implicit.paid),n(l,29,0,!l.context.$implicit.paid)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,2),l.context.$implicit.date,"mediumDate"));n(l,3,0,e);var u=t.ɵinlineInterpolate(1,"",l.context.$implicit.pdfUrl,""),r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"downloadInvoice")),"");n(l,8,0,u,r);var o=t.ɵinlineInterpolate(1,"",l.context.$implicit.url,""),i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,1,n(l,14,0,t.ɵnov(l.parent.parent.parent,0),"viewInvoice")),"");n(l,13,0,o,i);var a=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,0),"invoiceNumber",l.context.$implicit.number));n(l,15,0,a);var s=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.amount,"$"));n(l,20,0,s)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(5,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.invoices)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noTransactions"));n(l,1,0,e)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"chargeNoun"));n(l,1,0,e)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"refundNoun"));n(l,1,0,e)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{"fa-credit-card":0,"fa-university":1,"fa-bitcoin text-warning":2,"fa-paypal text-primary":3})],function(n,l){var e=l.component,t=n(l,2,0,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.Card,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.BankAccount||l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.WireTransfer,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.BitPay,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.PayPal);n(l,1,0,"fa fa-fw",t)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,27,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(12,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(18,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(19,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(23,{"text-strike":0}),t.ɵppd(24,1),(n()(),t.ɵted(25,null,["\n ",""])),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,l.context.$implicit.type===e.transactionType.Charge||l.context.$implicit.type===e.transactionType.Credit),n(l,12,0,l.context.$implicit.type===e.transactionType.Refund),n(l,18,0,l.context.$implicit.paymentMethodType);var t=n(l,23,0,l.context.$implicit.refunded);n(l,22,0,t)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,2),l.context.$implicit.createdDate,"mediumDate"));n(l,3,0,e),n(l,19,0,l.context.$implicit.details);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"");n(l,21,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.amount,"$"));n(l,25,0,r)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(5,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.transactions)},null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"p",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵeld(7,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(16,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(19,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(35,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(42,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(45,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,!e.showAddCredit),n(l,19,0,e.showAddCredit),n(l,26,0,!e.paymentSource),n(l,29,0,e.paymentSource),n(l,32,0,!e.showAdjustPayment),n(l,35,0,e.showAdjustPayment),n(l,42,0,!e.invoices||!e.invoices.length),n(l,45,0,e.invoices&&e.invoices.length),n(l,52,0,!e.transactions||!e.transactions.length),n(l,55,0,e.transactions&&e.transactions.length)},function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),e.isCreditBalance?"accountCredit":"accountBalance"));n(l,3,0,u);var r=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,1),e.creditOrBalance,"$"));n(l,8,0,r);var o=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"creditAppliedDesc"));n(l,12,0,o);var i=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"paymentMethod"));n(l,22,0,i);var a=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent,0),"invoices"));n(l,38,0,a);var s=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent,0),"transactions"));n(l,48,0,s);var c=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent,0),"chargesStatement","BITWARDEN"));n(l,58,0,c)})}function B(n){return t.ɵvid(0,[t.ɵpid(0,b.I18nPipe,[v.I18nService]),t.ɵpid(0,u.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(10,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(14,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(17,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.firstLoaded),n(l,14,0,!e.firstLoaded&&e.loading),n(l,17,0,e.billing)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"billing"));n(l,6,0,e)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-billing",[],null,null,null,B,S)),t.ɵdid(1,114688,null,0,w.UserBillingComponent,[a.ApiService,v.I18nService,s.Angulartics2,c.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserBillingComponent=S,l.View_UserBillingComponent_0=B,l.View_UserBillingComponent_Host_0=K;var H=t.ɵccf("app-user-billing",w.UserBillingComponent,K,{},{},[]);l.UserBillingComponentNgFactory=H},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.BitPayInvoiceRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PaymentRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Charge=0]="Charge",n[n.Credit=1]="Credit",n[n.PromotionalCredit=2]="PromotionalCredit",n[n.ReferralCredit=3]="ReferralCredit",n[n.Refund=4]="Refund"}(l.TransactionType||(l.TransactionType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.VerifyBankRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(17),a=e(14),s=e(5),c=e(578),d=e(483),p=e(4),f=e(6),v=e(13),h=e(579),g=e(484),m=e(8),y=e(485),C=e(72),b=e(7),w=e(10),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ",""])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),"");n(l,1,0,"warning",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled"));n(l,3,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"");n(l,1,0,"warning",u),n(l,9,0,e.reinstatePromise)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,8).loading);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,11,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription"));n(l,15,0,r)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.sub.expiration,"mediumDate"));n(l,1,0,u)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires"));n(l,1,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(7,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,e.sub.expiration),n(l,10,0,!e.sub.expiration)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"expiration"));n(l,3,0,e)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"pendingCancellation"));n(l,1,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.context.$implicit.name,u=l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",r=t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"));n(l,3,0,e,u,r);var o=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),i=t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval));n(l,7,0,o,i)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(11,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details"));n(l,3,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,26,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,23,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(16,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["","\n "])),t.ɵppd(25,2),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(31,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,e.subscriptionMarkedForCancel),n(l,31,0,e.subscription)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"status"));n(l,7,0,u),n(l,13,0,e.subscription&&e.subscription.status||"-");var r=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"nextCharge"));n(l,20,0,r);var o=e.nextInvoice?t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,24,0,n(l,26,0,t.ɵnov(l.parent.parent,2),e.nextInvoice.amount,"$")):"-";n(l,24,0,o)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},c.View_UpdateLicenseComponent_0,c.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,d.UpdateLicenseComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],null,{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense"));n(l,5,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/subscription"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"));n(l,5,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription"));n(l,9,0,u)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense"));n(l,1,0,e)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription"));n(l,7,0,u)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","ml-1 btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage"));n(l,7,0,u)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},h.View_AdjustStorageComponent_0,h.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,g.AdjustStorageComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){n(l,1,0,4,l.component.adjustStorageAdd)},null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(23,{width:0}),(n()(),t.ɵted(24,null,["\n ",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.subscription||!e.subscription.cancelled),n(l,8,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel);var t=n(l,23,0,e.storageProgressWidth+"%");n(l,22,0,t),n(l,29,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel)},function(n,l){var e=l.component,u=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent,0),"storage"));n(l,12,0,u);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.sub.maxStorageGb||0,e.sub.storageName||"0 MB"));n(l,16,0,r),n(l,21,0,e.storagePercentage);var o=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100));n(l,24,0,o)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function q(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[o.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.sub)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"premiumMembership"));n(l,7,0,e)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-subscription",[],null,null,null,q,S)),t.ɵdid(1,114688,null,0,y.UserSubscriptionComponent,[C.TokenService,p.ApiService,b.PlatformUtilsService,o.I18nService,f.Angulartics2,v.ToasterService,w.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserSubscriptionComponent=S,l.View_UserSubscriptionComponent_0=q,l.View_UserSubscriptionComponent_Host_0=B;var K=t.ɵccf("app-user-subscription",y.UserSubscriptionComponent,B,{},{},[]);l.UserSubscriptionComponentNgFactory=K},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(17),o=e(14),i=e(5),a=e(479),s=e(172),c=e(7),d=e(8),p=e(3),f=e(486),v=e(4),h=e(6),g=e(13),m=e(23),y=e(10),C=e(65),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFileOrg"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"));n(l,15,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_organization_license.json"));n(l,21,0,r),n(l,25,0,t.ɵnov(l,6).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"");n(l,27,0,o);var i=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit"));n(l,31,0,i)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.businessName=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,"BusinessName",l.component.businessName)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"businessName"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFree"],["name","PlanType"],["type","radio"],["value","free"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.plan=e)&&u);"change"===l&&(u=!1!==r.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"label",[["class","form-check-label"],["for","planFree"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","free");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFree"));n(l,11,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFree","1"));n(l,14,0,u);var r=t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"limitedUsers","2"));n(l,18,0,r);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"limitedCollections","2"));n(l,22,0,o);var i=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"freeForever"));n(l,26,0,i)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,47,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFamilies"],["name","PlanType"],["type","radio"],["value","families"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.plan=e)&&u);"change"===l&&(u=!1!==r.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,36,"label",[["class","form-check-label"],["for","planFamilies"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["• ",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["• ",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["• ",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["• ",""])),t.ɵppd(39,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[""," /",", ",""])),t.ɵppd(43,2),t.ɵppd(44,1),t.ɵppd(45,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","families");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFamilies"));n(l,11,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFamilies"));n(l,14,0,u);var r=t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"addShareLimitedUsers","5"));n(l,18,0,r);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"createUnlimitedCollections"));n(l,22,0,o);var i=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"gbEncryptedFileStorage","1 GB"));n(l,26,0,i);var a=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,0),"onPremHostingOptional"));n(l,30,0,a);var s=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l.parent.parent,0),"priorityCustomerSupport"));n(l,34,0,s);var c=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent.parent,0),"xDayFreeTrial","7"));n(l,38,0,c);var d=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,1),1,"$")),p=t.ɵunv(l,42,1,n(l,44,0,t.ɵnov(l.parent.parent,0),"month")),f=t.ɵunv(l,42,2,n(l,45,0,t.ɵnov(l.parent.parent,0),"includesXUsers",5));n(l,42,0,d,p,f)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,20,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","1"],["name","AdditionalSeats"],["required",""],["type","number"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,u.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(17,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵangular_packages_forms_forms_be]),t.ɵdid(20,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(22,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"");n(l,20,0,"AdditionalSeats",e.additionalSeats)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"users"));n(l,3,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"userSeats"));n(l,11,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,14,0,n(l,23,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),"");n(l,14,0,r,t.ɵnov(l,17).required?"":null,t.ɵnov(l,22).ngClassUntouched,t.ɵnov(l,22).ngClassTouched,t.ɵnov(l,22).ngClassPristine,t.ɵnov(l,22).ngClassDirty,t.ɵnov(l,22).ngClassValid,t.ɵnov(l,22).ngClassInvalid,t.ɵnov(l,22).ngClassPending);var o=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsHowManyDesc"));n(l,26,0,o)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","0"],["name","AdditionalSeats"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵangular_packages_forms_forms_be]),t.ɵdid(12,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(14,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,2),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,"AdditionalSeats",l.component.additionalSeats)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"additionalUserSeats"));n(l,5,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),"");n(l,8,0,r,t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending);var o=t.ɵunv(l,18,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsAdditionalDesc",e.plans[e.plan].baseSeats,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$"))));n(l,18,0,o)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"input",[["class","form-check-input"],["id","premiumAccess"],["name","PremiumAccessAddon"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.premiumAccessAddon=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"label",[["class","form-check-label bold"],["for","premiumAccess"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,4,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,2),t.ɵppd(19,1),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,"PremiumAccessAddon",l.component.premiumAccessAddon)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent,0),"premiumAccess"));n(l,12,0,e);var u=t.ɵunv(l,17,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"premiumAccessDesc",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent.parent,1),3.33,"$")),t.ɵunv(l,17,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,0),"month"))));n(l,17,0,u)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," ×12 "," =\n ","\n /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"basePrice")),r=t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].basePrice,"$")),o=t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),i=t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),e.baseTotal(!0),"$")),a=t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year"));n(l,1,0,u,r,o,i,a)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"additionalUsers"));n(l,1,0,e)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"users"));n(l,1,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(3,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(6,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," ×12\n "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),t.ɵppd(10,2),t.ɵppd(11,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component,u=e.additionalSeats||0,r=t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")),o=t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),i=t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent,1),e.seatTotal(!0),"$")),a=t.ɵunv(l,7,4,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"year"));n(l,7,0,u,r,o,i,a)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",":\n "," ×12 "," = "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"premiumAccess")),u=t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),3.33,"$")),r=t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),o=t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),40,"$")),i=t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year"));n(l,1,0,e,u,r,o,i)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"basePrice")),r=t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,1),e.baseTotal(!1),"$")),o=t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"month"));n(l,1,0,u,r,o)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"additionalUsers"));n(l,1,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"users"));n(l,1,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(3,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(6,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," =\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,2),t.ɵppd(10,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component,u=e.additionalSeats||0,r=t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,1),e.plans[e.plan].monthlySeatPrice,"$")),o=t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,1),e.seatTotal(!1),"$")),i=t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent.parent,0),"month"));n(l,7,0,u,r,o,i)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","intervalMonthly"],["name","BillingInterval"],["type","radio"],["value","month"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.interval=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"label",[["class","form-check-label"],["for","intervalMonthly"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(14,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(17,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"small",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ",": "," ×\n "," = "," /","\n "])),t.ɵppd(21,1),t.ɵppd(22,2),t.ɵppd(23,2),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"BillingInterval","month");n(l,6,0,"BillingInterval",e.interval),n(l,14,0,e.plans[e.plan].monthlyBasePrice),n(l,17,0,!e.plans[e.plan].noAdditionalSeats)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"monthly"));n(l,11,0,u);var r=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"additionalStorageGb")),o=e.additionalStorage||0,i=t.ɵunv(l,20,2,n(l,22,0,t.ɵnov(l.parent.parent.parent,1),e.storageGb.monthlyPrice,"$")),a=t.ɵunv(l,20,3,n(l,23,0,t.ɵnov(l.parent.parent.parent,1),e.additionalStorageTotal(!1),"$")),s=t.ɵunv(l,20,4,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),"month"));n(l,20,0,r,o,i,a,s)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,104,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(3,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(10,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,20,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,21)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,21).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,21)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,21)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(22,16384,null,0,u.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵangular_packages_forms_forms_be]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,4,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,2),t.ɵppd(32,1),t.ɵppd(33,4),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(40,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,30,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"input",[["class","form-check-input"],["id","intervalAnnually"],["name","BillingInterval"],["type","radio"],["value","year"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,50)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,50).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,50)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,50)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,51).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.interval=e)&&u);return u},null,null)),t.ɵdid(50,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(51,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(53,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(55,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,19,"label",[["class","form-check-label"],["for","intervalAnnually"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(61,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(64,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["\n ",": "," ×\n "," ×12 "," = "," /","\n "])),t.ɵppd(68,1),t.ɵppd(69,2),t.ɵppd(70,1),t.ɵppd(71,2),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(75,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(80,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(87,null,["",":"])),t.ɵppd(88,1),(n()(),t.ɵted(89,null,[" "," /","\n "])),t.ɵppd(90,2),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,3,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(94,null,["",""])),t.ɵppd(95,1),t.ɵppd(96,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(98,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(99,null,["",""])),t.ɵppd(100,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,1,"app-payment",[],null,null,null,a.View_PaymentComponent_0,a.RenderType_PaymentComponent)),t.ɵdid(103,245760,[[1,4]],0,s.PaymentComponent,[c.PlatformUtilsService],{hideCredit:[0,"hideCredit"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.plans[e.plan].noAdditionalSeats&&!e.plans[e.plan].baseSeats),n(l,10,0,!e.plans[e.plan].noAdditionalSeats&&e.plans[e.plan].baseSeats);n(l,24,0,"AdditionalStorageGb",e.additionalStorage),n(l,40,0,e.plans[e.plan].canBuyPremiumAccessAddon);n(l,51,0,"BillingInterval","year");n(l,53,0,"BillingInterval",e.interval),n(l,61,0,e.plans[e.plan].annualBasePrice),n(l,64,0,!e.plans[e.plan].noAdditionalSeats),n(l,75,0,e.plans[e.plan].canBuyPremiumAccessAddon&&e.premiumAccessAddon),n(l,80,0,e.plans[e.plan].monthlySeatPrice);n(l,103,0,!0)},function(n,l){var e=l.component,u=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addons"));n(l,6,0,u);var r=t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb"));n(l,17,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"additionalStorageGbDesc")),"");n(l,20,0,o,t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending);var i=t.ɵunv(l,30,0,n(l,33,0,t.ɵnov(l.parent.parent,0),"additionalStorageIntervalDesc","1 GB",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"month"))));n(l,30,0,i);var a=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l.parent.parent,0),"summary"));n(l,44,0,a),n(l,49,0,t.ɵnov(l,55).ngClassUntouched,t.ɵnov(l,55).ngClassTouched,t.ɵnov(l,55).ngClassPristine,t.ɵnov(l,55).ngClassDirty,t.ɵnov(l,55).ngClassValid,t.ɵnov(l,55).ngClassInvalid,t.ɵnov(l,55).ngClassPending);var s=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent.parent,0),"annually"));n(l,58,0,s);var c=t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb")),d=e.additionalStorage||0,p=t.ɵunv(l,67,2,n(l,69,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),f=t.ɵunv(l,67,3,n(l,70,0,t.ɵnov(l.parent.parent,0),"monthAbbr")),v=t.ɵunv(l,67,4,n(l,71,0,t.ɵnov(l.parent.parent,1),e.additionalStorageTotal(!0),"$")),h=t.ɵunv(l,67,5,n(l,72,0,t.ɵnov(l.parent.parent,0),"year"));n(l,67,0,c,d,p,f,v,h);var g=t.ɵunv(l,87,0,n(l,88,0,t.ɵnov(l.parent.parent,0),"total"));n(l,87,0,g);var m=t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l.parent.parent,1),e.total,"USD $")),y=t.ɵunv(l,89,1,n(l,91,0,t.ɵnov(l.parent.parent,0),e.interval));n(l,89,0,m,y);var C=t.ɵunv(l,94,0,n(l,96,0,t.ɵnov(l.parent.parent,0),"paymentChargedWithTrial",t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent.parent,0),e.interval))));n(l,94,0,C);var b=t.ɵunv(l,99,0,n(l,100,0,t.ɵnov(l.parent.parent,0),"paymentInformation"));n(l,99,0,b)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,202,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(23,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(25,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.billingEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,12,"div",[["class","form-group form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,5,"input",[["class","form-check-input"],["id","ownedBusiness"],["name","OwnedBusiness"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,48).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.ownedBusiness=e)&&u);"change"===l&&(u=!1!==r.changedOwnedBusiness()&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"label",[["class","form-check-label"],["for","ownedBusiness"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(60,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(67,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(70,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,46,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,6,"input",[["class","form-check-input"],["id","planTeams"],["name","PlanType"],["type","radio"],["value","teams"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,75)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,75).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,75)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,75)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,76).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.plan=e)&&u);"change"===l&&(u=!1!==r.changedPlan()&&u);return u},null,null)),t.ɵdid(75,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(76,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,35,"label",[["class","form-check-label"],["for","planTeams"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵeld(85,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(90,null,["• ",""])),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["• ",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(98,null,["• ",""])),t.ɵppd(99,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(102,null,["• ",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(105,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(106,null,["• ",""])),t.ɵppd(107,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,7,"span",[],null,null,null,null,null)),(n()(),t.ɵted(110,null,[""," /",", ",",\n ","\n "," /",""])),t.ɵppd(111,2),t.ɵppd(112,1),t.ɵppd(113,2),t.ɵppd(114,1),t.ɵppd(115,2),t.ɵppd(116,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,63,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(122,0,null,null,6,"input",[["class","form-check-input"],["id","planEnterprise"],["name","PlanType"],["type","radio"],["value","enterprise"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,123)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,123).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,123)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,123)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,124).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.plan=e)&&u);"change"===l&&(u=!1!==r.changedPlan()&&u);return u},null,null)),t.ɵdid(123,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(124,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(130,0,null,null,52,"label",[["class","form-check-label"],["for","planEnterprise"]],null,null,null,null,null)),(n()(),t.ɵted(131,null,["\n ","\n "])),t.ɵppd(132,1),(n()(),t.ɵeld(133,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(134,null,["",""])),t.ɵppd(135,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(138,null,["• ",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(142,null,["• ",""])),t.ɵppd(143,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(146,null,["• ",""])),t.ɵppd(147,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(149,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(150,null,["• ",""])),t.ɵppd(151,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(154,null,["• ",""])),t.ɵppd(155,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(158,null,["• ",""])),t.ɵppd(159,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(161,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(162,null,["• ",""])),t.ɵppd(163,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(166,null,["• ",""])),t.ɵppd(167,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(169,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(170,null,["• ",""])),t.ɵppd(171,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(173,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(174,null,["• ",""])),t.ɵppd(175,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(177,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(178,null,[""," /",""])),t.ɵppd(179,2),t.ɵppd(180,2),t.ɵppd(181,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(186,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,13,"div",[],null,null,null,null,null)),t.ɵdid(189,278528,null,0,i.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(190,{"mt-4":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(192,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(194,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(195,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(197,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(198,null,["",""])),t.ɵppd(199,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,20,0,"");n(l,23,0,"Name",e.name);n(l,36,0,"");n(l,39,0,"BillingEmail",e.billingEmail);n(l,50,0,"OwnedBusiness",e.ownedBusiness),n(l,60,0,e.ownedBusiness),n(l,67,0,!e.ownedBusiness),n(l,70,0,!e.ownedBusiness);n(l,76,0,"PlanType","teams");n(l,78,0,"PlanType",e.plan);n(l,124,0,"PlanType","enterprise");n(l,126,0,"PlanType",e.plan),n(l,186,0,!e.plans[e.plan].noPayment);var t=n(l,190,0,e.plans[e.plan].noPayment);n(l,189,0,t)},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"generalInformation"));n(l,7,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organizationName"));n(l,15,0,u),n(l,18,0,t.ɵnov(l,20).required?"":null,t.ɵnov(l,25).ngClassUntouched,t.ɵnov(l,25).ngClassTouched,t.ɵnov(l,25).ngClassPristine,t.ɵnov(l,25).ngClassDirty,t.ɵnov(l,25).ngClassValid,t.ɵnov(l,25).ngClassInvalid,t.ɵnov(l,25).ngClassPending);var r=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"billingEmail"));n(l,31,0,r),n(l,34,0,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending);var o=t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"accountOwnedBusiness"));n(l,55,0,o);var i=t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent,0),"chooseYourPlan"));n(l,63,0,i),n(l,74,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending);var a=t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l.parent,0),"planNameTeams"));n(l,83,0,a);var s=t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l.parent,0),"planDescTeams"));n(l,86,0,s);var c=t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"));n(l,90,0,c);var d=t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"));n(l,94,0,d);var p=t.ɵunv(l,98,0,n(l,99,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"));n(l,98,0,p);var f=t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"));n(l,102,0,f);var v=t.ɵunv(l,106,0,n(l,107,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"));n(l,106,0,v);var h=t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,1),5,"$")),g=t.ɵunv(l,110,1,n(l,112,0,t.ɵnov(l.parent,0),"month")),m=t.ɵunv(l,110,2,n(l,113,0,t.ɵnov(l.parent,0),"includesXUsers",5)),y=t.ɵunv(l,110,3,n(l,114,0,t.ɵnov(l.parent,0),"additionalUsers")).toLowerCase(),C=t.ɵunv(l,110,4,n(l,115,0,t.ɵnov(l.parent,1),2,"$")),b=t.ɵunv(l,110,5,n(l,116,0,t.ɵnov(l.parent,0),"month"));n(l,110,0,h,g,m,y,C,b),n(l,122,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending);var w=t.ɵunv(l,131,0,n(l,132,0,t.ɵnov(l.parent,0),"planNameEnterprise"));n(l,131,0,w);var S=t.ɵunv(l,134,0,n(l,135,0,t.ɵnov(l.parent,0),"planDescEnterprise"));n(l,134,0,S);var _=t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"));n(l,138,0,_);var I=t.ɵunv(l,142,0,n(l,143,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"));n(l,142,0,I);var R=t.ɵunv(l,146,0,n(l,147,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"));n(l,146,0,R);var k=t.ɵunv(l,150,0,n(l,151,0,t.ɵnov(l.parent,0),"controlAccessWithGroups"));n(l,150,0,k);var A=t.ɵunv(l,154,0,n(l,155,0,t.ɵnov(l.parent,0),"trackAuditLogs"));n(l,154,0,A);var O=t.ɵunv(l,158,0,n(l,159,0,t.ɵnov(l.parent,0),"syncUsersFromDirectory"));n(l,158,0,O);var P=t.ɵunv(l,162,0,n(l,163,0,t.ɵnov(l.parent,0),"onPremHostingOptional"));n(l,162,0,P);var T=t.ɵunv(l,166,0,n(l,167,0,t.ɵnov(l.parent,0),"usersGetPremium"));n(l,166,0,T);var N=t.ɵunv(l,170,0,n(l,171,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"));n(l,170,0,N);var E=t.ɵunv(l,174,0,n(l,175,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"));n(l,174,0,E);var V=t.ɵunv(l,178,0,n(l,180,0,t.ɵnov(l.parent,0),"costPerUser",t.ɵunv(l,178,0,n(l,179,0,t.ɵnov(l.parent,1),3,"$")))),x=t.ɵunv(l,178,1,n(l,181,0,t.ɵnov(l.parent,0),"month"));n(l,178,0,V,x),n(l,192,0,t.ɵnov(l,0).loading);var M=t.ɵinlineInterpolate(1,"",t.ɵunv(l,194,0,n(l,195,0,t.ɵnov(l.parent,0),"loading")),"");n(l,194,0,M);var D=t.ɵunv(l,198,0,n(l,199,0,t.ɵnov(l.parent,0),"submit"));n(l,198,0,D)})}function z(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[p.I18nService]),t.ɵpid(0,i.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(15,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(18,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"newOrganization"));n(l,6,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"newOrganizationDesc"));n(l,11,0,u)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-create-organization",[],null,null,null,z,b)),t.ɵdid(1,114688,null,0,f.CreateOrganizationComponent,[v.ApiService,p.I18nService,h.Angulartics2,g.ToasterService,c.PlatformUtilsService,m.CryptoService,y.Router,C.SyncService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CreateOrganizationComponent=b,l.View_CreateOrganizationComponent_0=z,l.View_CreateOrganizationComponent_Host_0=j;var G=t.ɵccf("app-create-organization",f.CreateOrganizationComponent,j,{},{},[]);l.CreateOrganizationComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationCreateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(8),o=e(3),i=e(5),a=e(10),s=e(487),c=e(9),d=e(20),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"premium"));n(l,2,0,e)})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"span",[["class","badge badge-success"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,3,0,t.ɵnov(l.parent,1),t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"free"))));n(l,1,0,e)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[o.I18nService]),t.ɵpid(0,i.UpperCasePipe,[]),(n()(),t.ɵeld(2,0,null,null,117,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,114,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,105,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,32,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,25,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"a",[["class","list-group-item"],["routerLink","generator"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,17).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(17,671744,[[2,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(18,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(21,null,["\n ","\n "])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(25,671744,[[4,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(26,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(29,null,["\n ","\n "])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,33).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(33,671744,[[6,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(34,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,68,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,8,"div",[["class","card-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(45,null,["\n ","\n "])),t.ɵppd(46,1),(n()(),t.ɵeld(47,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(50,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,55,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,6,"a",[["class","list-group-item"],["routerLink","exposed-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,57).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(57,671744,[[8,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(58,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(61,null,["\n ","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,6,"a",[["class","list-group-item"],["routerLink","reused-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,65).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(65,671744,[[10,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(66,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(69,null,["\n ","\n "])),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,6,"a",[["class","list-group-item"],["routerLink","weak-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,73).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(73,671744,[[12,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(74,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(77,null,["\n ","\n "])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,6,"a",[["class","list-group-item"],["routerLink","unsecured-websites-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,81).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(81,671744,[[14,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(82,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(85,null,["\n ","\n "])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,6,"a",[["class","list-group-item"],["routerLink","inactive-two-factor-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,89).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(89,671744,[[16,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(90,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,15,{links:1}),t.ɵqud(603979776,16,{linksWithHrefs:1}),(n()(),t.ɵted(93,null,["\n ","\n "])),t.ɵppd(94,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(96,0,null,null,12,"a",[["class","list-group-item d-flex"],["routerLink","breach-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,97).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(97,671744,[[18,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(98,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,17,{links:1}),t.ɵqud(603979776,18,{linksWithHrefs:1}),(n()(),t.ɵted(101,null,["\n ","\n "])),t.ɵppd(102,1),(n()(),t.ɵeld(103,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(106,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(115,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(116,212992,null,0,a.RouterOutlet,[a.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,17,0,"generator");n(l,18,0,"active");n(l,25,0,"import");n(l,26,0,"active");n(l,33,0,"export");n(l,34,0,"active"),n(l,50,0,!e.canAccessPremium);n(l,57,0,"exposed-passwords-report");n(l,58,0,"active");n(l,65,0,"reused-passwords-report");n(l,66,0,"active");n(l,73,0,"weak-passwords-report");n(l,74,0,"active");n(l,81,0,"unsecured-websites-report");n(l,82,0,"active");n(l,89,0,"inactive-two-factor-report");n(l,90,0,"active");n(l,97,0,"breach-report");n(l,98,0,"active"),n(l,106,0,!e.canAccessPremium),n(l,116,0)},function(n,l){var e=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"tools"));n(l,11,0,e),n(l,16,0,t.ɵnov(l,17).target,t.ɵnov(l,17).href);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"passwordGenerator"));n(l,21,0,u),n(l,24,0,t.ɵnov(l,25).target,t.ɵnov(l,25).href);var r=t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"importData"));n(l,29,0,r),n(l,32,0,t.ɵnov(l,33).target,t.ɵnov(l,33).href);var o=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"exportVault"));n(l,37,0,o);var i=t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"reports"));n(l,45,0,i),n(l,56,0,t.ɵnov(l,57).target,t.ɵnov(l,57).href);var a=t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"exposedPasswordsReport"));n(l,61,0,a),n(l,64,0,t.ɵnov(l,65).target,t.ɵnov(l,65).href);var s=t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l,0),"reusedPasswordsReport"));n(l,69,0,s),n(l,72,0,t.ɵnov(l,73).target,t.ɵnov(l,73).href);var c=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"weakPasswordsReport"));n(l,77,0,c),n(l,80,0,t.ɵnov(l,81).target,t.ɵnov(l,81).href);var d=t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"unsecuredWebsitesReport"));n(l,85,0,d),n(l,88,0,t.ɵnov(l,89).target,t.ɵnov(l,89).href);var p=t.ɵunv(l,93,0,n(l,94,0,t.ɵnov(l,0),"inactive2faReport"));n(l,93,0,p),n(l,96,0,t.ɵnov(l,97).target,t.ɵnov(l,97).href);var f=t.ɵunv(l,101,0,n(l,102,0,t.ɵnov(l,0),"dataBreachReport"));n(l,101,0,f)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-tools",[],null,null,null,h,p)),t.ɵdid(1,114688,null,0,s.ToolsComponent,[c.UserService,d.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ToolsComponent=p,l.View_ToolsComponent_0=h,l.View_ToolsComponent_Host_0=g;var m=t.ɵccf("app-tools",s.ToolsComponent,g,{},{},[]);l.ToolsComponentNgFactory=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(5),o=e(33),i=e(28),a=e(3),s=e(8),c=e(17),d=e(14),p=e(268),f=e(6),v=e(13),h=e(237),g=e(10),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(7,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV\n file.\n ']))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click\n "Export CSV"\n for your "Accounts".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the\n XML file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML\n (2.x)" option.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save\n the CSV file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my\n data" to save\n the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the\n "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF\n Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the\n dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the\n warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the\n English\n language, so adjust your settings accordingly.\n ']))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass 6 desktop application, click the menu button and navigate to "File" → "Export".\n Select the ".json" file format option and save the JSON file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..."\n and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive\n (readable) in JSON format"\n and save the JSON file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the\n CSV file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export\n all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings".\n Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to\n expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" →\n "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not\n be\n exported.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you\n would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that\n pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss\n JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All\n Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like\n Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner.\n Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and\n click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2GpOMTg"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python\n script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to\n export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the\n CSV\n file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passpack website vault and navigate to "Settings" → "Export", then click the "Download"\n button to save\n the CSV file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open your Passman vault and click on "Settings" in the bottom left corner. In the "Settings" window switch\n to the\n "Export credentials" tab and choose "JSON" as the export type. Enter your vault\'s passphrase and click the\n "Export"\n button to save the JSON file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the Avast Passwords desktop application and navigate to "Settings" → "Import/export data". Select\n the\n "Export" button for the "Export to CSV file" option to save the CSV file.\n ']))],null,null)}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the F-Secure KEY desktop application and navigate to "Settings" → "Export Passwords". Select the\n "Export" button, enter your master password, and save the FSK file.\n ']))],null,null)}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the Kaspersky Password Manager desktop application and navigate to "Settings" → "Import/Export".\n Locate\n the "Export to text file" section and select the "Export" button to save the TXT file.\n ']))],null,null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the RememBear desktop application and navigate to "Settings" → "Account" → "Export".\n Enter your master password and select the "Export Anyway" button to save the CSV file.\n ']))],null,null)}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,119,"app-callout",[["type","info"]],null,null,null,o.View_CalloutComponent_0,o.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,i.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,w)),t.ɵdid(4,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,S)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(13,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(16,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(19,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(22,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(25,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(28,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(31,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(34,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(40,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(43,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(46,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(49,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(52,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(64,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(73,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(76,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(79,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(82,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(85,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(88,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(91,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(94,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(97,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(100,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(103,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(106,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,tn)),t.ɵdid(109,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,un)),t.ɵdid(112,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,rn)),t.ɵdid(115,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,on)),t.ɵdid(118,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format||"bitwardenjson"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"enpassjson"===e.format),n(l,58,0,"pwsafexml"===e.format),n(l,61,0,"dashlanejson"===e.format),n(l,64,0,"msecurecsv"===e.format),n(l,67,0,"stickypasswordxml"===e.format),n(l,70,0,"truekeycsv"===e.format),n(l,73,0,"clipperzhtml"===e.format),n(l,76,0,"roboformcsv"===e.format),n(l,79,0,"passboltcsv"===e.format),n(l,82,0,"ascendocsv"===e.format),n(l,85,0,"passwordbossjson"===e.format),n(l,88,0,"zohovaultcsv"===e.format),n(l,91,0,"splashidcsv"===e.format),n(l,94,0,"passkeepcsv"===e.format),n(l,97,0,"gnomejson"===e.format),n(l,100,0,"passwordagentcsv"===e.format),n(l,103,0,"passpackcsv"===e.format),n(l,106,0,"passmanjson"===e.format),n(l,109,0,"avastcsv"===e.format),n(l,112,0,"fsecurefsk"===e.format),n(l,115,0,"kasperskytxt"===e.format),n(l,118,0,"remembearcsv"===e.format)},null)}function sn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(12,540672,null,0,c.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(34,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"));n(l,4,0,e),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"));n(l,21,0,u),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending);var r=t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"));n(l,53,0,r);var o=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"));n(l,64,0,o),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"");n(l,77,0,i);var a=t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData"));n(l,81,0,a)})}function cn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-import",[],null,null,null,sn,m)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.ImportService,g.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=m,l.View_ImportComponent_0=sn,l.View_ImportComponent_Host_0=cn;var dn=t.ɵccf("app-import",p.ImportComponent,cn,{},{},[]);l.ImportComponentNgFactory=dn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(33),c=e(28),d=e(52),p=e(269),f=e(23),v=e(7),h=e(238),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,79,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,26,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,23,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","format"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,16,"select",[["class","form-control"],["id","format"],["name","Format"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,32).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.format=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,o.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.SelectControlValueAccessor]),t.ɵdid(34,671744,null,0,o.NgModel,[[2,o.ControlContainer],[8,null],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(36,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,3,"option",[["value","json"]],null,null,null,null,null)),t.ɵdid(39,147456,null,0,o.NgSelectOption,[t.ElementRef,t.Renderer2,[2,o.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(40,147456,null,0,o.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,[".json"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,3,"option",[["value","csv"]],null,null,null,null,null)),t.ɵdid(44,147456,null,0,o.NgSelectOption,[t.ElementRef,t.Renderer2,[2,o.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(45,147456,null,0,o.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,[".csv"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,60)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,60).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,60)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,60)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(61,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(64,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(66,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(67,81920,null,0,d.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,34,0,"Format",e.format);n(l,39,0,"json");n(l,40,0,"json");n(l,44,0,"csv");n(l,45,0,"csv");n(l,61,0,"");n(l,64,0,"MasterPassword",e.masterPassword);n(l,67,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"));n(l,10,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"));n(l,15,0,u);var r=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarningDesc"));n(l,20,0,r);var o=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"fileFormat"));n(l,28,0,o),n(l,31,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var i=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"masterPass"));n(l,56,0,i),n(l,59,0,t.ɵnov(l,61).required?"":null,t.ɵnov(l,66).ngClassUntouched,t.ɵnov(l,66).ngClassTouched,t.ɵnov(l,66).ngClassPristine,t.ɵnov(l,66).ngClassDirty,t.ɵnov(l,66).ngClassValid,t.ɵnov(l,66).ngClassInvalid,t.ɵnov(l,66).ngClassPending),n(l,71,0,t.ɵnov(l,1).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"loading")),"");n(l,73,0,a);var s=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"exportVault"));n(l,77,0,s)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-export",[],null,null,null,m,g)),t.ɵdid(1,49152,null,0,p.ExportComponent,[f.CryptoService,r.I18nService,v.PlatformUtilsService,h.ExportService],null,null)],null,null)}l.RenderType_ExportComponent=g,l.View_ExportComponent_0=m,l.View_ExportComponent_Host_0=y;var C=t.ɵccf("app-export",p.ExportComponent,y,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=C},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]128&&(this.options.length=128),this.options.minNumber?this.options.minNumber>this.options.length?this.options.minNumber=this.options.length:this.options.minNumber>9&&(this.options.minNumber=9):this.options.minNumber=0,this.options.minSpecial?this.options.minSpecial>this.options.length?this.options.minSpecial=this.options.length:this.options.minSpecial>9&&(this.options.minSpecial=9):this.options.minSpecial=0,this.options.minSpecial+this.options.minNumber>this.options.length&&(this.options.minSpecial=this.options.length-this.options.minNumber),null==this.options.numWords||this.options.length<3?this.options.numWords=3:this.options.numWords>20&&(this.options.numWords=20),null!=this.options.wordSeparator&&this.options.wordSeparator.length>1&&(this.options.wordSeparator=this.options.wordSeparator[0])},n}();l.PasswordGeneratorComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0),n(l,6,0,0===e.ciphers.length)},null)}function U(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(2,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,2,0,l.component.ciphers)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-ciphers",[],null,null,null,U,w)),t.ɵdid(1,180224,null,0,v.CiphersComponent,[h.SearchService,g.Angulartics2,m.ToasterService,f.I18nService,y.PlatformUtilsService,C.CipherService,b.ApiService],null,null)],null,null)}l.RenderType_CiphersComponent=w,l.View_CiphersComponent_0=U,l.View_CiphersComponent_Host_0=F;var L=t.ɵccf("app-org-vault-ciphers",v.CiphersComponent,F,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"},[]);l.CiphersComponentNgFactory=L},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.User_LoggedIn=1e3]="User_LoggedIn",n[n.User_ChangedPassword=1001]="User_ChangedPassword",n[n.User_Updated2fa=1002]="User_Updated2fa",n[n.User_Disabled2fa=1003]="User_Disabled2fa",n[n.User_Recovered2fa=1004]="User_Recovered2fa",n[n.User_FailedLogIn=1005]="User_FailedLogIn",n[n.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",n[n.Cipher_Created=1100]="Cipher_Created",n[n.Cipher_Updated=1101]="Cipher_Updated",n[n.Cipher_Deleted=1102]="Cipher_Deleted",n[n.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",n[n.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",n[n.Cipher_Shared=1105]="Cipher_Shared",n[n.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",n[n.Collection_Created=1300]="Collection_Created",n[n.Collection_Updated=1301]="Collection_Updated",n[n.Collection_Deleted=1302]="Collection_Deleted",n[n.Group_Created=1400]="Group_Created",n[n.Group_Updated=1401]="Group_Updated",n[n.Group_Deleted=1402]="Group_Deleted",n[n.OrganizationUser_Invited=1500]="OrganizationUser_Invited",n[n.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",n[n.OrganizationUser_Updated=1502]="OrganizationUser_Updated",n[n.OrganizationUser_Removed=1503]="OrganizationUser_Removed",n[n.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",n[n.Organization_Updated=1600]="Organization_Updated",n[n.Organization_PurgedVault=1601]="Organization_PurgedVault"}(l.EventType||(l.EventType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(8),o=e(3),i=e(10),a=e(5),s=e(496),c=e(9),d=e(20),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.upgradeOrganization()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"upgrade"));n(l,2,0,e)})}function v(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,95,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,92,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,83,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,24,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,17,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,54,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,8,"div",[["class","card-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵeld(38,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(41,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,41,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,6,"a",[["class","list-group-item"],["routerLink","exposed-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,48).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(48,671744,[[6,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(49,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,6,"a",[["class","list-group-item"],["routerLink","reused-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,56).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(56,671744,[[8,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(57,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(60,null,["\n ","\n "])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,6,"a",[["class","list-group-item"],["routerLink","weak-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,64).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(64,671744,[[10,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(65,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(68,null,["\n ","\n "])),t.ɵppd(69,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,6,"a",[["class","list-group-item"],["routerLink","unsecured-websites-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,72).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(72,671744,[[12,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(73,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(76,null,["\n ","\n "])),t.ɵppd(77,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(79,0,null,null,6,"a",[["class","list-group-item"],["routerLink","inactive-two-factor-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,80).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(80,671744,[[14,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(81,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(84,null,["\n ","\n "])),t.ɵppd(85,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(93,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"import");n(l,17,0,"active");n(l,24,0,"export");n(l,25,0,"active"),n(l,41,0,!e.accessReports);n(l,48,0,"exposed-passwords-report");n(l,49,0,"active");n(l,56,0,"reused-passwords-report");n(l,57,0,"active");n(l,64,0,"weak-passwords-report");n(l,65,0,"active");n(l,72,0,"unsecured-websites-report");n(l,73,0,"active");n(l,80,0,"inactive-two-factor-report");n(l,81,0,"active"),n(l,93,0)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"));n(l,10,0,e),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"importData"));n(l,20,0,u),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"exportVault"));n(l,28,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"reports"));n(l,36,0,o),n(l,47,0,t.ɵnov(l,48).target,t.ɵnov(l,48).href);var i=t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"exposedPasswordsReport"));n(l,52,0,i),n(l,55,0,t.ɵnov(l,56).target,t.ɵnov(l,56).href);var a=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"reusedPasswordsReport"));n(l,60,0,a),n(l,63,0,t.ɵnov(l,64).target,t.ɵnov(l,64).href);var s=t.ɵunv(l,68,0,n(l,69,0,t.ɵnov(l,0),"weakPasswordsReport"));n(l,68,0,s),n(l,71,0,t.ɵnov(l,72).target,t.ɵnov(l,72).href);var c=t.ɵunv(l,76,0,n(l,77,0,t.ɵnov(l,0),"unsecuredWebsitesReport"));n(l,76,0,c),n(l,79,0,t.ɵnov(l,80).target,t.ɵnov(l,80).href);var d=t.ɵunv(l,84,0,n(l,85,0,t.ɵnov(l,0),"inactive2faReport"));n(l,84,0,d)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-tools",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,s.ToolsComponent,[i.ActivatedRoute,c.UserService,d.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ToolsComponent=p,l.View_ToolsComponent_0=v,l.View_ToolsComponent_Host_0=h;var g=t.ɵccf("app-org-tools",s.ToolsComponent,h,{},{},[]);l.ToolsComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(5),o=e(33),i=e(28),a=e(3),s=e(8),c=e(17),d=e(14),p=e(497),f=e(6),v=e(13),h=e(237),g=e(10),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(7,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV\n file.\n ']))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click\n "Export CSV"\n for your "Accounts".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the\n XML file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML\n (2.x)" option.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save\n the CSV file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my\n data" to save\n the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the\n "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF\n Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the\n dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the\n warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the\n English\n language, so adjust your settings accordingly.\n ']))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass 6 desktop application, click the menu button and navigate to "File" → "Export".\n Select the ".json" file format option and save the JSON file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..."\n and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive\n (readable) in JSON format"\n and save the JSON file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the\n CSV file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export\n all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings".\n Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to\n expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" →\n "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not\n be\n exported.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you\n would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that\n pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss\n JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All\n Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like\n Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner.\n Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and\n click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2GpOMTg"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python\n script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to\n export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the\n CSV\n file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passpack website vault and navigate to "Settings" → "Export", then click the "Download"\n button to save\n the CSV file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open your Passman vault and click on "Settings" in the bottom left corner. In the "Settings" window switch\n to the\n "Export credentials" tab and choose "JSON" as the export type. Enter your vault\'s passphrase and click the\n "Export"\n button to save the JSON file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the Avast Passwords desktop application and navigate to "Settings" → "Import/export data". Select\n the\n "Export" button for the "Export to CSV file" option to save the CSV file.\n ']))],null,null)}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the F-Secure KEY desktop application and navigate to "Settings" → "Export Passwords". Select the\n "Export" button, enter your master password, and save the FSK file.\n ']))],null,null)}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the Kaspersky Password Manager desktop application and navigate to "Settings" → "Import/Export".\n Locate\n the "Export to text file" section and select the "Export" button to save the TXT file.\n ']))],null,null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the RememBear desktop application and navigate to "Settings" → "Account" → "Export".\n Enter your master password and select the "Export Anyway" button to save the CSV file.\n ']))],null,null)}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,119,"app-callout",[["type","info"]],null,null,null,o.View_CalloutComponent_0,o.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,i.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,w)),t.ɵdid(4,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,S)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(13,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(16,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(19,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(22,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(25,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(28,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(31,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(34,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(40,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(43,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(46,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(49,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(52,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(64,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(73,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(76,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(79,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(82,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(85,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(88,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(91,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(94,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(97,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(100,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(103,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(106,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,tn)),t.ɵdid(109,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,un)),t.ɵdid(112,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,rn)),t.ɵdid(115,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,on)),t.ɵdid(118,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format||"bitwardenjson"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"enpassjson"===e.format),n(l,58,0,"pwsafexml"===e.format),n(l,61,0,"dashlanejson"===e.format),n(l,64,0,"msecurecsv"===e.format),n(l,67,0,"stickypasswordxml"===e.format),n(l,70,0,"truekeycsv"===e.format),n(l,73,0,"clipperzhtml"===e.format),n(l,76,0,"roboformcsv"===e.format),n(l,79,0,"passboltcsv"===e.format),n(l,82,0,"ascendocsv"===e.format),n(l,85,0,"passwordbossjson"===e.format),n(l,88,0,"zohovaultcsv"===e.format),n(l,91,0,"splashidcsv"===e.format),n(l,94,0,"passkeepcsv"===e.format),n(l,97,0,"gnomejson"===e.format),n(l,100,0,"passwordagentcsv"===e.format),n(l,103,0,"passpackcsv"===e.format),n(l,106,0,"passmanjson"===e.format),n(l,109,0,"avastcsv"===e.format),n(l,112,0,"fsecurefsk"===e.format),n(l,115,0,"kasperskytxt"===e.format),n(l,118,0,"remembearcsv"===e.format)},null)}function sn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(12,540672,null,0,c.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(34,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"));n(l,4,0,e),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"));n(l,21,0,u),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending);var r=t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"));n(l,53,0,r);var o=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"));n(l,64,0,o),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"");n(l,77,0,i);var a=t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData"));n(l,81,0,a)})}function cn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-import",[],null,null,null,sn,m)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.ImportService,g.Router,g.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=m,l.View_ImportComponent_0=sn,l.View_ImportComponent_Host_0=cn;var dn=t.ɵccf("app-org-import",p.ImportComponent,cn,{},{},[]);l.ImportComponentNgFactory=dn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(33),c=e(28),d=e(52),p=e(498),f=e(23),v=e(7),h=e(238),g=e(10),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,79,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,26,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,23,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","format"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,16,"select",[["class","form-control"],["id","format"],["name","Format"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,32).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.format=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,o.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.SelectControlValueAccessor]),t.ɵdid(34,671744,null,0,o.NgModel,[[2,o.ControlContainer],[8,null],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(36,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,3,"option",[["value","json"]],null,null,null,null,null)),t.ɵdid(39,147456,null,0,o.NgSelectOption,[t.ElementRef,t.Renderer2,[2,o.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(40,147456,null,0,o.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,[".json"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,3,"option",[["value","csv"]],null,null,null,null,null)),t.ɵdid(44,147456,null,0,o.NgSelectOption,[t.ElementRef,t.Renderer2,[2,o.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(45,147456,null,0,o.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,[".csv"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,60)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,60).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,60)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,60)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(61,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(64,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(66,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(67,81920,null,0,d.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,34,0,"Format",e.format);n(l,39,0,"json");n(l,40,0,"json");n(l,44,0,"csv");n(l,45,0,"csv");n(l,61,0,"");n(l,64,0,"MasterPassword",e.masterPassword);n(l,67,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"));n(l,10,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"));n(l,15,0,u);var r=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarningDesc"));n(l,20,0,r);var o=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"fileFormat"));n(l,28,0,o),n(l,31,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var i=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"masterPass"));n(l,56,0,i),n(l,59,0,t.ɵnov(l,61).required?"":null,t.ɵnov(l,66).ngClassUntouched,t.ɵnov(l,66).ngClassTouched,t.ɵnov(l,66).ngClassPristine,t.ɵnov(l,66).ngClassDirty,t.ɵnov(l,66).ngClassValid,t.ɵnov(l,66).ngClassInvalid,t.ɵnov(l,66).ngClassPending),n(l,71,0,t.ɵnov(l,1).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"loading")),"");n(l,73,0,a);var s=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"exportVault"));n(l,77,0,s)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-export",[],null,null,null,y,m)),t.ɵdid(1,114688,null,0,p.ExportComponent,[f.CryptoService,r.I18nService,v.PlatformUtilsService,h.ExportService,g.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExportComponent=m,l.View_ExportComponent_0=y,l.View_ExportComponent_Host_0=C;var b=t.ɵccf("app-org-export",p.ExportComponent,C,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=b},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(104),a=e(98),s=e(73),c=e(34),d=e(41),p=e(5),f=e(8),v=e(499),h=e(22),g=e(108),m=e(20),y=e(9),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noExposedPasswords"));n(l,3,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,34,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,6,"td",[["class","text-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,3,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),t.ɵppd(32,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,u),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle);var r=t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"exposedXTimes",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,1),e.exposedPasswordMap.get(l.context.$implicit.id)))));n(l,30,0,r)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"exposedPasswordsFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"exposedPasswordsFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.load()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(25,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,25,0,l.component.hasLoaded)},function(n,l){var e=l.component,u=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"exposedPasswordsReport"));n(l,6,0,u);var r=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"exposedPasswordsReportDesc"));n(l,11,0,r),n(l,14,0,e.loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"loading")),"");n(l,16,0,o);var i=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"checkExposedPasswords"));n(l,20,0,i)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-exposed-passwords-report",[],null,null,null,O,b)),t.ɵdid(1,114688,null,0,v.ExposedPasswordsReportComponent,[h.CipherService,g.AuditService,t.ComponentFactoryResolver,m.MessagingService,y.UserService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExposedPasswordsReportComponent=b,l.View_ExposedPasswordsReportComponent_0=O,l.View_ExposedPasswordsReportComponent_Host_0=P;var T=t.ɵccf("app-exposed-passwords-report",v.ExposedPasswordsReportComponent,P,{},{},[]);l.ExposedPasswordsReportComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(104),a=e(98),s=e(73),c=e(34),d=e(41),p=e(5),f=e(8),v=e(500),h=e(22),g=e(20),m=e(9),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noInactive2fa"));n(l,3,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","badge badge-primary"],["rel","noopener"],["target","_blank"]],[[8,"href",4]],null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",""])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"",e.cipherDocs.get(l.parent.context.$implicit.id),""));var u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"instructions"));n(l,1,0,u)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"td",[["class","text-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(30,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments),n(l,30,0,e.cipherDocs.has(l.context.$implicit.id))},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,e),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"inactive2faFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"inactive2faFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function T(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(18,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(21,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,P)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.hasLoaded&&e.loading),n(l,18,0,!e.hasLoaded&&e.loading),n(l,21,0,e.hasLoaded)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"inactive2faReport"));n(l,6,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"inactive2faReportDesc"));n(l,14,0,u)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-inactive-two-factor-report",[],null,null,null,T,C)),t.ɵdid(1,114688,null,0,v.InactiveTwoFactorReportComponent,[h.CipherService,t.ComponentFactoryResolver,g.MessagingService,m.UserService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_InactiveTwoFactorReportComponent=C,l.View_InactiveTwoFactorReportComponent_0=T,l.View_InactiveTwoFactorReportComponent_Host_0=N;var E=t.ɵccf("app-inactive-two-factor-report",v.InactiveTwoFactorReportComponent,N,{},{},[]);l.InactiveTwoFactorReportComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(104),a=e(98),s=e(73),c=e(34),d=e(41),p=e(5),f=e(8),v=e(501),h=e(22),g=e(20),m=e(9),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noReusedPasswords"));n(l,3,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"td",[["class","text-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,u),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle);var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,0),"reusedXTimes",e.passwordUseMap.get(l.context.$implicit.login.password)));n(l,30,0,r)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"reusedPasswordsFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"reusedPasswordsFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function P(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(18,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(21,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.hasLoaded&&e.loading),n(l,18,0,!e.hasLoaded&&e.loading),n(l,21,0,e.hasLoaded)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"reusedPasswordsReport"));n(l,6,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"reusedPasswordsReportDesc"));n(l,14,0,u)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-reused-passwords-report",[],null,null,null,P,C)),t.ɵdid(1,114688,null,0,v.ReusedPasswordsReportComponent,[h.CipherService,t.ComponentFactoryResolver,g.MessagingService,m.UserService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ReusedPasswordsReportComponent=C,l.View_ReusedPasswordsReportComponent_0=P,l.View_ReusedPasswordsReportComponent_Host_0=T;var N=t.ɵccf("app-reused-passwords-report",v.ReusedPasswordsReportComponent,T,{},{},[]);l.ReusedPasswordsReportComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(104),a=e(98),s=e(73),c=e(34),d=e(41),p=e(5),f=e(8),v=e(502),h=e(22),g=e(20),m=e(9),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noUnsecuredWebsites"));n(l,3,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,e),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"unsecuredWebsitesFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"unsecuredWebsitesFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function P(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(18,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(21,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.hasLoaded&&e.loading),n(l,18,0,!e.hasLoaded&&e.loading),n(l,21,0,e.hasLoaded)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"unsecuredWebsitesReport"));n(l,6,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"unsecuredWebsitesReportDesc"));n(l,14,0,u)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-unsecured-websites-report",[],null,null,null,P,C)),t.ɵdid(1,114688,null,0,v.UnsecuredWebsitesReportComponent,[h.CipherService,t.ComponentFactoryResolver,g.MessagingService,m.UserService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UnsecuredWebsitesReportComponent=C,l.View_UnsecuredWebsitesReportComponent_0=P,l.View_UnsecuredWebsitesReportComponent_Host_0=T;var N=t.ɵccf("app-unsecured-websites-report",v.UnsecuredWebsitesReportComponent,T,{},{},[]);l.UnsecuredWebsitesReportComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(104),a=e(98),s=e(73),c=e(34),d=e(41),p=e(5),f=e(8),v=e(503),h=e(22),g=e(64),m=e(20),y=e(9),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noWeakPasswords"));n(l,3,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"td",[["class","text-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"span",[],[[8,"className",0]],null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,u),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle),n(l,29,0,t.ɵinlineInterpolate(1,"badge badge-",e.passwordStrengthMap.get(l.context.$implicit.id)[1],""));var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,0),e.passwordStrengthMap.get(l.context.$implicit.id)[0]));n(l,30,0,r)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"weakPasswordsFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"weakPasswordsFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function T(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(18,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(21,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,P)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.hasLoaded&&e.loading),n(l,18,0,!e.hasLoaded&&e.loading),n(l,21,0,e.hasLoaded)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"weakPasswordsReport"));n(l,6,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"weakPasswordsReportDesc"));n(l,14,0,u)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-weak-passwords-report",[],null,null,null,T,b)),t.ɵdid(1,114688,null,0,v.WeakPasswordsReportComponent,[h.CipherService,g.PasswordGenerationService,t.ComponentFactoryResolver,m.MessagingService,y.UserService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_WeakPasswordsReportComponent=b,l.View_WeakPasswordsReportComponent_0=T,l.View_WeakPasswordsReportComponent_Host_0=N;var E=t.ɵccf("app-weak-passwords-report",v.WeakPasswordsReportComponent,N,{},{},[]);l.WeakPasswordsReportComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),r=e(5),o=e(8),i=e(3),a=e(504),s=e(9),c=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","people"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"people");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"people"));n(l,5,0,e)})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","groups"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"groups");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"groups"));n(l,5,0,e)})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","events"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"events");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"eventLogs"));n(l,5,0,e)})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,18,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,d)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,6,"a",[["class","list-group-item"],["routerLink","collections"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,12).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(12,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(13,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(16,null,["\n ","\n "])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(20,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(23,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.organization.isAdmin);n(l,12,0,"collections");n(l,13,0,"active"),n(l,20,0,e.organization.isAdmin&&e.accessGroups),n(l,23,0,e.organization.isAdmin&&e.accessEvents)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"manage"));n(l,3,0,e),n(l,11,0,t.ɵnov(l,12).target,t.ɵnov(l,12).href);var u=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent,0),"collections"));n(l,16,0,u)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,16,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(8,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(14,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,8,0,l.component.organization),n(l,14,0)},null)}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage",[],null,null,null,h,c)),t.ɵdid(1,114688,null,0,a.ManageComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ManageComponent=c,l.View_ManageComponent_0=h,l.View_ManageComponent_Host_0=g;var m=t.ɵccf("app-org-manage",a.ManageComponent,g,{},{},[]);l.ManageComponentNgFactory=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(5),o=e(8),i=e(3),a=e(275),s=e(12),c=e(505),d=e(4),p=e(10),f=e(45),v=e(6),h=e(13),g=e(7),m=e(9),y=t.ɵcrt({encapsulation:2,styles:[],data:{}});function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null))],null,null)}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==r.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==r.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==r.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name);var e=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"));n(l,24,0,e);var u=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete"));n(l,31,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[6,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[[4,s.NgControl]],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(36,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,_)),t.ɵdid(39,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading);var u=!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.collections,e.searchText,"name","id"));n(l,39,0,u)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"collections"));n(l,7,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),"");n(l,18,0,r,t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending);var o=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newCollection"));n(l,30,0,o)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage-collections",[],null,null,null,k,y)),t.ɵdid(1,114688,null,0,c.CollectionsComponent,[d.ApiService,p.ActivatedRoute,f.CollectionService,t.ComponentFactoryResolver,v.Angulartics2,h.ToasterService,i.I18nService,g.PlatformUtilsService,m.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=y,l.View_CollectionsComponent_0=k,l.View_CollectionsComponent_Host_0=A;var O=t.ɵccf("app-org-manage-collections",c.CollectionsComponent,A,{},{},[]);l.CollectionsComponentNgFactory=O},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(17),o=e(14),i=e(8),a=e(3),s=e(12),c=e(507),d=e(4),p=e(10),f=e(241),v=e(13),h=e(9),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList"));n(l,1,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"));n(l,3,0,e),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,13,0,t.ɵinlineInterpolate(1,"",l.context.$implicit.userEmail,"")),n(l,14,0,l.context.$implicit.userName),n(l,17,0,l.context.$implicit.message)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"table",[["class","table table-hover"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,20,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,30,0,l.component.events)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"));n(l,7,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"));n(l,13,0,u);var r=t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"user"));n(l,18,0,r);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"event"));n(l,22,0,o)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore"));n(l,7,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.events||!e.events.length),n(l,6,0,e.events&&e.events.length),n(l,9,0,e.continuationToken)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,40,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.start=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[6,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(21,16384,null,0,s.NgControlStatus,[[4,s.NgControl]],null,null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.end=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[6,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(36,16384,null,0,s.NgControlStatus,[[4,s.NgControl]],null,null),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(41,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(44,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(45,{"fa-spin":0}),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,19,0,e.start),n(l,34,0,e.end),n(l,41,0,e.refreshPromise);var u=n(l,45,0,e.loaded&&t.ɵnov(l,40).loading);n(l,44,0,"fa fa-refresh fa-fw",u),n(l,52,0,!e.loaded),n(l,55,0,e.loaded)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"eventLogs"));n(l,5,0,u);var r=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"startDate"));n(l,13,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,22,0,t.ɵnov(l,0),"startDate")),"");n(l,16,0,o,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending);var i=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"endDate"));n(l,28,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,37,0,t.ɵnov(l,0),"endDate")),"");n(l,31,0,a,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,40,0,e.loaded&&t.ɵnov(l,40).loading);var s=t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"refresh"));n(l,46,0,s)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-events",[],null,null,null,_,g)),t.ɵdid(1,114688,null,0,c.EventsComponent,[d.ApiService,p.ActivatedRoute,f.EventService,a.I18nService,v.ToasterService,h.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EventsComponent=g,l.View_EventsComponent_0=_,l.View_EventsComponent_Host_0=I;var R=t.ɵccf("app-org-events",c.EventsComponent,I,{},{},[]);l.EventsComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(5),o=e(8),i=e(3),a=e(275),s=e(12),c=e(508),d=e(4),p=e(10),f=e(6),v=e(13),h=e(7),g=e(9),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList"));n(l,1,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==r.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==r.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==r.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name);var e=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"));n(l,24,0,e);var u=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete"));n(l,31,0,u)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[6,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[[4,s.NgControl]],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,S)),t.ɵdid(39,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading);var u=!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.groups,e.searchText,"name","id"));n(l,39,0,u)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"groups"));n(l,7,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),"");n(l,18,0,r,t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending);var o=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newGroup"));n(l,30,0,o)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-groups",[],null,null,null,R,m)),t.ɵdid(1,114688,null,0,c.GroupsComponent,[d.ApiService,p.ActivatedRoute,i.I18nService,t.ComponentFactoryResolver,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupsComponent=m,l.View_GroupsComponent_0=R,l.View_GroupsComponent_Host_0=k;var A=t.ɵccf("app-org-groups",c.GroupsComponent,k,{},{},[]);l.GroupsComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.GroupRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(41),a=e(170),s=e(145),c=e(43),d=e(107),p=e(34),f=e(5),v=e(8),h=e(275),g=e(12),m=e(509),y=e(4),C=e(10),b=e(7),w=e(6),S=e(13),_=e(23),I=e(9),R=e(63),k=t.ɵcrt({encapsulation:2,styles:[],data:{}});function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.invitedCount)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.acceptedCount)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noUsersInList"));n(l,1,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","info"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"confirmUsers")),"");n(l,1,0,"info","fa-check-circle",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"usersNeedConfirmed"));n(l,3,0,e)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited"));n(l,1,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted"));n(l,1,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-lock"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"userUsingTwoStep")),"");n(l,0,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner"));n(l,1,0,e)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin"));n(l,1,0,e)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"manager"));n(l,1,0,e)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user"));n(l,1,0,e)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.reinvite(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-envelope-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"resendInvitation"));n(l,4,0,e)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-success"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.confirm(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-check"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"confirm"));n(l,4,0,e)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.groups(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-sitemap"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"groups"));n(l,4,0,e)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"eventLogs"));n(l,4,0,e)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,77,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["width","30"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-avatar",[["size","25"]],null,null,null,a.View_AvatarComponent_0,a.RenderType_AvatarComponent)),t.ɵdid(5,638976,null,0,s.AvatarComponent,[c.DomSanitizer,d.CryptoFunctionService,p.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(15,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(18,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(21,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(27,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,13,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(33,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(36,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(39,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(42,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,31,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,28,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,20,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(57,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(60,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(63,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(66,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,69).onClick(e)&&u);"click"===l&&(u=!1!==r.remove(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(69,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,0,"i",[["class","fa fa-fw fa-remove"]],null,null,null,null,null)),(n()(),t.ɵted(72,null,["\n ","\n "])),t.ɵppd(73,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit.name||l.context.$implicit.email,l.context.$implicit.email,"25",14,!0),n(l,15,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,18,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,21,0,l.context.$implicit.name),n(l,27,0,l.context.$implicit.twoFactorEnabled),n(l,33,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,36,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,39,0,l.context.$implicit.type===e.organizationUserType.Manager),n(l,42,0,l.context.$implicit.type===e.organizationUserType.User),n(l,57,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,60,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,63,0,e.accessGroups),n(l,66,0,e.accessEvents&&l.context.$implicit.status===e.organizationUserStatusType.Confirmed)},function(n,l){n(l,12,0,l.context.$implicit.email);var e=t.ɵunv(l,72,0,n(l,73,0,t.ɵnov(l.parent.parent.parent,0),"remove"));n(l,72,0,e)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,13,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(3,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(10,278528,null,0,f.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.showConfirmUsers),n(l,10,0,l.parent.context.ngIf)},null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(6,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function X(n){return t.ɵvid(0,[t.ɵpid(0,v.I18nPipe,[o.I18nService]),t.ɵpid(0,h.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{groupsModalRef:0}),t.ɵqud(402653184,3,{eventsModalRef:0}),t.ɵqud(402653184,4,{confirmModalRef:0}),(n()(),t.ɵeld(6,0,null,null,56,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,49,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,25,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(null)&&t);return t},null,null)),t.ɵdid(17,278528,null,0,f.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(18,{active:0}),(n()(),t.ɵted(19,null,["\n ","\n "])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Invited)&&t);return t},null,null)),t.ɵdid(23,278528,null,0,f.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(24,{active:0}),(n()(),t.ɵted(25,null,["\n ","\n "])),t.ɵppd(26,1),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(28,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Accepted)&&t);return t},null,null)),t.ɵdid(32,278528,null,0,f.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(33,{active:0}),(n()(),t.ɵted(34,null,["\n ","\n "])),t.ɵppd(35,1),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(37,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,13,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,48)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,48)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,48)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);return u},null,null)),t.ɵdid(48,16384,null,0,g.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,g.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,g.NG_VALUE_ACCESSOR,function(n){return[n]},[g.DefaultValueAccessor]),t.ɵdid(50,671744,null,0,g.NgModel,[[8,null],[8,null],[8,null],[6,g.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,g.NgControl,null,[g.NgModel]),t.ɵdid(52,16384,null,0,g.NgControlStatus,[[4,g.NgControl]],null,null),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.invite()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(59,null,["\n ","\n "])),t.ɵppd(60,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(65,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,H)),t.ɵdid(68,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(69,5),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,$)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["groupsTemplate",2]],null,0,null,W)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["eventsTemplate",2]],null,0,null,Y)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["confirmTemplate",2]],null,0,null,J)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,u=n(l,18,0,null==e.status);n(l,17,0,"btn btn-outline-secondary",u);var r=n(l,24,0,e.status==e.organizationUserStatusType.Invited);n(l,23,0,"btn btn-outline-secondary",r),n(l,28,0,e.invitedCount);var o=n(l,33,0,e.status==e.organizationUserStatusType.Accepted);n(l,32,0,"btn btn-outline-secondary",o),n(l,37,0,e.acceptedCount),n(l,50,0,e.searchText),n(l,65,0,e.loading);var i=!e.loading&&t.ɵunv(l,68,0,n(l,69,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id"));n(l,68,0,i)},function(n,l){var e=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"people"));n(l,9,0,e);var u=t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"all"));n(l,19,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"invited"));n(l,25,0,r);var o=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"accepted"));n(l,34,0,o);var i=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"search"));n(l,44,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,47,0,n(l,53,0,t.ɵnov(l,0),"search")),"");n(l,47,0,a,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending);var s=t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l,0),"inviteUser"));n(l,59,0,s)})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-people",[],null,null,null,X,k)),t.ɵdid(1,114688,null,0,m.PeopleComponent,[y.ApiService,C.ActivatedRoute,o.I18nService,t.ComponentFactoryResolver,b.PlatformUtilsService,w.Angulartics2,S.ToasterService,_.CryptoService,I.UserService,C.Router,R.StorageService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PeopleComponent=k,l.View_PeopleComponent_0=X,l.View_PeopleComponent_Host_0=Z;var Q=t.ɵccf("app-org-people",m.PeopleComponent,Z,{},{},[]);l.PeopleComponentNgFactory=Q},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.emails=[],this.collections=[]}}();l.OrganizationUserInviteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.OrganizationUserUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.groupIds=[]}}();l.OrganizationUserUpdateGroupsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),r=e(5),o=e(8),i=e(3),a=e(510),s=e(9),c=e(7),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"billing");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"billing"));n(l,5,0,e)})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"two-factor");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"twoStepLogin"));n(l,5,0,e)})}function v(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,45,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,42,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,33,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,30,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,23,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","subscription"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(32,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(35,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(43,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"subscription");n(l,25,0,"active"),n(l,32,0,!e.selfHosted),n(l,35,0,e.access2fa),n(l,43,0)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"));n(l,10,0,e),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myOrganization"));n(l,20,0,u),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"subscription"));n(l,28,0,r)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-settings",[],null,null,null,v,d)),t.ɵdid(1,114688,null,0,a.SettingsComponent,[u.ActivatedRoute,s.UserService,c.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=d,l.View_SettingsComponent_0=v,l.View_SettingsComponent_Host_0=h;var g=t.ɵccf("app-org-settings",a.SettingsComponent,h,{},{},[]);l.SettingsComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(17),o=e(14),i=e(170),a=e(145),s=e(43),c=e(107),d=e(34),p=e(8),f=e(3),v=e(5),h=e(511),g=e(4),m=e(6),y=e(13),C=e(10),b=e(65),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.org.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.org.billingEmail=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.org.businessName=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["size","75"]],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer,c.CryptoFunctionService,d.StateService],{data:[0,"data"],size:[1,"size"],fontSize:[2,"fontSize"],dynamic:[3,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.org.name);n(l,33,0,"BillingEmail",e.org.billingEmail);n(l,47,0,"BusinessName",e.org.businessName);n(l,56,0,t.ɵinlineInterpolate(1,"",e.org.name,""),"75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var e=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"organizationName"));n(l,13,0,e),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending);var u=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"billingEmail"));n(l,27,0,u),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending);var r=t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"businessName"));n(l,41,0,r),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"");n(l,62,0,o);var i=t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save"));n(l,66,0,i)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵqud(402653184,1,{deleteModalRef:0}),t.ɵqud(402653184,2,{purgeModalRef:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(11,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(14,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(16,0,null,null,5,"div",[["class","secondary-header border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(27,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n"])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(31,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(38,0,null,null,16,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,13,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteOrganization()&&t);return t},null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.purgeVault()&&t);return t},null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deleteOrganizationTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["purgeOrganizationTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,e.loading),n(l,14,0,e.org&&!e.loading)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"myOrganization"));n(l,6,0,e);var u=t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"taxInformation"));n(l,19,0,u);var r=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"taxInformationDesc"));n(l,24,0,r);var o=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"contactSupport"));n(l,28,0,o);var i=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"dangerZone"));n(l,34,0,i);var a=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"dangerZoneDesc"));n(l,43,0,a);var s=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l,0),"deleteOrganization"));n(l,47,0,s);var c=t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l,0),"purgeVault"));n(l,51,0,c)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-account",[],null,null,null,k,w)),t.ɵdid(1,114688,null,0,h.AccountComponent,[t.ComponentFactoryResolver,g.ApiService,f.I18nService,m.Angulartics2,y.ToasterService,C.ActivatedRoute,b.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AccountComponent=w,l.View_AccountComponent_0=k,l.View_AccountComponent_Host_0=A;var O=t.ɵccf("app-org-account",h.AccountComponent,A,{},{},[]);l.AccountComponentNgFactory=O},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(41),a=e(5),s=e(8),c=e(512),d=e(4),p=e(9),f=e(20),v=e(10),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc"));n(l,1,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc"));n(l,1,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"));n(l,4,0,e);var u=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode"));n(l,8,0,u)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,0,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium"));n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled&&e.canAccessPremium),n(l,15,0,!e.canAccessPremium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.canAccessPremium&&l.context.$implicit.premium);var u=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage"));n(l,22,0,u)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function P(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,k)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId);var t=n(l,25,0,!e.organizationId);n(l,24,0,t),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers"));n(l,26,0,u)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,P,h)),t.ɵdid(1,114688,null,0,c.TwoFactorSetupComponent,[d.ApiService,p.UserService,t.ComponentFactoryResolver,f.MessagingService,v.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=h,l.View_TwoFactorSetupComponent_0=P,l.View_TwoFactorSetupComponent_Host_0=T;var N=t.ɵccf("app-two-factor-setup",c.TwoFactorSetupComponent,T,{},{},[]);l.TwoFactorSetupComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(576),o=e(481),i=e(9),a=e(4),s=e(6),c=e(13),d=e(7),p=e(33),f=e(28),v=e(3),h=e(12),g=e(17),m=e(14),y=e(577),C=e(482),b=e(8),w=e(513),S=e(10),_=t.ɵcrt({encapsulation:2,styles:[],data:{}});function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"button",[["class","btn btn-sm btn-outline-primary ml-auto"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.load()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-spin":0}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){var e=n(l,4,0,l.component.loading);n(l,3,0,"fa fa-refresh fa-fw",e)},function(n,l){n(l,0,0,l.component.loading);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"refresh"));n(l,5,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCredit()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"addCredit"));n(l,1,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-add-credit",[],null,[[null,"onAdded"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdded"===l&&(t=!1!==u.closeAddCredit(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeAddCredit(!1)&&t);return t},r.View_AddCreditComponent_0,r.RenderType_AddCreditComponent)),t.ɵdid(1,114688,null,0,o.AddCreditComponent,[i.UserService,a.ApiService,s.Angulartics2,c.ToasterService,d.PlatformUtilsService],{organizationId:[0,"organizationId"]},{onAdded:"onAdded",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.organizationId)},null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noPaymentMethod"));n(l,1,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,p.View_CalloutComponent_0,p.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,f.CalloutComponent,[v.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,h.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,h.ControlContainer,null,[h.NgForm]),t.ɵdid(12,16384,null,0,h.NgControlStatusGroup,[[4,h.ControlContainer]],null,null),t.ɵdid(13,540672,null,0,g.ApiActionDirective,[t.ElementRef,m.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,h.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,h.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,h.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,h.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,h.NG_VALIDATORS,function(n){return[n]},[h.RequiredValidator]),t.ɵprd(1024,null,h.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[h.DefaultValueAccessor,h.ɵangular_packages_forms_forms_be]),t.ɵdid(33,671744,null,0,h.NgModel,[[2,h.ControlContainer],[6,h.NG_VALIDATORS],[8,null],[6,h.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,h.NgControl,null,[h.NgModel]),t.ɵdid(35,16384,null,0,h.NgControlStatus,[[4,h.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,h.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,h.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,h.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,h.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,h.NG_VALIDATORS,function(n){return[n]},[h.RequiredValidator]),t.ɵprd(1024,null,h.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[h.DefaultValueAccessor,h.ɵangular_packages_forms_forms_be]),t.ɵdid(56,671744,null,0,h.NgModel,[[2,h.ControlContainer],[6,h.NG_VALIDATORS],[8,null],[6,h.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,h.NgControl,null,[h.NgModel]),t.ɵdid(58,16384,null,0,h.NgControlStatus,[[4,h.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccount")),"");n(l,1,0,"warning",u),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccountDesc")),u=t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccountFailureWarning"));n(l,5,0,e,u),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent,0),"amount","1"));n(l,16,0,r),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending);var o=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent,0),"amount","2"));n(l,39,0,o),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,63,0,i);var a=t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccount"));n(l,67,0,a)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);var t=n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal);n(l,8,0,"fa fa-fw",t)},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod"));n(l,1,0,u)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},y.View_AdjustPaymentComponent_0,y.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,C.AdjustPaymentComponent,[a.ApiService,v.I18nService,s.Angulartics2,c.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noInvoices"));n(l,1,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-check text-success"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"paid"));n(l,3,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-exclamation-circle text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"unpaid"));n(l,3,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,31,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,11,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"a",[["class","mr-2"],["rel","noopener"],["target","_blank"]],[[8,"href",4],[8,"title",0]],null,null,null,null)),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"a",[["rel","noopener"],["target","_blank"]],[[8,"href",4],[8,"title",0]],null,null,null,null)),t.ɵppd(14,1),(n()(),t.ɵted(15,null,["\n ",""])),t.ɵppd(16,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,7,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,26,0,l.context.$implicit.paid),n(l,29,0,!l.context.$implicit.paid)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,2),l.context.$implicit.date,"mediumDate"));n(l,3,0,e);var u=t.ɵinlineInterpolate(1,"",l.context.$implicit.pdfUrl,""),r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"downloadInvoice")),"");n(l,8,0,u,r);var o=t.ɵinlineInterpolate(1,"",l.context.$implicit.url,""),i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,1,n(l,14,0,t.ɵnov(l.parent.parent.parent,0),"viewInvoice")),"");n(l,13,0,o,i);var a=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,0),"invoiceNumber",l.context.$implicit.number));n(l,15,0,a);var s=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.amount,"$"));n(l,20,0,s)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(5,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.invoices)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noTransactions"));n(l,1,0,e)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"chargeNoun"));n(l,1,0,e)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"refundNoun"));n(l,1,0,e)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{"fa-credit-card":0,"fa-university":1,"fa-bitcoin text-warning":2,"fa-paypal text-primary":3})],function(n,l){var e=l.component,t=n(l,2,0,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.Card,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.BankAccount||l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.WireTransfer,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.BitPay,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.PayPal);n(l,1,0,"fa fa-fw",t)},null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,27,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(12,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(18,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(19,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(23,{"text-strike":0}),t.ɵppd(24,1),(n()(),t.ɵted(25,null,["\n ",""])),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,l.context.$implicit.type===e.transactionType.Charge||l.context.$implicit.type===e.transactionType.Credit),n(l,12,0,l.context.$implicit.type===e.transactionType.Refund),n(l,18,0,l.context.$implicit.paymentMethodType);var t=n(l,23,0,l.context.$implicit.refunded);n(l,22,0,t)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,2),l.context.$implicit.createdDate,"mediumDate"));n(l,3,0,e),n(l,19,0,l.context.$implicit.details);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"");n(l,21,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.amount,"$"));n(l,25,0,r)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(5,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.transactions)},null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"p",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵeld(7,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(16,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(19,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(35,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(42,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(45,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,!e.showAddCredit),n(l,19,0,e.showAddCredit),n(l,26,0,!e.paymentSource),n(l,29,0,e.paymentSource),n(l,32,0,!e.showAdjustPayment),n(l,35,0,e.showAdjustPayment),n(l,42,0,!e.invoices||!e.invoices.length),n(l,45,0,e.invoices&&e.invoices.length),n(l,52,0,!e.transactions||!e.transactions.length),n(l,55,0,e.transactions&&e.transactions.length)},function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),e.isCreditBalance?"accountCredit":"accountBalance"));n(l,3,0,u);var r=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,1),e.creditOrBalance,"$"));n(l,8,0,r);var o=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"creditAppliedDesc"));n(l,12,0,o);var i=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"paymentMethod"));n(l,22,0,i);var a=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent,0),"invoices"));n(l,38,0,a);var s=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent,0),"transactions"));n(l,48,0,s);var c=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent,0),"chargesStatement","BITWARDEN"));n(l,58,0,c)})}function K(n){return t.ɵvid(0,[t.ɵpid(0,b.I18nPipe,[v.I18nService]),t.ɵpid(0,u.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(10,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(14,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(17,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.firstLoaded),n(l,14,0,!e.firstLoaded&&e.loading),n(l,17,0,e.billing)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"billing"));n(l,6,0,e)})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,K,_)),t.ɵdid(1,114688,null,0,w.OrganizationBillingComponent,[a.ApiService,v.I18nService,s.Angulartics2,c.ToasterService,S.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationBillingComponent=_,l.View_OrganizationBillingComponent_0=K,l.View_OrganizationBillingComponent_Host_0=H;var $=t.ɵccf("app-org-billing",w.OrganizationBillingComponent,H,{},{},[]);l.OrganizationBillingComponentNgFactory=$},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(33),r=e(28),o=e(3),i=e(17),a=e(14),s=e(5),c=e(578),d=e(483),p=e(4),f=e(6),v=e(13),h=e(902),g=e(615),m=e(579),y=e(484),C=e(8),b=e(514),w=e(72),S=e(7),_=e(20),I=e(10),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ",""])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),"");n(l,1,0,"warning",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled"));n(l,3,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"");n(l,1,0,"warning",u),n(l,9,0,e.reinstatePromise)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,8).loading);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,11,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription"));n(l,15,0,r)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[["class","text-danger ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-exclamation-triangle"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"licenseIsExpired"));n(l,3,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,2),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(4,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,4,0,l.component.isExpired)},function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.sub.expiration,"mediumDate"));n(l,1,0,u)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires"));n(l,1,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(17,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.sub.expiration),n(l,17,0,!e.sub.expiration)},function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"billingPlan"));n(l,3,0,u),n(l,7,0,e.sub.plan);var r=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent.parent,0),"expiration"));n(l,10,0,r)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"pendingCancellation"));n(l,1,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,23,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["","\n "])),t.ɵppd(21,2),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,l.component.subscriptionMarkedForCancel)},function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"status"));n(l,3,0,u),n(l,9,0,e.subscription.status||"-");var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent,0),"nextCharge"));n(l,16,0,r);var o=e.nextInvoice?t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,20,0,n(l,22,0,t.ɵnov(l.parent.parent.parent,2),e.nextInvoice.amount,"$")):"-";n(l,20,0,o)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.context.$implicit.name,u=l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",r=t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"));n(l,3,0,e,u,r);var o=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),i=t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval));n(l,7,0,o,i)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(11,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details"));n(l,3,0,e)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(19,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.subscription),n(l,19,0,e.subscription)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"billingPlan"));n(l,7,0,u),n(l,11,0,e.sub.plan)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},c.View_UpdateLicenseComponent_0,c.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,d.UpdateLicenseComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],{organizationId:[0,"organizationId"]},{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.organizationId)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense"));n(l,5,0,e)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"));n(l,5,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription"));n(l,9,0,u)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["licenseBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit ml-1"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.licensePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense"));n(l,7,0,u)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription"));n(l,7,0,u)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addSeats"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeSeats"));n(l,7,0,u)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeSeats(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeSeats(!1)&&t);return t},h.View_AdjustSeatsComponent_0,h.RenderType_AdjustSeatsComponent)),t.ɵdid(1,49152,null,0,g.AdjustSeatsComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],{seatPrice:[0,"seatPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.seatPrice,e.adjustSeatsAdd,e.organizationId,e.billingInterval)},null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustSeats),n(l,8,0,e.showAdjustSeats)},null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage"));n(l,7,0,u)})}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},m.View_AdjustStorageComponent_0,m.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,y.AdjustStorageComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.storageGbPrice,e.adjustStorageAdd,e.organizationId,e.billingInterval)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,45,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePlan()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(37,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(38,{width:0}),(n()(),t.ɵted(39,null,["\n ",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(44,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.canDownloadLicense),n(l,12,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,24,0,e.subscription&&e.canAdjustSeats&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel);var t=n(l,38,0,e.storageProgressWidth+"%");n(l,37,0,t),n(l,44,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"changeBillingPlan"));n(l,5,0,u);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"userSeats"));n(l,16,0,r);var o=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"subscriptionUserSeats",e.sub.seats));n(l,20,0,o);var i=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent.parent,0),"storage"));n(l,27,0,i);var a=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.sub.maxStorageGb||0,e.sub.storageName||"0 MB"));n(l,31,0,a),n(l,36,0,e.storagePercentage);var s=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100));n(l,39,0,s)})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function X(n){return t.ɵvid(0,[t.ɵpid(0,C.I18nPipe,[o.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.sub)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"subscription"));n(l,7,0,e)})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-subscription",[],null,null,null,X,R)),t.ɵdid(1,114688,null,0,b.OrganizationSubscriptionComponent,[w.TokenService,p.ApiService,S.PlatformUtilsService,o.I18nService,f.Angulartics2,v.ToasterService,_.MessagingService,I.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationSubscriptionComponent=R,l.View_OrganizationSubscriptionComponent_0=X,l.View_OrganizationSubscriptionComponent_Host_0=Z;var Q=t.ɵccf("app-org-subscription",b.OrganizationSubscriptionComponent,Z,{},{},[]);l.OrganizationSubscriptionComponentNgFactory=Q},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(5),i=e(12),a=e(17),s=e(14),c=e(615),d=e(4),p=e(6),f=e(13),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,[" "," × "," = "," /","\n "])),t.ɵppd(6,2),t.ɵppd(7,2),t.ɵppd(8,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"total"));n(l,3,0,u);var r=e.seatAdjustment||0,o=t.ɵunv(l,5,1,n(l,6,0,t.ɵnov(l.parent,1),e.seatPrice,"$")),i=t.ɵunv(l,5,2,n(l,7,0,t.ɵnov(l.parent,1),e.adjustedSeatTotal,"$")),a=t.ɵunv(l,5,3,n(l,8,0,t.ɵnov(l.parent,0),e.interval));n(l,5,0,r,o,i,a)})}function g(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),t.ɵpid(0,o.CurrencyPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,[["form",1]],null,53,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,3).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,3).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(3,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(5,16384,null,0,i.NgControlStatusGroup,[[4,i.ControlContainer]],null,null),t.ɵdid(6,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,46,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","seatAdjustment"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["class","form-control"],["id","seatAdjustment"],["min","0"],["name","SeatAdjustment"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.seatAdjustment=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,i.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(25,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵangular_packages_forms_forms_be]),t.ɵdid(28,671744,null,0,i.NgModel,[[2,i.ControlContainer],[6,i.NG_VALIDATORS],[8,null],[6,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(30,16384,null,0,i.NgControlStatus,[[4,i.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(48,null,["\n ","\n "])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,2,"small",[["class","d-block text-muted mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,6,0,e.formPromise);n(l,25,0,"");n(l,28,0,"SeatAdjustment",e.seatAdjustment),n(l,35,0,e.add)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),e.add?"addSeats":"removeSeats"));n(l,11,0,u);var r=t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),e.add?"seatsToAdd":"seatsToRemove"));n(l,19,0,r),n(l,22,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,37,0,t.ɵnov(l,2).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"");n(l,39,0,o);var i=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"submit"));n(l,43,0,i);var a=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"));n(l,48,0,a);var s=t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),e.add?"seatsAddNote":"seatsRemoveNote"));n(l,52,0,s)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,null,null,g,v)),t.ɵdid(1,49152,null,0,c.AdjustSeatsComponent,[d.ApiService,r.I18nService,p.Angulartics2,f.ToasterService],null,null)],null,null)}l.RenderType_AdjustSeatsComponent=v,l.View_AdjustSeatsComponent_0=g,l.View_AdjustSeatsComponent_Host_0=m;var y=t.ɵccf("app-adjust-seats",c.AdjustSeatsComponent,m,{seatPrice:"seatPrice",add:"add",organizationId:"organizationId",interval:"interval"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustSeatsComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SeatRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(5),o=e(41),i=e(616),a=e(52),s=e(17),c=e(14),d=e(617),p=e(8),f=e(3),v=e(262),h=e(22),g=e(58),m=e(7),y=e(108),C=e(34),b=e(9),w=e(45),S=e(234),_=e(64),I=e(20),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"select",[["class","form-control"],["id","type"],["name","Type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,9).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.type=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(16,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,11,0,"Type",e.cipher.type),n(l,16,0,e.typeOptions)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"whatTypeOfItem"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[["for","folder"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,9,"select",[["class","form-control"],["id","folder"],["name","FolderId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,7).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,7).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.folderId=e)&&u);return u},null,null)),t.ɵdid(7,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(9,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(11,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(14,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"FolderId",e.cipher.folderId),n(l,14,0,e.folders)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folder"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary ml-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,0),"premium"));n(l,2,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary ml-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.upgradeOrganization()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,0),"upgrade"));n(l,2,0,e)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"img",[["class","ml-2"],["src","images/totp-countdown.png"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,6,0,!e.organization&&!e.cipher.organizationId&&!e.canAccessPremium),n(l,9,0,e.organization&&!e.organization.useTotp||!e.organization&&!e.canAccessPremium&&e.cipher.organizationId&&!e.cipher.organizationUseTotp)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeTotp")),"");n(l,2,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,16,"span",[["class","totp-countdown mr-3 ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"span",[["class","totp-sec"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,":svg:svg",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,":svg:g",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,":svg:circle",[["class","totp-circle inner"],["cx","16"],["cy","16"],["r","12.6"]],null,null,null,null,null)),t.ɵdid(12,278528,null,0,r.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(13,{"stroke-dashoffset.px":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,":svg:circle",[["class","totp-circle outer"],["cx","16"],["cy","16"],["r","14"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[["class","totp-code mr-2"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(21,1),(n()(),t.ɵted(22,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,4,"button",[["class","btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.totpCode,"verificationCodeTotp","TOTP")&&t);return t},null,null)),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,13,0,l.component.totpDash);n(l,12,0,e)},function(n,l){var e=l.component;n(l,5,0,e.totpSec);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeTotp")),"");n(l,20,0,u),n(l,22,0,e.totpCodeFormatted);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"copyVerificationCode")),"");n(l,24,0,r)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["","\n "]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,72,"div",[["appBoxRow",""],["class","row"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,81920,null,0,i.BoxRowDirective,[t.ElementRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,32,"div",[["class","col-7 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,25,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,7,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,12)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,12).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,12)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,12)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.uri=e)&&u);return u},null,null)),t.ɵdid(12,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(14,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(16,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(17,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,13,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.launch(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"i",[["class","fa fa-lg fa-share"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.context.$implicit.uri,"uri","URI")&&t);return t},null,null)),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,34,"div",[["class","col-5 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(42,null,["\n ","\n "])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/uri-match-detection/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,18,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,9,"select",[["class","form-control"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.match=e)&&u);"change"===l&&(u=!1!==r.loginUriMatchChanged(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(55,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(57,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(59,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(62,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.removeUri(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0),n(l,14,0,t.ɵinlineInterpolate(1,"Login.Uris[",l.context.index,"].Uri"),l.context.$implicit.uri);n(l,17,0,""),n(l,57,0,t.ɵinlineInterpolate(1,"Login.Uris[",l.context.index,"].Match"),l.context.$implicit.match),n(l,62,0,e.uriMatchOptions)},function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"loginUri",l.context.index,""));var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"uriPosition",l.context.index+1));n(l,6,0,e);var u=t.ɵinlineInterpolate(1,"loginUri",l.context.index,""),r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,1,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"ex"))," https://google.com");n(l,11,0,u,r,t.ɵnov(l,16).ngClassUntouched,t.ɵnov(l,16).ngClassTouched,t.ɵnov(l,16).ngClassPristine,t.ɵnov(l,16).ngClassDirty,t.ɵnov(l,16).ngClassValid,t.ɵnov(l,16).ngClassInvalid,t.ɵnov(l,16).ngClassPending);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent.parent.parent,0),"launch")),"");n(l,22,0,o,!l.context.$implicit.canLaunch);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyUri")),"");n(l,28,0,i),n(l,41,0,t.ɵinlineInterpolate(1,"loginUriMatch",l.context.index,""));var a=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent.parent.parent,0),"matchDetection"));n(l,42,0,a);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l.parent.parent.parent.parent,0),"learnMore")),"");n(l,45,0,s),n(l,54,0,t.ɵinlineInterpolate(1,"loginUriMatch",l.context.index,""),t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l.parent.parent.parent.parent,0),"remove")),"");n(l,65,0,c)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.cipher.login.uris,e.trackByFunction)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,129,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,87,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,25,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","loginUsername"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","loginUsername"],["name","Login.Username"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,13)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,13)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,13)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.username=e)&&u);return u},null,null)),t.ɵdid(13,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(15,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(17,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(18,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.login.username,"username","Username")&&t);return t},null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,57,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,26,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","loginPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,19,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,5,"a",[["appStopClick",""],["class","d-block mr-2"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,42).onClick(e)&&u);"click"===l&&(u=!1!==r.generatePassword()&&u);return u},null,null)),t.ɵdid(42,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-lg fa-fw fa-refresh"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,[["checkPasswordBtn",1]],null,9,"a",[["appStopClick",""],["class","d-block"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e)&&u);"click"===l&&(u=!1!==r.checkPassword()&&u);return u},null,null)),t.ɵdid(49,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵdid(50,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,0,"i",[["class","fa fa-lg fa-fw fa-check-circle"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"i",[["class","fa fa-lg fa-fw fa-spinner fa-spin"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"],["id","loginPassword"],["name","Login.Password"]],[[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,64)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,64).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,64)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,64)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.password=e)&&u);return u},null,null)),t.ɵdid(64,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(66,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(68,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(69,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.togglePassword()&&t);return t},null,null)),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(77,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(78,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.login.password,"password","Password")&&t);return t},null,null)),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,13,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(95,0,null,null,2,"label",[["for","loginTotp"]],null,null,null,null,null)),(n()(),t.ɵted(96,null,["",""])),t.ɵppd(97,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(99,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control text-monospace"],["id","loginTotp"],["name","Login.Totp"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,100)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,100).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,100)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,100)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.totp=e)&&u);return u},null,null)),t.ɵdid(100,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(102,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(104,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(105,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,9,"div",[["class","col-6 form-group totp d-flex align-items-end"]],null,null,null,null,null)),t.ɵdid(109,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(110,{low:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(113,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(116,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(121,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,5,"a",[["appStopClick",""],["class","d-inline-block mb-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,124).onClick(e)&&u);"click"===l&&(u=!1!==r.addUri()&&u);return u},null,null)),t.ɵdid(124,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,0,"i",[["class","fa fa-plus-circle fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,[" ","\n "])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,15,0,"Login.Username",e.cipher.login.username);n(l,18,0,""),n(l,49,0,e.checkPasswordPromise);n(l,66,0,"Login.Password",e.cipher.login.password);n(l,69,0,"");var t=n(l,78,0,!e.showPassword,e.showPassword);n(l,77,0,"fa fa-lg",t);n(l,102,0,"Login.Totp",e.cipher.login.totp);n(l,105,0,"");var u=n(l,110,0,e.totpLow);n(l,109,0,"col-6 form-group totp d-flex align-items-end",u),n(l,113,0,!e.cipher.login.totp||!e.totpCode),n(l,116,0,e.cipher.login.totp&&e.totpCode),n(l,121,0,e.cipher.login.hasUris)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"username"));n(l,7,0,u),n(l,12,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"copyUsername")),"");n(l,22,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l.parent.parent,0),"password"));n(l,36,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,41,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"generatePassword")),"");n(l,41,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,48,0,n(l,51,0,t.ɵnov(l.parent.parent,0),"checkPassword")),"");n(l,48,0,a),n(l,53,0,t.ɵnov(l,48).loading);var s=!t.ɵnov(l,48).loading,c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,55,1,n(l,56,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,55,0,s,c),n(l,63,0,t.ɵinlineInterpolate(1,"",e.showPassword?"text":"password",""),t.ɵnov(l,68).ngClassUntouched,t.ɵnov(l,68).ngClassTouched,t.ɵnov(l,68).ngClassPristine,t.ɵnov(l,68).ngClassDirty,t.ɵnov(l,68).ngClassValid,t.ɵnov(l,68).ngClassInvalid,t.ɵnov(l,68).ngClassPending);var d=t.ɵinlineInterpolate(1,"",t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"toggleVisibility")),"");n(l,73,0,d);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l.parent.parent,0),"copyPassword")),"");n(l,81,0,p);var f=t.ɵunv(l,96,0,n(l,97,0,t.ɵnov(l.parent.parent,0),"authenticatorKeyTotp"));n(l,96,0,f),n(l,99,0,t.ɵnov(l,104).ngClassUntouched,t.ɵnov(l,104).ngClassTouched,t.ɵnov(l,104).ngClassPristine,t.ɵnov(l,104).ngClassDirty,t.ɵnov(l,104).ngClassValid,t.ɵnov(l,104).ngClassInvalid,t.ɵnov(l,104).ngClassPending);var v=t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l.parent.parent,0),"newUri"));n(l,127,0,v)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,137,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","cardCardholderName"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"input",[["class","form-control"],["id","cardCardholderName"],["name","Card.CardCardholderName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,11)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,11)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,11)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.cardholderName=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","cardBrand"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,9,"select",[["class","form-control"],["id","cardBrand"],["name","Card.Brand"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.brand=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(27,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(29,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(32,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,25,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","cardNumber"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","cardNumber"],["name","Card.Number"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,48)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,48)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,48)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.number=e)&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(53,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.card.number,"number","Number")&&t);return t},null,null)),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,16,"div",[["class","col form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,2,"label",[["for","cardExpMonth"]],null,null,null,null,null)),(n()(),t.ɵted(69,null,["",""])),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,9,"select",[["class","form-control"],["id","cardExpMonth"],["name","Card.ExpMonth"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,73).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,73).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.expMonth=e)&&u);return u},null,null)),t.ɵdid(73,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(75,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(77,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(80,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,13,"div",[["class","col form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,2,"label",[["for","cardExpYear"]],null,null,null,null,null)),(n()(),t.ɵted(87,null,["",""])),t.ɵppd(88,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,6,"input",[["class","form-control"],["id","cardExpYear"],["name","Card.ExpYear"],["type","text"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,91)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,91).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,91)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,91)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.expYear=e)&&u);return u},null,null)),t.ɵdid(91,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(93,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(95,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(96,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,33,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"label",[["for","cardCode"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(110,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"],["id","cardCode"],["name","Card.Code"]],[[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,111)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,111).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,111)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,111)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.code=e)&&u);return u},null,null)),t.ɵdid(111,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(113,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(115,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(116,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(118,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleCardCode()&&t);return t},null,null)),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(124,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(125,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(128,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.card.code,"securityCode","Security Code")&&t);return t},null,null)),t.ɵppd(129,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(131,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"Card.CardCardholderName",e.cipher.card.cardholderName);n(l,27,0,"Card.Brand",e.cipher.card.brand),n(l,32,0,e.cardBrandOptions);n(l,50,0,"Card.Number",e.cipher.card.number);n(l,53,0,"");n(l,75,0,"Card.ExpMonth",e.cipher.card.expMonth),n(l,80,0,e.cardExpMonthOptions);n(l,93,0,"Card.ExpYear",e.cipher.card.expYear);n(l,113,0,"Card.Code",e.cipher.card.code);n(l,116,0,"");var t=n(l,125,0,!e.showCardCode,e.showCardCode);n(l,124,0,"fa fa-lg",t)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"cardholderName"));n(l,7,0,u),n(l,10,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent.parent,0),"brand"));n(l,21,0,r),n(l,24,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending);var o=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"number"));n(l,42,0,o),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent.parent,0),"copyNumber")),"");n(l,57,0,i);var a=t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent.parent,0),"expirationMonth"));n(l,69,0,a),n(l,72,0,t.ɵnov(l,77).ngClassUntouched,t.ɵnov(l,77).ngClassTouched,t.ɵnov(l,77).ngClassPristine,t.ɵnov(l,77).ngClassDirty,t.ɵnov(l,77).ngClassValid,t.ɵnov(l,77).ngClassInvalid,t.ɵnov(l,77).ngClassPending);var s=t.ɵunv(l,87,0,n(l,88,0,t.ɵnov(l.parent.parent,0),"expirationYear"));n(l,87,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,90,0,n(l,96,0,t.ɵnov(l.parent.parent,0),"ex"))," 2019");n(l,90,0,c,t.ɵnov(l,95).ngClassUntouched,t.ɵnov(l,95).ngClassTouched,t.ɵnov(l,95).ngClassPristine,t.ɵnov(l,95).ngClassDirty,t.ɵnov(l,95).ngClassValid,t.ɵnov(l,95).ngClassInvalid,t.ɵnov(l,95).ngClassPending);var d=t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l.parent.parent,0),"securityCode"));n(l,105,0,d),n(l,110,0,t.ɵinlineInterpolate(1,"",e.showCardCode?"text":"password",""),t.ɵnov(l,115).ngClassUntouched,t.ɵnov(l,115).ngClassTouched,t.ɵnov(l,115).ngClassPristine,t.ɵnov(l,115).ngClassDirty,t.ɵnov(l,115).ngClassValid,t.ɵnov(l,115).ngClassInvalid,t.ɵnov(l,115).ngClassPending);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l.parent.parent,0),"toggleVisibility")),"");n(l,120,0,p);var f=t.ɵinlineInterpolate(1,"",t.ɵunv(l,128,0,n(l,129,0,t.ɵnov(l.parent.parent,0),"securityCode")),"");n(l,128,0,f)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,289,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,16,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","idTitle"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,9,"select",[["class","form-control"],["id","idTitle"],["name","Identity.Title"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,11).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.title=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(18,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,43,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","idFirstName"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,5,"input",[["class","form-control"],["id","idFirstName"],["name","Identity.FirstName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.firstName=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(36,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","idMiddleName"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"input",[["class","form-control"],["id","idMiddleName"],["name","Identity.MiddleName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.middleName=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(48,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(50,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"label",[["for","idLastName"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"input",[["class","form-control"],["id","idLastName"],["name","Identity.LastName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,60)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,60).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,60)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,60)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.lastName=e)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(62,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(64,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,30,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"label",[["for","idUsername"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idUsername"],["name","Identity.Username"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,77)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,77).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,77)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,77)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.username=e)&&u);return u},null,null)),t.ɵdid(77,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(79,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(81,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(82,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,2,"label",[["for","idCompany"]],null,null,null,null,null)),(n()(),t.ɵted(88,null,["",""])),t.ɵppd(89,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,5,"input",[["class","form-control"],["id","idCompany"],["name","Identity.Company"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,92)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,92).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,92)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,92)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.company=e)&&u);return u},null,null)),t.ɵdid(92,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(94,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(96,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"label",[["for","idSsn"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idSsn"],["name","Identity.SSN"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,109)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,109).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,109)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,109)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.ssn=e)&&u);return u},null,null)),t.ɵdid(109,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(111,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(113,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(114,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,2,"label",[["for","idPassportNumber"]],null,null,null,null,null)),(n()(),t.ɵted(120,null,["",""])),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idPassportNumber"],["name","Identity.PassportNumber"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,124)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,124)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,124)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.passportNumber=e)&&u);return u},null,null)),t.ɵdid(124,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(129,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(132,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,2,"label",[["for","idLicenseNumber"]],null,null,null,null,null)),(n()(),t.ɵted(135,null,["",""])),t.ɵppd(136,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(138,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idLicenseNumber"],["name","Identity.LicenseNumber"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,139)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,139).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,139)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,139)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.licenseNumber=e)&&u);return u},null,null)),t.ɵdid(139,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(141,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(143,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(144,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(148,0,null,null,30,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,13,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(152,0,null,null,2,"label",[["for","idEmail"]],null,null,null,null,null)),(n()(),t.ɵted(153,null,["",""])),t.ɵppd(154,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(156,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idEmail"],["name","Identity.Email"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,157)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,157).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,157)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,157)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.email=e)&&u);return u},null,null)),t.ɵdid(157,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(159,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(161,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(162,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(167,0,null,null,2,"label",[["for","idPhone"]],null,null,null,null,null)),(n()(),t.ɵted(168,null,["",""])),t.ɵppd(169,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(171,0,null,null,5,"input",[["class","form-control"],["id","idPhone"],["name","Identity.Phone"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,172)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,172).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,172)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,172)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.phone=e)&&u);return u},null,null)),t.ɵdid(172,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(174,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(176,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(180,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(182,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,2,"label",[["for","idAddress1"]],null,null,null,null,null)),(n()(),t.ɵted(185,null,["",""])),t.ɵppd(186,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,5,"input",[["class","form-control"],["id","idAddress1"],["name","Identity.Address1"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,189)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,189).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,189)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,189)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address1=e)&&u);return u},null,null)),t.ɵdid(189,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(191,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(193,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(196,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(198,0,null,null,2,"label",[["for","idAddress2"]],null,null,null,null,null)),(n()(),t.ɵted(199,null,["",""])),t.ɵppd(200,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(202,0,null,null,5,"input",[["class","form-control"],["id","idAddress2"],["name","Identity.Address2"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,203)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,203).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,203)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,203)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address2=e)&&u);return u},null,null)),t.ɵdid(203,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(205,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(207,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(211,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(213,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(215,0,null,null,2,"label",[["for","idAddress3"]],null,null,null,null,null)),(n()(),t.ɵted(216,null,["",""])),t.ɵppd(217,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(219,0,null,null,5,"input",[["class","form-control"],["id","idAddress3"],["name","Identity.Address3"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,220)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,220).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,220)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,220)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address3=e)&&u);return u},null,null)),t.ɵdid(220,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(222,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(224,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(227,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(229,0,null,null,2,"label",[["for","idCity"]],null,null,null,null,null)),(n()(),t.ɵted(230,null,["",""])),t.ɵppd(231,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(233,0,null,null,5,"input",[["class","form-control"],["id","idCity"],["name","Identity.City"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,234)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,234).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,234)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,234)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.city=e)&&u);return u},null,null)),t.ɵdid(234,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(236,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(238,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(242,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(244,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(246,0,null,null,2,"label",[["for","idState"]],null,null,null,null,null)),(n()(),t.ɵted(247,null,["",""])),t.ɵppd(248,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(250,0,null,null,5,"input",[["class","form-control"],["id","idState"],["name","Identity.State"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,251)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,251).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,251)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,251)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.state=e)&&u);return u},null,null)),t.ɵdid(251,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(253,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(255,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(258,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(260,0,null,null,2,"label",[["for","idPostalCode"]],null,null,null,null,null)),(n()(),t.ɵted(261,null,["",""])),t.ɵppd(262,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(264,0,null,null,5,"input",[["class","form-control"],["id","idPostalCode"],["name","Identity.PostalCode"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,265)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,265).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,265)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,265)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.postalCode=e)&&u);return u},null,null)),t.ɵdid(265,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(267,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(269,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(273,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(275,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(277,0,null,null,2,"label",[["for","idCountry"]],null,null,null,null,null)),(n()(),t.ɵted(278,null,["",""])),t.ɵppd(279,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(281,0,null,null,5,"input",[["class","form-control"],["id","idCountry"],["name","Identity.Country"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,282)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,282).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,282)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,282)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.country=e)&&u);return u},null,null)),t.ɵdid(282,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(284,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(286,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"Identity.Title",e.cipher.identity.title),n(l,18,0,e.identityTitleOptions);n(l,34,0,"Identity.FirstName",e.cipher.identity.firstName);n(l,48,0,"Identity.MiddleName",e.cipher.identity.middleName);n(l,62,0,"Identity.LastName",e.cipher.identity.lastName);n(l,79,0,"Identity.Username",e.cipher.identity.username);n(l,82,0,"");n(l,94,0,"Identity.Company",e.cipher.identity.company);n(l,111,0,"Identity.SSN",e.cipher.identity.ssn);n(l,114,0,"");n(l,126,0,"Identity.PassportNumber",e.cipher.identity.passportNumber);n(l,129,0,"");n(l,141,0,"Identity.LicenseNumber",e.cipher.identity.licenseNumber);n(l,144,0,"");n(l,159,0,"Identity.Email",e.cipher.identity.email);n(l,162,0,"");n(l,174,0,"Identity.Phone",e.cipher.identity.phone);n(l,191,0,"Identity.Address1",e.cipher.identity.address1);n(l,205,0,"Identity.Address2",e.cipher.identity.address2);n(l,222,0,"Identity.Address3",e.cipher.identity.address3);n(l,236,0,"Identity.City",e.cipher.identity.city);n(l,253,0,"Identity.State",e.cipher.identity.state);n(l,267,0,"Identity.PostalCode",e.cipher.identity.postalCode);n(l,284,0,"Identity.Country",e.cipher.identity.country)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"title"));n(l,7,0,e),n(l,10,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var u=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"firstName"));n(l,28,0,u),n(l,31,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var r=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"middleName"));n(l,42,0,r),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var o=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l.parent.parent,0),"lastName"));n(l,56,0,o),n(l,59,0,t.ɵnov(l,64).ngClassUntouched,t.ɵnov(l,64).ngClassTouched,t.ɵnov(l,64).ngClassPristine,t.ɵnov(l,64).ngClassDirty,t.ɵnov(l,64).ngClassValid,t.ɵnov(l,64).ngClassInvalid,t.ɵnov(l,64).ngClassPending);var i=t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"username"));n(l,73,0,i),n(l,76,0,t.ɵnov(l,81).ngClassUntouched,t.ɵnov(l,81).ngClassTouched,t.ɵnov(l,81).ngClassPristine,t.ɵnov(l,81).ngClassDirty,t.ɵnov(l,81).ngClassValid,t.ɵnov(l,81).ngClassInvalid,t.ɵnov(l,81).ngClassPending);var a=t.ɵunv(l,88,0,n(l,89,0,t.ɵnov(l.parent.parent,0),"company"));n(l,88,0,a),n(l,91,0,t.ɵnov(l,96).ngClassUntouched,t.ɵnov(l,96).ngClassTouched,t.ɵnov(l,96).ngClassPristine,t.ɵnov(l,96).ngClassDirty,t.ɵnov(l,96).ngClassValid,t.ɵnov(l,96).ngClassInvalid,t.ɵnov(l,96).ngClassPending);var s=t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l.parent.parent,0),"ssn"));n(l,105,0,s),n(l,108,0,t.ɵnov(l,113).ngClassUntouched,t.ɵnov(l,113).ngClassTouched,t.ɵnov(l,113).ngClassPristine,t.ɵnov(l,113).ngClassDirty,t.ɵnov(l,113).ngClassValid,t.ɵnov(l,113).ngClassInvalid,t.ɵnov(l,113).ngClassPending);var c=t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l.parent.parent,0),"passportNumber"));n(l,120,0,c),n(l,123,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending);var d=t.ɵunv(l,135,0,n(l,136,0,t.ɵnov(l.parent.parent,0),"licenseNumber"));n(l,135,0,d),n(l,138,0,t.ɵnov(l,143).ngClassUntouched,t.ɵnov(l,143).ngClassTouched,t.ɵnov(l,143).ngClassPristine,t.ɵnov(l,143).ngClassDirty,t.ɵnov(l,143).ngClassValid,t.ɵnov(l,143).ngClassInvalid,t.ɵnov(l,143).ngClassPending);var p=t.ɵunv(l,153,0,n(l,154,0,t.ɵnov(l.parent.parent,0),"email"));n(l,153,0,p),n(l,156,0,t.ɵnov(l,161).ngClassUntouched,t.ɵnov(l,161).ngClassTouched,t.ɵnov(l,161).ngClassPristine,t.ɵnov(l,161).ngClassDirty,t.ɵnov(l,161).ngClassValid,t.ɵnov(l,161).ngClassInvalid,t.ɵnov(l,161).ngClassPending);var f=t.ɵunv(l,168,0,n(l,169,0,t.ɵnov(l.parent.parent,0),"phone"));n(l,168,0,f),n(l,171,0,t.ɵnov(l,176).ngClassUntouched,t.ɵnov(l,176).ngClassTouched,t.ɵnov(l,176).ngClassPristine,t.ɵnov(l,176).ngClassDirty,t.ɵnov(l,176).ngClassValid,t.ɵnov(l,176).ngClassInvalid,t.ɵnov(l,176).ngClassPending);var v=t.ɵunv(l,185,0,n(l,186,0,t.ɵnov(l.parent.parent,0),"address1"));n(l,185,0,v),n(l,188,0,t.ɵnov(l,193).ngClassUntouched,t.ɵnov(l,193).ngClassTouched,t.ɵnov(l,193).ngClassPristine,t.ɵnov(l,193).ngClassDirty,t.ɵnov(l,193).ngClassValid,t.ɵnov(l,193).ngClassInvalid,t.ɵnov(l,193).ngClassPending);var h=t.ɵunv(l,199,0,n(l,200,0,t.ɵnov(l.parent.parent,0),"address2"));n(l,199,0,h),n(l,202,0,t.ɵnov(l,207).ngClassUntouched,t.ɵnov(l,207).ngClassTouched,t.ɵnov(l,207).ngClassPristine,t.ɵnov(l,207).ngClassDirty,t.ɵnov(l,207).ngClassValid,t.ɵnov(l,207).ngClassInvalid,t.ɵnov(l,207).ngClassPending);var g=t.ɵunv(l,216,0,n(l,217,0,t.ɵnov(l.parent.parent,0),"address3"));n(l,216,0,g),n(l,219,0,t.ɵnov(l,224).ngClassUntouched,t.ɵnov(l,224).ngClassTouched,t.ɵnov(l,224).ngClassPristine,t.ɵnov(l,224).ngClassDirty,t.ɵnov(l,224).ngClassValid,t.ɵnov(l,224).ngClassInvalid,t.ɵnov(l,224).ngClassPending);var m=t.ɵunv(l,230,0,n(l,231,0,t.ɵnov(l.parent.parent,0),"cityTown"));n(l,230,0,m),n(l,233,0,t.ɵnov(l,238).ngClassUntouched,t.ɵnov(l,238).ngClassTouched,t.ɵnov(l,238).ngClassPristine,t.ɵnov(l,238).ngClassDirty,t.ɵnov(l,238).ngClassValid,t.ɵnov(l,238).ngClassInvalid,t.ɵnov(l,238).ngClassPending);var y=t.ɵunv(l,247,0,n(l,248,0,t.ɵnov(l.parent.parent,0),"stateProvince"));n(l,247,0,y),n(l,250,0,t.ɵnov(l,255).ngClassUntouched,t.ɵnov(l,255).ngClassTouched,t.ɵnov(l,255).ngClassPristine,t.ɵnov(l,255).ngClassDirty,t.ɵnov(l,255).ngClassValid,t.ɵnov(l,255).ngClassInvalid,t.ɵnov(l,255).ngClassPending);var C=t.ɵunv(l,261,0,n(l,262,0,t.ɵnov(l.parent.parent,0),"zipPostalCode"));n(l,261,0,C),n(l,264,0,t.ɵnov(l,269).ngClassUntouched,t.ɵnov(l,269).ngClassTouched,t.ɵnov(l,269).ngClassPristine,t.ɵnov(l,269).ngClassDirty,t.ɵnov(l,269).ngClassValid,t.ɵnov(l,269).ngClassInvalid,t.ɵnov(l,269).ngClassPending);var b=t.ɵunv(l,278,0,n(l,279,0,t.ɵnov(l.parent.parent,0),"country"));n(l,278,0,b),n(l,281,0,t.ɵnov(l,286).ngClassUntouched,t.ɵnov(l,286).ngClassTouched,t.ɵnov(l,286).ngClassPristine,t.ɵnov(l,286).ngClassDirty,t.ɵnov(l,286).ngClassValid,t.ɵnov(l,286).ngClassInvalid,t.ɵnov(l,286).ngClassPending)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(8,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.parent.context.$implicit.value,"value","Field")&&t);return t},null,null)),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value);n(l,8,0,"")},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyValue")),"");n(l,12,0,e)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"]],[[8,"id",0],[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(8,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleFieldValue(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(16,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.parent.context.$implicit.value,"value","Field")&&t);return t},null,null)),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value);n(l,8,0,"");var e=n(l,17,0,!l.parent.context.$implicit.showValue,l.parent.context.$implicit.showValue);n(l,16,0,"fa fa-lg",e)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵinlineInterpolate(1,"",l.parent.context.$implicit.showValue?"text":"password",""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent.parent,0),"toggleVisibility")),"");n(l,12,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyValue")),"");n(l,20,0,u)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"input",[["appTrueFalseValue",""],["falseValue","false"],["trueValue","true"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,1).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,1).onTouched()&&u);"change"===l&&(u=!1!==t.ɵnov(n,2).onHostChange(e)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(2,16384,null,0,d.TrueFalseValueDirective,[t.ElementRef,t.Renderer2],{trueValue:[0,"trueValue"],falseValue:[1,"falseValue"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.CheckboxControlValueAccessor,d.TrueFalseValueDirective]),t.ɵdid(4,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(6,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null)],function(n,l){n(l,2,0,"true","false"),n(l,4,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value)},function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵnov(l,6).ngClassUntouched,t.ɵnov(l,6).ngClassTouched,t.ɵnov(l,6).ngClassPristine,t.ɵnov(l,6).ngClassDirty,t.ɵnov(l,6).ngClassValid,t.ɵnov(l,6).ngClassInvalid,t.ɵnov(l,6).ngClassPending)})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,54,"div",[["appBoxRow",""],["class","row"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,81920,null,0,i.BoxRowDirective,[t.ElementRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,22,"div",[["class","col-5 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/custom-fields/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(23,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(24,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,26,"div",[["class","col-7 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,19,"div",[["class","d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(36,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(39,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.removeField(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0),n(l,21,0,t.ɵinlineInterpolate(1,"Field.Name",l.context.index,""),l.context.$implicit.name);n(l,24,0,""),n(l,36,0,l.context.$implicit.type===e.fieldType.Text),n(l,39,0,l.context.$implicit.type===e.fieldType.Hidden),n(l,44,0,l.context.$implicit.type===e.fieldType.Boolean)},function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"fieldName",l.context.index,""));var e=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,8,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"learnMore")),"");n(l,11,0,u),n(l,18,0,t.ɵinlineInterpolate(1,"fieldName",l.context.index,""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,29,0,t.ɵinlineInterpolate(1,"fieldValue",l.context.index,""));var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,0),"value"));n(l,30,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent,0),"remove")),"");n(l,47,0,o)})}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.cipher.fields,e.trackByFunction)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,16,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","organizationId"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"select",[["class","form-control"],["id","organizationId"],["name","OrganizationId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,15).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.organizationId=e)&&u);"change"===l&&(u=!1!==r.organizationChanged()&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(17,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(19,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(22,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"OrganizationId",e.cipher.organizationId),n(l,22,0,e.ownershipOptions)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"ownership"));n(l,3,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"whoOwnsThisItem"));n(l,11,0,u),n(l,14,0,t.ɵnov(l,19).ngClassUntouched,t.ɵnov(l,19).ngClassTouched,t.ɵnov(l,19).ngClassPristine,t.ɵnov(l,19).ngClassDirty,t.ɵnov(l,19).ngClassValid,t.ɵnov(l,19).ngClassInvalid,t.ɵnov(l,19).ngClassPending)})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["class","form-check-input"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"label",[["class","form-check-label"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"collection-",l.context.index,""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending),n(l,9,0,t.ɵinlineInterpolate(1,"collection-",l.context.index,"")),n(l,10,0,l.context.$implicit.name)})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.collections)},null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,!e.collections||!e.collections.length),n(l,10,0,e.collections&&e.collections.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections"));n(l,3,0,e)})}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,2)],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"datePasswordUpdated"));n(l,3,0,u);var r=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,1),e.cipher.passwordRevisionDisplayDate,"medium"));n(l,5,0,r)})}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,7).onClick(e)&&u);"click"===l&&(u=!1!==r.viewHistory()&&u);return u},null,null)),t.ɵdid(7,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(8,1),(n()(),t.ɵted(9,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"passwordHistory"));n(l,3,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"view")),"");n(l,6,0,r),n(l,9,0,e.cipher.passwordHistory.length)})}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n "," -\n "])),t.ɵppd(2,2),(n()(),t.ɵeld(3,0,null,null,1,"span",[["class","text-monospace ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.lastUsedDate,"short"));n(l,1,0,e),n(l,4,0,l.context.$implicit.password)})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.cipher.passwordHistory)},null)}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,18,"div",[["class","small text-muted mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",":"])),t.ɵppd(8,1),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(13,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(16,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(19,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,e.showRevisionDate),n(l,16,0,e.hasPasswordHistory),n(l,19,0,e.viewingPasswordHistory)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"dateUpdated"));n(l,7,0,u);var r=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,1),e.cipher.revisionDate,"medium"));n(l,9,0,r)})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,96,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,14,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,14)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,14).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,14)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,14)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.name=e)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(15,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(18,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(20,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(24,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(29,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(33,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","notes"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"textarea",[["class","form-control"],["id","notes"],["name","Notes"],["rows","6"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.notes=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(48,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(50,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(58,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,5,"a",[["appStopClick",""],["class","d-inline-block mb-2"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,61).onClick(e)&&u);"click"===l&&(u=!1!==r.addField()&&u);return u},null,null)),t.ɵdid(61,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,0,"i",[["class","fa fa-plus-circle fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,[" ","\n "])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,16,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,2,"label",[["class","sr-only"],["for","addFieldType"]],null,null,null,null,null)),(n()(),t.ɵted(72,null,["",""])),t.ɵppd(73,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,9,"select",[["class","form-control"],["id","addFieldType"],["name","AddFieldType"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,76).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.addFieldType=e)&&u);return u},null,null)),t.ɵdid(76,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(83,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(89,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(92,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(95,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.editMode);n(l,15,0,"");n(l,18,0,"Name",e.cipher.name),n(l,24,0,!e.organization),n(l,29,0,e.cipher.type===e.cipherType.Login),n(l,33,0,e.cipher.type===e.cipherType.Card),n(l,37,0,e.cipher.type===e.cipherType.Identity);n(l,48,0,"Notes",e.cipher.notes),n(l,58,0,e.cipher.hasFields);n(l,78,0,"AddFieldType",e.addFieldType),n(l,83,0,e.addFieldTypeOptions),n(l,89,0,!e.editMode&&!e.organization&&e.ownershipOptions&&e.ownershipOptions.length>1),n(l,92,0,!e.editMode&&e.cipher.organizationId),n(l,95,0,e.editMode)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"name"));n(l,10,0,e),n(l,13,0,t.ɵnov(l,15).required?"":null,t.ɵnov(l,20).ngClassUntouched,t.ɵnov(l,20).ngClassTouched,t.ɵnov(l,20).ngClassPristine,t.ɵnov(l,20).ngClassDirty,t.ɵnov(l,20).ngClassValid,t.ɵnov(l,20).ngClassInvalid,t.ɵnov(l,20).ngClassPending);var u=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent,0),"notes"));n(l,42,0,u),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var r=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l.parent,0),"customFields"));n(l,54,0,r);var o=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l.parent,0),"newCustomField"));n(l,64,0,o);var i=t.ɵunv(l,72,0,n(l,73,0,t.ɵnov(l.parent,0),"type"));n(l,72,0,i),n(l,75,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending)})}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"button",[["class","btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleFavorite()&&t);return t},null,null)),t.ɵppd(1,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(4,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(5,{"fa-star":0,"fa-star-o":1}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,t=n(l,5,0,e.cipher.favorite,!e.cipher.favorite);n(l,4,0,"fa fa-lg",t)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),e.cipher.favorite?"unfavorite":"favorite")),"");n(l,0,0,u)})}function sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,6,0,u,r)})}function cn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,sn)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,6,0,e.editMode)},null)}function dn(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,44,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,41,"form",[["autocomplete","off"],["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(26,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,18,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["\n ","\n "])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,cn)),t.ɵdid(45,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,26,0,e.cipher),n(l,45,0,e.cipher)},function(n,l){var e=l.component;n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u),n(l,30,0,t.ɵnov(l,6).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"");n(l,32,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"save"));n(l,36,0,o);var i=t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"cancel"));n(l,41,0,i)})}function pn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-add-edit",[],null,null,null,dn,R)),t.ɵdid(1,114688,null,0,v.AddEditComponent,[h.CipherService,g.FolderService,f.I18nService,m.PlatformUtilsService,y.AuditService,C.StateService,b.UserService,w.CollectionService,S.TotpService,_.PasswordGenerationService,I.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AddEditComponent=R,l.View_AddEditComponent_0=dn,l.View_AddEditComponent_Host_0=pn;var fn=t.ɵccf("app-vault-add-edit",v.AddEditComponent,pn,{folderId:"folderId",cipherId:"cipherId",type:"type",collectionIds:"collectionIds",organizationId:"organizationId"},{onSavedCipher:"onSavedCipher",onDeletedCipher:"onDeletedCipher",onCancelled:"onCancelled",onEditAttachments:"onEditAttachments",onShareCipher:"onShareCipher",onEditCollections:"onEditCollections",onGeneratePassword:"onGeneratePassword"},[]);l.AddEditComponentNgFactory=fn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(17),r=e(14),o=e(5),i=e(41),a=e(8),s=e(3),c=e(12),d=e(471),p=e(22),f=e(23),v=e(9),h=e(7),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-fw fa-lg fa-file-o"]],null,null,null,null,null))],null,null)}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-lg fa-fw fa-spin"]],null,null,null,null,null))],null,null)}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"a",[["href","https://help.bitwarden.com/article/attachments/#fixing-old-attachments"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"i",[["class","fa fa-exclamation-triangle text-warning"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,[["reuploadBtn",1]],null,3,"button",[["class","btn btn-outline-primary btn-sm m-0 py-0 px-2"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reupload(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵdid(8,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,8,0,l.component.reuploadPromises[l.parent.context.$implicit.id])},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"attachmentFixDesc")),"");n(l,4,0,e),n(l,7,0,t.ɵnov(l,7).loading);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"fix"));n(l,9,0,u)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,40,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(8,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e)&&u);"click"===l&&(u=!1!==r.download(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(16,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(20,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,12,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,[["deleteBtn",1]],null,9,"button",[["appStopClick",""],["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e)&&u);"click"===l&&(u=!1!==r.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(30,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵdid(31,16384,null,0,i.StopClickDirective,[],null,null),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!l.context.$implicit.downloading),n(l,8,0,l.context.$implicit.downloading),n(l,20,0,e.showFixOldAttachments(l.context.$implicit)),n(l,30,0,e.deletePromises[l.context.$implicit.id])},function(n,l){n(l,17,0,l.context.$implicit.fileName),n(l,24,0,l.context.$implicit.sizeName);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,29,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"delete")),"");n(l,29,0,e,t.ɵnov(l,29).loading),n(l,34,0,t.ɵnov(l,29).loading);var u=!t.ɵnov(l,29).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,36,1,n(l,37,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,36,0,u,r)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.cipher.attachments)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[s.I18nService]),(n()(),t.ɵeld(1,0,null,null,66,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,63,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,60,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,c.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,c.ControlContainer,null,[c.NgForm]),t.ɵdid(8,16384,null,0,c.NgControlStatusGroup,[[4,c.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),t.ɵppd(15,1),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(17,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,18,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,16,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(61,1),(n()(),t.ɵted(62,null,["",""])),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,17,0,e.cipher),n(l,31,0,e.cipher&&e.cipher.hasAttachments)},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"attachments"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"close")),"");n(l,20,0,u);var r=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"newAttachment"));n(l,34,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"file"));n(l,38,0,o);var i=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"maxFileSize"));n(l,44,0,i),n(l,50,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),"");n(l,52,0,a);var s=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"save"));n(l,56,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"close")),"");n(l,60,0,c);var d=t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,0),"close"));n(l,62,0,d)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-attachments",[],null,null,null,_,g)),t.ɵdid(1,114688,null,0,d.AttachmentsComponent,[p.CipherService,s.I18nService,f.CryptoService,v.UserService,h.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AttachmentsComponent=g,l.View_AttachmentsComponent_0=_,l.View_AttachmentsComponent_Host_0=I;var R=t.ɵccf("app-vault-attachments",d.AttachmentsComponent,I,{cipherId:"cipherId"},{onUploadedAttachment:"onUploadedAttachment",onDeletedAttachment:"onDeletedAttachment",onReuploadedAttachment:"onReuploadedAttachment"},[]);l.AttachmentsComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(557),c=e(6),d=e(22),p=e(13),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,48,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,45,"div",[["class","modal-dialog modal-sm"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,42,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(9,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["\n ","\n "])),t.ɵppd(28,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,16,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,8,"button",[["appAutoFocus",""],["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(43,1),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"deleteSelected"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"close")),"");n(l,18,0,r);var o=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"deleteSelectedItemsDesc",e.cipherIds.length));n(l,27,0,o),n(l,32,0,t.ɵnov(l,5).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"loading")),"");n(l,34,0,i);var a=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"delete"));n(l,38,0,a);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l,0),"cancel")),"");n(l,42,0,s);var c=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"cancel"));n(l,44,0,c)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-bulk-delete",[],null,null,null,v,f)),t.ɵdid(1,49152,null,0,s.BulkDeleteComponent,[c.Angulartics2,d.CipherService,p.ToasterService,r.I18nService],null,null)],null,null)}l.RenderType_BulkDeleteComponent=f,l.View_BulkDeleteComponent_0=v,l.View_BulkDeleteComponent_Host_0=h;var g=t.ɵccf("app-vault-bulk-delete",s.BulkDeleteComponent,h,{cipherIds:"cipherIds"},{onDeleted:"onDeleted"},[]);l.BulkDeleteComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(8),o=e(3),i=e(17),a=e(14),s=e(5),c=e(558),d=e(6),p=e(22),f=e(13),v=e(58),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function m(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog modal-sm"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,23,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(29,null,["",""])),t.ɵppd(30,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"label",[["for","folder"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,9,"select",[["class","form-control"],["id","folder"],["name","FolderId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,39).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,39).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.folderId=e)&&u);return u},null,null)),t.ɵdid(39,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(41,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(43,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(46,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,16,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise);n(l,41,0,"FolderId",e.folderId),n(l,46,0,e.folders)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"moveSelected"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"close")),"");n(l,18,0,r);var o=t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"moveSelectedItemsDesc",e.cipherIds.length));n(l,29,0,o);var i=t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"folder"));n(l,35,0,i),n(l,38,0,t.ɵnov(l,43).ngClassUntouched,t.ɵnov(l,43).ngClassTouched,t.ɵnov(l,43).ngClassPristine,t.ɵnov(l,43).ngClassDirty,t.ɵnov(l,43).ngClassValid,t.ɵnov(l,43).ngClassInvalid,t.ɵnov(l,43).ngClassPending),n(l,53,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l,0),"loading")),"");n(l,55,0,a);var s=t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l,0),"save"));n(l,59,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l,0),"cancel")),"");n(l,63,0,c);var d=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"cancel"));n(l,65,0,d)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-bulk-move",[],null,null,null,m,h)),t.ɵdid(1,114688,null,0,c.BulkMoveComponent,[d.Angulartics2,p.CipherService,f.ToasterService,o.I18nService,v.FolderService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BulkMoveComponent=h,l.View_BulkMoveComponent_0=m,l.View_BulkMoveComponent_Host_0=y;var C=t.ɵccf("app-vault-bulk-move",c.BulkMoveComponent,y,{cipherIds:"cipherIds"},{onMoved:"onMoved"},[]);l.BulkMoveComponentNgFactory=C},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(8),a=e(3),s=e(17),c=e(14),d=e(559),p=e(6),f=e(22),v=e(13),h=e(45),g=e(9),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"unselectAll"));n(l,7,0,u)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.collections)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,91,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,88,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,85,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,43,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(29,null,["",""])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(33,null,["","\n "])),t.ɵppd(34,4),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["for","organization"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,9,"select",[["class","form-control"],["id","organization"],["name","OrganizationId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,43).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,43).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.organizationId=e)&&u);"change"===l&&(u=!1!==r.filterCollections()&&u);return u},null,null)),t.ɵdid(43,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(45,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(47,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(50,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(57,null,["",""])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(65,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(68,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,18,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,10,"button",[["class","btn btn-primary btn-submit manual"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),t.ɵdid(74,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(75,{loading:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(86,1),(n()(),t.ɵted(87,null,["",""])),t.ɵppd(88,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise);n(l,45,0,"OrganizationId",e.organizationId),n(l,50,0,e.organizations),n(l,61,0,e.collections&&e.collections.length),n(l,65,0,!e.collections||!e.collections.length),n(l,68,0,e.collections&&e.collections.length);var u=n(l,75,0,t.ɵnov(l,5).loading);n(l,74,0,"btn btn-primary btn-submit manual",u)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"shareSelected"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"close")),"");n(l,18,0,r);var o=t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"shareManyDesc"));n(l,29,0,o);var i=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"shareSelectedItemsCountDesc",e.ciphers.length,e.shareableCiphers.length,e.nonShareableCount));n(l,33,0,i);var a=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"organization"));n(l,39,0,a),n(l,42,0,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending);var s=t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l,0),"collections"));n(l,57,0,s),n(l,73,0,t.ɵnov(l,5).loading||!e.canSave);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"");n(l,77,0,c);var d=t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"save"));n(l,81,0,d);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"cancel")),"");n(l,85,0,p);var f=t.ɵunv(l,87,0,n(l,88,0,t.ɵnov(l,0),"cancel"));n(l,87,0,f)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-bulk-share",[],null,null,null,_,m)),t.ɵdid(1,245760,null,0,d.BulkShareComponent,[p.Angulartics2,f.CipherService,v.ToasterService,a.I18nService,h.CollectionService,g.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BulkShareComponent=m,l.View_BulkShareComponent_0=_,l.View_BulkShareComponent_Host_0=I;var R=t.ɵccf("app-vault-bulk-share",d.BulkShareComponent,I,{ciphers:"ciphers",organizationId:"organizationId"},{onShared:"onShared"},[]);l.BulkShareComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(8),a=e(3),s=e(17),c=e(14),d=e(472),p=e(45),f=e(7),v=e(22),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"unselectAll"));n(l,7,0,u)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.collections)},null)}function w(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,21,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.cipher),n(l,42,0,e.collections&&e.collections.length),n(l,46,0,!e.collections||!e.collections.length),n(l,49,0,e.collections&&e.collections.length)},function(n,l){n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"collections"));n(l,15,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u);var r=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"collectionsDesc"));n(l,32,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"collections"));n(l,38,0,o),n(l,54,0,t.ɵnov(l,5).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,i);var a=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"save"));n(l,60,0,a);var s=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"cancel"));n(l,65,0,s)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-collections",[],null,null,null,w,h)),t.ɵdid(1,245760,null,0,d.CollectionsComponent,[p.CollectionService,f.PlatformUtilsService,a.I18nService,v.CipherService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=h,l.View_CollectionsComponent_0=w,l.View_CollectionsComponent_Host_0=S;var _=t.ɵccf("app-vault-collections",d.CollectionsComponent,S,{cipherId:"cipherId"},{onSavedCollections:"onSavedCollections"},[]);l.CollectionsComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(33),c=e(28),d=e(52),p=e(568),f=e(4),v=e(6),h=e(13),g=e(23),m=e(20),y=t.ɵcrt({encapsulation:2,styles:[],data:{}});function C(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,68,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,65,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,62,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,24,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(32,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(33,0,["",""])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,8,"input",[["appAutoFocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,41)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,41).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,41)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,41)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(41,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(42,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(45,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(47,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(48,81920,null,0,d.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,8,"button",[["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"warning");n(l,42,0,"");n(l,45,0,"MasterPasswordHash",e.masterPassword);n(l,48,0,"")},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"deauthorizeSessions"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"deauthorizeSessionsDesc"));n(l,28,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"deauthorizeSessionsWarning"));n(l,33,0,o);var i=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"masterPass"));n(l,37,0,i),n(l,40,0,t.ɵnov(l,42).required?"":null,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending),n(l,53,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l,0),"loading")),"");n(l,55,0,a);var s=t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l,0),"deauthorizeSessions"));n(l,59,0,s);var c=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"close"));n(l,64,0,c)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-deauthorize-sessions",[],null,null,null,C,y)),t.ɵdid(1,49152,null,0,p.DeauthorizeSessionsComponent,[f.ApiService,r.I18nService,v.Angulartics2,h.ToasterService,g.CryptoService,m.MessagingService],null,null)],null,null)}l.RenderType_DeauthorizeSessionsComponent=y,l.View_DeauthorizeSessionsComponent_0=C,l.View_DeauthorizeSessionsComponent_Host_0=b;var w=t.ɵccf("app-deauthorize-sessions",p.DeauthorizeSessionsComponent,b,{},{},[]);l.DeauthorizeSessionsComponentNgFactory=w},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(33),c=e(28),d=e(100),p=e(52),f=e(569),v=e(4),h=e(6),g=e(13),m=e(23),y=e(20),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,25,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(32,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(33,0,["",""])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,41)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,41).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,41)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,41)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(41,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(42,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(45,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(47,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(48,81920,null,0,d.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(49,81920,null,0,p.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"warning");n(l,42,0,"");n(l,45,0,"MasterPasswordHash",e.masterPassword);n(l,48,0,"");n(l,49,0,"")},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"deleteAccount"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"deleteAccountDesc"));n(l,28,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"deleteAccountWarning"));n(l,33,0,o);var i=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"masterPass"));n(l,37,0,i),n(l,40,0,t.ɵnov(l,42).required?"":null,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending),n(l,54,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,a);var s=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"deleteAccount"));n(l,60,0,s);var c=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"close"));n(l,65,0,c)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-delete-account",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,f.DeleteAccountComponent,[v.ApiService,r.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService],null,null)],null,null)}l.RenderType_DeleteAccountComponent=C,l.View_DeleteAccountComponent_0=b,l.View_DeleteAccountComponent_Host_0=w;var S=t.ɵccf("app-delete-account",f.DeleteAccountComponent,w,{},{},[]);l.DeleteAccountComponentNgFactory=S},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(33),c=e(28),d=e(100),p=e(52),f=e(614),v=e(4),h=e(6),g=e(13),m=e(23),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,25,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(32,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(33,0,["",""])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,41)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,41).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,41)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,41)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(41,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(42,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(45,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(47,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(48,81920,null,0,d.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(49,81920,null,0,p.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"warning");n(l,42,0,"");n(l,45,0,"MasterPasswordHash",e.masterPassword);n(l,48,0,"");n(l,49,0,"")},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"deleteOrganization"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"deleteOrganizationDesc"));n(l,28,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"deleteOrganizationWarning"));n(l,33,0,o);var i=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"masterPass"));n(l,37,0,i),n(l,40,0,t.ɵnov(l,42).required?"":null,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending),n(l,54,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,a);var s=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"deleteOrganization"));n(l,60,0,s);var c=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"close"));n(l,65,0,c)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-delete-organization",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,f.DeleteOrganizationComponent,[v.ApiService,r.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.Router],null,null)],null,null)}l.RenderType_DeleteOrganizationComponent=C,l.View_DeleteOrganizationComponent_0=b,l.View_DeleteOrganizationComponent_Host_0=w;var S=t.ɵccf("app-delete-organization",f.DeleteOrganizationComponent,w,{},{},[]);l.DeleteOrganizationComponentNgFactory=S},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(17),r=e(14),o=e(8),i=e(3),a=e(12),s=e(5),c=e(560),d=e(58),p=e(7),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent,0),"loading")),"");n(l,6,0,u,r)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,64,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,61,"div",[["class","modal-dialog modal-sm"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,58,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(8,16384,null,0,a.NgControlStatusGroup,[[4,a.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.folder.name=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(32,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(35,671744,null,0,a.NgModel,[[2,a.ControlContainer],[6,a.NG_VALIDATORS],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(37,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,22,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(60,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"");n(l,35,0,"Name",e.folder.name),n(l,60,0,e.editMode)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,14,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u);var r=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"name"));n(l,27,0,r),n(l,30,0,t.ɵnov(l,32).required?"":null,t.ɵnov(l,37).ngClassUntouched,t.ɵnov(l,37).ngClassTouched,t.ɵnov(l,37).ngClassPristine,t.ɵnov(l,37).ngClassDirty,t.ɵnov(l,37).ngClassValid,t.ɵnov(l,37).ngClassInvalid,t.ɵnov(l,37).ngClassPending),n(l,42,0,t.ɵnov(l,5).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"loading")),"");n(l,44,0,o);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"save"));n(l,48,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"cancel")),"");n(l,52,0,a);var s=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"cancel"));n(l,54,0,s)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-folder-add-edit",[],null,null,null,h,f)),t.ɵdid(1,114688,null,0,c.FolderAddEditComponent,[d.FolderService,i.I18nService,p.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_FolderAddEditComponent=f,l.View_FolderAddEditComponent_0=h,l.View_FolderAddEditComponent_Host_0=g;var m=t.ɵccf("app-folder-add-edit",c.FolderAddEditComponent,g,{folderId:"folderId"},{onSavedFolder:"onSavedFolder",onDeletedFolder:"onDeletedFolder"},[]);l.FolderAddEditComponentNgFactory=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(101),r=t.ɵcrt({encapsulation:2,styles:[],data:{}});function o(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function i(n){return t.ɵvid(0,[t.ɵqud(402653184,1,{container:0}),(n()(),t.ɵand(16777216,[[1,3],["container",2]],null,0,null,o))],null,null)}function a(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-modal",[],null,null,null,i,r)),t.ɵdid(1,180224,null,0,u.ModalComponent,[t.ComponentFactoryResolver],null,null)],null,null)}l.RenderType_ModalComponent=r,l.View_ModalComponent_0=i,l.View_ModalComponent_Host_0=a;var s=t.ɵccf("app-modal",u.ModalComponent,a,{},{onClose:"onClose",onClosed:"onClosed",onShow:"onShow",onShown:"onShown"},[]);l.ModalComponentNgFactory=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(5),o=e(41),i=e(616),a=e(52),s=e(17),c=e(14),d=e(617),p=e(8),f=e(3),v=e(490),h=e(22),g=e(58),m=e(7),y=e(108),C=e(34),b=e(9),w=e(45),S=e(234),_=e(64),I=e(4),R=e(20),k=t.ɵcrt({encapsulation:2,styles:[],data:{}});function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"select",[["class","form-control"],["id","type"],["name","Type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,9).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.type=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(16,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,11,0,"Type",e.cipher.type),n(l,16,0,e.typeOptions)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"whatTypeOfItem"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[["for","folder"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,9,"select",[["class","form-control"],["id","folder"],["name","FolderId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,7).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,7).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.folderId=e)&&u);return u},null,null)),t.ɵdid(7,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(9,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(11,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(14,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"FolderId",e.cipher.folderId),n(l,14,0,e.folders)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folder"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary ml-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,0),"premium"));n(l,2,0,e)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary ml-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.upgradeOrganization()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,0),"upgrade"));n(l,2,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"img",[["class","ml-2"],["src","images/totp-countdown.png"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,6,0,!e.organization&&!e.cipher.organizationId&&!e.canAccessPremium),n(l,9,0,e.organization&&!e.organization.useTotp||!e.organization&&!e.canAccessPremium&&e.cipher.organizationId&&!e.cipher.organizationUseTotp)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeTotp")),"");n(l,2,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,16,"span",[["class","totp-countdown mr-3 ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"span",[["class","totp-sec"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,":svg:svg",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,":svg:g",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,":svg:circle",[["class","totp-circle inner"],["cx","16"],["cy","16"],["r","12.6"]],null,null,null,null,null)),t.ɵdid(12,278528,null,0,r.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(13,{"stroke-dashoffset.px":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,":svg:circle",[["class","totp-circle outer"],["cx","16"],["cy","16"],["r","14"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[["class","totp-code mr-2"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(21,1),(n()(),t.ɵted(22,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,4,"button",[["class","btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.totpCode,"verificationCodeTotp","TOTP")&&t);return t},null,null)),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,13,0,l.component.totpDash);n(l,12,0,e)},function(n,l){var e=l.component;n(l,5,0,e.totpSec);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeTotp")),"");n(l,20,0,u),n(l,22,0,e.totpCodeFormatted);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"copyVerificationCode")),"");n(l,24,0,r)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["","\n "]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,72,"div",[["appBoxRow",""],["class","row"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,81920,null,0,i.BoxRowDirective,[t.ElementRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,32,"div",[["class","col-7 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,25,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,7,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,12)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,12).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,12)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,12)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.uri=e)&&u);return u},null,null)),t.ɵdid(12,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(14,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(16,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(17,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,13,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.launch(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"i",[["class","fa fa-lg fa-share"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.context.$implicit.uri,"uri","URI")&&t);return t},null,null)),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,34,"div",[["class","col-5 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(42,null,["\n ","\n "])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/uri-match-detection/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,18,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,9,"select",[["class","form-control"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.match=e)&&u);"change"===l&&(u=!1!==r.loginUriMatchChanged(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(55,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(57,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(59,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(62,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.removeUri(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0),n(l,14,0,t.ɵinlineInterpolate(1,"Login.Uris[",l.context.index,"].Uri"),l.context.$implicit.uri);n(l,17,0,""),n(l,57,0,t.ɵinlineInterpolate(1,"Login.Uris[",l.context.index,"].Match"),l.context.$implicit.match),n(l,62,0,e.uriMatchOptions)},function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"loginUri",l.context.index,""));var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"uriPosition",l.context.index+1));n(l,6,0,e);var u=t.ɵinlineInterpolate(1,"loginUri",l.context.index,""),r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,1,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"ex"))," https://google.com");n(l,11,0,u,r,t.ɵnov(l,16).ngClassUntouched,t.ɵnov(l,16).ngClassTouched,t.ɵnov(l,16).ngClassPristine,t.ɵnov(l,16).ngClassDirty,t.ɵnov(l,16).ngClassValid,t.ɵnov(l,16).ngClassInvalid,t.ɵnov(l,16).ngClassPending);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent.parent.parent,0),"launch")),"");n(l,22,0,o,!l.context.$implicit.canLaunch);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyUri")),"");n(l,28,0,i),n(l,41,0,t.ɵinlineInterpolate(1,"loginUriMatch",l.context.index,""));var a=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent.parent.parent,0),"matchDetection"));n(l,42,0,a);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l.parent.parent.parent.parent,0),"learnMore")),"");n(l,45,0,s),n(l,54,0,t.ɵinlineInterpolate(1,"loginUriMatch",l.context.index,""),t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l.parent.parent.parent.parent,0),"remove")),"");n(l,65,0,c)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.cipher.login.uris,e.trackByFunction)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,129,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,87,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,25,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","loginUsername"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","loginUsername"],["name","Login.Username"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,13)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,13)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,13)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.username=e)&&u);return u},null,null)),t.ɵdid(13,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(15,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(17,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(18,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.login.username,"username","Username")&&t);return t},null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,57,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,26,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","loginPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,19,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,5,"a",[["appStopClick",""],["class","d-block mr-2"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,42).onClick(e)&&u);"click"===l&&(u=!1!==r.generatePassword()&&u);return u},null,null)),t.ɵdid(42,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-lg fa-fw fa-refresh"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,[["checkPasswordBtn",1]],null,9,"a",[["appStopClick",""],["class","d-block"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e)&&u);"click"===l&&(u=!1!==r.checkPassword()&&u);return u},null,null)),t.ɵdid(49,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵdid(50,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,0,"i",[["class","fa fa-lg fa-fw fa-check-circle"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"i",[["class","fa fa-lg fa-fw fa-spinner fa-spin"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"],["id","loginPassword"],["name","Login.Password"]],[[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,64)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,64).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,64)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,64)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.password=e)&&u);return u},null,null)),t.ɵdid(64,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(66,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(68,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(69,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.togglePassword()&&t);return t},null,null)),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(77,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(78,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.login.password,"password","Password")&&t);return t},null,null)),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,13,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(95,0,null,null,2,"label",[["for","loginTotp"]],null,null,null,null,null)),(n()(),t.ɵted(96,null,["",""])),t.ɵppd(97,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(99,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control text-monospace"],["id","loginTotp"],["name","Login.Totp"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,100)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,100).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,100)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,100)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.totp=e)&&u);return u},null,null)),t.ɵdid(100,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(102,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(104,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(105,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,9,"div",[["class","col-6 form-group totp d-flex align-items-end"]],null,null,null,null,null)),t.ɵdid(109,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(110,{low:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(113,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(116,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(121,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,5,"a",[["appStopClick",""],["class","d-inline-block mb-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,124).onClick(e)&&u);"click"===l&&(u=!1!==r.addUri()&&u);return u},null,null)),t.ɵdid(124,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,0,"i",[["class","fa fa-plus-circle fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,[" ","\n "])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,15,0,"Login.Username",e.cipher.login.username);n(l,18,0,""),n(l,49,0,e.checkPasswordPromise);n(l,66,0,"Login.Password",e.cipher.login.password);n(l,69,0,"");var t=n(l,78,0,!e.showPassword,e.showPassword);n(l,77,0,"fa fa-lg",t);n(l,102,0,"Login.Totp",e.cipher.login.totp);n(l,105,0,"");var u=n(l,110,0,e.totpLow);n(l,109,0,"col-6 form-group totp d-flex align-items-end",u),n(l,113,0,!e.cipher.login.totp||!e.totpCode),n(l,116,0,e.cipher.login.totp&&e.totpCode),n(l,121,0,e.cipher.login.hasUris)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"username"));n(l,7,0,u),n(l,12,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"copyUsername")),"");n(l,22,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l.parent.parent,0),"password"));n(l,36,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,41,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"generatePassword")),"");n(l,41,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,48,0,n(l,51,0,t.ɵnov(l.parent.parent,0),"checkPassword")),"");n(l,48,0,a),n(l,53,0,t.ɵnov(l,48).loading);var s=!t.ɵnov(l,48).loading,c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,55,1,n(l,56,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,55,0,s,c),n(l,63,0,t.ɵinlineInterpolate(1,"",e.showPassword?"text":"password",""),t.ɵnov(l,68).ngClassUntouched,t.ɵnov(l,68).ngClassTouched,t.ɵnov(l,68).ngClassPristine,t.ɵnov(l,68).ngClassDirty,t.ɵnov(l,68).ngClassValid,t.ɵnov(l,68).ngClassInvalid,t.ɵnov(l,68).ngClassPending);var d=t.ɵinlineInterpolate(1,"",t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"toggleVisibility")),"");n(l,73,0,d);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l.parent.parent,0),"copyPassword")),"");n(l,81,0,p);var f=t.ɵunv(l,96,0,n(l,97,0,t.ɵnov(l.parent.parent,0),"authenticatorKeyTotp"));n(l,96,0,f),n(l,99,0,t.ɵnov(l,104).ngClassUntouched,t.ɵnov(l,104).ngClassTouched,t.ɵnov(l,104).ngClassPristine,t.ɵnov(l,104).ngClassDirty,t.ɵnov(l,104).ngClassValid,t.ɵnov(l,104).ngClassInvalid,t.ɵnov(l,104).ngClassPending);var v=t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l.parent.parent,0),"newUri"));n(l,127,0,v)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,137,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","cardCardholderName"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"input",[["class","form-control"],["id","cardCardholderName"],["name","Card.CardCardholderName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,11)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,11)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,11)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.cardholderName=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","cardBrand"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,9,"select",[["class","form-control"],["id","cardBrand"],["name","Card.Brand"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.brand=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(27,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(29,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(32,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,25,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","cardNumber"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","cardNumber"],["name","Card.Number"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,48)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,48)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,48)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.number=e)&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(53,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.card.number,"number","Number")&&t);return t},null,null)),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,16,"div",[["class","col form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,2,"label",[["for","cardExpMonth"]],null,null,null,null,null)),(n()(),t.ɵted(69,null,["",""])),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,9,"select",[["class","form-control"],["id","cardExpMonth"],["name","Card.ExpMonth"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,73).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,73).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.expMonth=e)&&u);return u},null,null)),t.ɵdid(73,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(75,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(77,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(80,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,13,"div",[["class","col form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,2,"label",[["for","cardExpYear"]],null,null,null,null,null)),(n()(),t.ɵted(87,null,["",""])),t.ɵppd(88,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,6,"input",[["class","form-control"],["id","cardExpYear"],["name","Card.ExpYear"],["type","text"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,91)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,91).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,91)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,91)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.expYear=e)&&u);return u},null,null)),t.ɵdid(91,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(93,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(95,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(96,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,33,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"label",[["for","cardCode"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(110,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"],["id","cardCode"],["name","Card.Code"]],[[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,111)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,111).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,111)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,111)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.code=e)&&u);return u},null,null)),t.ɵdid(111,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(113,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(115,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(116,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(118,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleCardCode()&&t);return t},null,null)),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(124,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(125,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(128,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.card.code,"securityCode","Security Code")&&t);return t},null,null)),t.ɵppd(129,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(131,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"Card.CardCardholderName",e.cipher.card.cardholderName);n(l,27,0,"Card.Brand",e.cipher.card.brand),n(l,32,0,e.cardBrandOptions);n(l,50,0,"Card.Number",e.cipher.card.number);n(l,53,0,"");n(l,75,0,"Card.ExpMonth",e.cipher.card.expMonth),n(l,80,0,e.cardExpMonthOptions);n(l,93,0,"Card.ExpYear",e.cipher.card.expYear);n(l,113,0,"Card.Code",e.cipher.card.code);n(l,116,0,"");var t=n(l,125,0,!e.showCardCode,e.showCardCode);n(l,124,0,"fa fa-lg",t)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"cardholderName"));n(l,7,0,u),n(l,10,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent.parent,0),"brand"));n(l,21,0,r),n(l,24,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending);var o=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"number"));n(l,42,0,o),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent.parent,0),"copyNumber")),"");n(l,57,0,i);var a=t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent.parent,0),"expirationMonth"));n(l,69,0,a),n(l,72,0,t.ɵnov(l,77).ngClassUntouched,t.ɵnov(l,77).ngClassTouched,t.ɵnov(l,77).ngClassPristine,t.ɵnov(l,77).ngClassDirty,t.ɵnov(l,77).ngClassValid,t.ɵnov(l,77).ngClassInvalid,t.ɵnov(l,77).ngClassPending);var s=t.ɵunv(l,87,0,n(l,88,0,t.ɵnov(l.parent.parent,0),"expirationYear"));n(l,87,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,90,0,n(l,96,0,t.ɵnov(l.parent.parent,0),"ex"))," 2019");n(l,90,0,c,t.ɵnov(l,95).ngClassUntouched,t.ɵnov(l,95).ngClassTouched,t.ɵnov(l,95).ngClassPristine,t.ɵnov(l,95).ngClassDirty,t.ɵnov(l,95).ngClassValid,t.ɵnov(l,95).ngClassInvalid,t.ɵnov(l,95).ngClassPending);var d=t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l.parent.parent,0),"securityCode"));n(l,105,0,d),n(l,110,0,t.ɵinlineInterpolate(1,"",e.showCardCode?"text":"password",""),t.ɵnov(l,115).ngClassUntouched,t.ɵnov(l,115).ngClassTouched,t.ɵnov(l,115).ngClassPristine,t.ɵnov(l,115).ngClassDirty,t.ɵnov(l,115).ngClassValid,t.ɵnov(l,115).ngClassInvalid,t.ɵnov(l,115).ngClassPending);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l.parent.parent,0),"toggleVisibility")),"");n(l,120,0,p);var f=t.ɵinlineInterpolate(1,"",t.ɵunv(l,128,0,n(l,129,0,t.ɵnov(l.parent.parent,0),"securityCode")),"");n(l,128,0,f)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,289,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,16,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","idTitle"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,9,"select",[["class","form-control"],["id","idTitle"],["name","Identity.Title"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,11).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.title=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(18,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,43,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","idFirstName"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,5,"input",[["class","form-control"],["id","idFirstName"],["name","Identity.FirstName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.firstName=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(36,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","idMiddleName"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"input",[["class","form-control"],["id","idMiddleName"],["name","Identity.MiddleName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.middleName=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(48,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(50,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"label",[["for","idLastName"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"input",[["class","form-control"],["id","idLastName"],["name","Identity.LastName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,60)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,60).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,60)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,60)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.lastName=e)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(62,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(64,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,30,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"label",[["for","idUsername"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idUsername"],["name","Identity.Username"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,77)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,77).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,77)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,77)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.username=e)&&u);return u},null,null)),t.ɵdid(77,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(79,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(81,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(82,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,2,"label",[["for","idCompany"]],null,null,null,null,null)),(n()(),t.ɵted(88,null,["",""])),t.ɵppd(89,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,5,"input",[["class","form-control"],["id","idCompany"],["name","Identity.Company"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,92)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,92).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,92)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,92)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.company=e)&&u);return u},null,null)),t.ɵdid(92,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(94,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(96,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"label",[["for","idSsn"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idSsn"],["name","Identity.SSN"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,109)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,109).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,109)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,109)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.ssn=e)&&u);return u},null,null)),t.ɵdid(109,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(111,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(113,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(114,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,2,"label",[["for","idPassportNumber"]],null,null,null,null,null)),(n()(),t.ɵted(120,null,["",""])),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idPassportNumber"],["name","Identity.PassportNumber"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,124)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,124)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,124)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.passportNumber=e)&&u);return u},null,null)),t.ɵdid(124,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(129,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(132,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,2,"label",[["for","idLicenseNumber"]],null,null,null,null,null)),(n()(),t.ɵted(135,null,["",""])),t.ɵppd(136,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(138,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idLicenseNumber"],["name","Identity.LicenseNumber"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,139)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,139).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,139)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,139)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.licenseNumber=e)&&u);return u},null,null)),t.ɵdid(139,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(141,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(143,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(144,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(148,0,null,null,30,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,13,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(152,0,null,null,2,"label",[["for","idEmail"]],null,null,null,null,null)),(n()(),t.ɵted(153,null,["",""])),t.ɵppd(154,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(156,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idEmail"],["name","Identity.Email"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,157)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,157).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,157)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,157)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.email=e)&&u);return u},null,null)),t.ɵdid(157,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(159,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(161,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(162,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(167,0,null,null,2,"label",[["for","idPhone"]],null,null,null,null,null)),(n()(),t.ɵted(168,null,["",""])),t.ɵppd(169,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(171,0,null,null,5,"input",[["class","form-control"],["id","idPhone"],["name","Identity.Phone"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,172)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,172).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,172)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,172)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.phone=e)&&u);return u},null,null)),t.ɵdid(172,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(174,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(176,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(180,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(182,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,2,"label",[["for","idAddress1"]],null,null,null,null,null)),(n()(),t.ɵted(185,null,["",""])),t.ɵppd(186,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,5,"input",[["class","form-control"],["id","idAddress1"],["name","Identity.Address1"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,189)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,189).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,189)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,189)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address1=e)&&u);return u},null,null)),t.ɵdid(189,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(191,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(193,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(196,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(198,0,null,null,2,"label",[["for","idAddress2"]],null,null,null,null,null)),(n()(),t.ɵted(199,null,["",""])),t.ɵppd(200,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(202,0,null,null,5,"input",[["class","form-control"],["id","idAddress2"],["name","Identity.Address2"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,203)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,203).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,203)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,203)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address2=e)&&u);return u},null,null)),t.ɵdid(203,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(205,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(207,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(211,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(213,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(215,0,null,null,2,"label",[["for","idAddress3"]],null,null,null,null,null)),(n()(),t.ɵted(216,null,["",""])),t.ɵppd(217,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(219,0,null,null,5,"input",[["class","form-control"],["id","idAddress3"],["name","Identity.Address3"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,220)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,220).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,220)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,220)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address3=e)&&u);return u},null,null)),t.ɵdid(220,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(222,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(224,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(227,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(229,0,null,null,2,"label",[["for","idCity"]],null,null,null,null,null)),(n()(),t.ɵted(230,null,["",""])),t.ɵppd(231,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(233,0,null,null,5,"input",[["class","form-control"],["id","idCity"],["name","Identity.City"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,234)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,234).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,234)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,234)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.city=e)&&u);return u},null,null)),t.ɵdid(234,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(236,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(238,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(242,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(244,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(246,0,null,null,2,"label",[["for","idState"]],null,null,null,null,null)),(n()(),t.ɵted(247,null,["",""])),t.ɵppd(248,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(250,0,null,null,5,"input",[["class","form-control"],["id","idState"],["name","Identity.State"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,251)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,251).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,251)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,251)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.state=e)&&u);return u},null,null)),t.ɵdid(251,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(253,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(255,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(258,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(260,0,null,null,2,"label",[["for","idPostalCode"]],null,null,null,null,null)),(n()(),t.ɵted(261,null,["",""])),t.ɵppd(262,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(264,0,null,null,5,"input",[["class","form-control"],["id","idPostalCode"],["name","Identity.PostalCode"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,265)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,265).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,265)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,265)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.postalCode=e)&&u);return u},null,null)),t.ɵdid(265,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(267,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(269,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(273,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(275,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(277,0,null,null,2,"label",[["for","idCountry"]],null,null,null,null,null)),(n()(),t.ɵted(278,null,["",""])),t.ɵppd(279,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(281,0,null,null,5,"input",[["class","form-control"],["id","idCountry"],["name","Identity.Country"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,282)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,282).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,282)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,282)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.country=e)&&u);return u},null,null)),t.ɵdid(282,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(284,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(286,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"Identity.Title",e.cipher.identity.title),n(l,18,0,e.identityTitleOptions);n(l,34,0,"Identity.FirstName",e.cipher.identity.firstName);n(l,48,0,"Identity.MiddleName",e.cipher.identity.middleName);n(l,62,0,"Identity.LastName",e.cipher.identity.lastName);n(l,79,0,"Identity.Username",e.cipher.identity.username);n(l,82,0,"");n(l,94,0,"Identity.Company",e.cipher.identity.company);n(l,111,0,"Identity.SSN",e.cipher.identity.ssn);n(l,114,0,"");n(l,126,0,"Identity.PassportNumber",e.cipher.identity.passportNumber);n(l,129,0,"");n(l,141,0,"Identity.LicenseNumber",e.cipher.identity.licenseNumber);n(l,144,0,"");n(l,159,0,"Identity.Email",e.cipher.identity.email);n(l,162,0,"");n(l,174,0,"Identity.Phone",e.cipher.identity.phone);n(l,191,0,"Identity.Address1",e.cipher.identity.address1);n(l,205,0,"Identity.Address2",e.cipher.identity.address2);n(l,222,0,"Identity.Address3",e.cipher.identity.address3);n(l,236,0,"Identity.City",e.cipher.identity.city);n(l,253,0,"Identity.State",e.cipher.identity.state);n(l,267,0,"Identity.PostalCode",e.cipher.identity.postalCode);n(l,284,0,"Identity.Country",e.cipher.identity.country)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"title"));n(l,7,0,e),n(l,10,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var u=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"firstName"));n(l,28,0,u),n(l,31,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var r=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"middleName"));n(l,42,0,r),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var o=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l.parent.parent,0),"lastName"));n(l,56,0,o),n(l,59,0,t.ɵnov(l,64).ngClassUntouched,t.ɵnov(l,64).ngClassTouched,t.ɵnov(l,64).ngClassPristine,t.ɵnov(l,64).ngClassDirty,t.ɵnov(l,64).ngClassValid,t.ɵnov(l,64).ngClassInvalid,t.ɵnov(l,64).ngClassPending);var i=t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"username"));n(l,73,0,i),n(l,76,0,t.ɵnov(l,81).ngClassUntouched,t.ɵnov(l,81).ngClassTouched,t.ɵnov(l,81).ngClassPristine,t.ɵnov(l,81).ngClassDirty,t.ɵnov(l,81).ngClassValid,t.ɵnov(l,81).ngClassInvalid,t.ɵnov(l,81).ngClassPending);var a=t.ɵunv(l,88,0,n(l,89,0,t.ɵnov(l.parent.parent,0),"company"));n(l,88,0,a),n(l,91,0,t.ɵnov(l,96).ngClassUntouched,t.ɵnov(l,96).ngClassTouched,t.ɵnov(l,96).ngClassPristine,t.ɵnov(l,96).ngClassDirty,t.ɵnov(l,96).ngClassValid,t.ɵnov(l,96).ngClassInvalid,t.ɵnov(l,96).ngClassPending);var s=t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l.parent.parent,0),"ssn"));n(l,105,0,s),n(l,108,0,t.ɵnov(l,113).ngClassUntouched,t.ɵnov(l,113).ngClassTouched,t.ɵnov(l,113).ngClassPristine,t.ɵnov(l,113).ngClassDirty,t.ɵnov(l,113).ngClassValid,t.ɵnov(l,113).ngClassInvalid,t.ɵnov(l,113).ngClassPending);var c=t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l.parent.parent,0),"passportNumber"));n(l,120,0,c),n(l,123,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending);var d=t.ɵunv(l,135,0,n(l,136,0,t.ɵnov(l.parent.parent,0),"licenseNumber"));n(l,135,0,d),n(l,138,0,t.ɵnov(l,143).ngClassUntouched,t.ɵnov(l,143).ngClassTouched,t.ɵnov(l,143).ngClassPristine,t.ɵnov(l,143).ngClassDirty,t.ɵnov(l,143).ngClassValid,t.ɵnov(l,143).ngClassInvalid,t.ɵnov(l,143).ngClassPending);var p=t.ɵunv(l,153,0,n(l,154,0,t.ɵnov(l.parent.parent,0),"email"));n(l,153,0,p),n(l,156,0,t.ɵnov(l,161).ngClassUntouched,t.ɵnov(l,161).ngClassTouched,t.ɵnov(l,161).ngClassPristine,t.ɵnov(l,161).ngClassDirty,t.ɵnov(l,161).ngClassValid,t.ɵnov(l,161).ngClassInvalid,t.ɵnov(l,161).ngClassPending);var f=t.ɵunv(l,168,0,n(l,169,0,t.ɵnov(l.parent.parent,0),"phone"));n(l,168,0,f),n(l,171,0,t.ɵnov(l,176).ngClassUntouched,t.ɵnov(l,176).ngClassTouched,t.ɵnov(l,176).ngClassPristine,t.ɵnov(l,176).ngClassDirty,t.ɵnov(l,176).ngClassValid,t.ɵnov(l,176).ngClassInvalid,t.ɵnov(l,176).ngClassPending);var v=t.ɵunv(l,185,0,n(l,186,0,t.ɵnov(l.parent.parent,0),"address1"));n(l,185,0,v),n(l,188,0,t.ɵnov(l,193).ngClassUntouched,t.ɵnov(l,193).ngClassTouched,t.ɵnov(l,193).ngClassPristine,t.ɵnov(l,193).ngClassDirty,t.ɵnov(l,193).ngClassValid,t.ɵnov(l,193).ngClassInvalid,t.ɵnov(l,193).ngClassPending);var h=t.ɵunv(l,199,0,n(l,200,0,t.ɵnov(l.parent.parent,0),"address2"));n(l,199,0,h),n(l,202,0,t.ɵnov(l,207).ngClassUntouched,t.ɵnov(l,207).ngClassTouched,t.ɵnov(l,207).ngClassPristine,t.ɵnov(l,207).ngClassDirty,t.ɵnov(l,207).ngClassValid,t.ɵnov(l,207).ngClassInvalid,t.ɵnov(l,207).ngClassPending);var g=t.ɵunv(l,216,0,n(l,217,0,t.ɵnov(l.parent.parent,0),"address3"));n(l,216,0,g),n(l,219,0,t.ɵnov(l,224).ngClassUntouched,t.ɵnov(l,224).ngClassTouched,t.ɵnov(l,224).ngClassPristine,t.ɵnov(l,224).ngClassDirty,t.ɵnov(l,224).ngClassValid,t.ɵnov(l,224).ngClassInvalid,t.ɵnov(l,224).ngClassPending);var m=t.ɵunv(l,230,0,n(l,231,0,t.ɵnov(l.parent.parent,0),"cityTown"));n(l,230,0,m),n(l,233,0,t.ɵnov(l,238).ngClassUntouched,t.ɵnov(l,238).ngClassTouched,t.ɵnov(l,238).ngClassPristine,t.ɵnov(l,238).ngClassDirty,t.ɵnov(l,238).ngClassValid,t.ɵnov(l,238).ngClassInvalid,t.ɵnov(l,238).ngClassPending);var y=t.ɵunv(l,247,0,n(l,248,0,t.ɵnov(l.parent.parent,0),"stateProvince"));n(l,247,0,y),n(l,250,0,t.ɵnov(l,255).ngClassUntouched,t.ɵnov(l,255).ngClassTouched,t.ɵnov(l,255).ngClassPristine,t.ɵnov(l,255).ngClassDirty,t.ɵnov(l,255).ngClassValid,t.ɵnov(l,255).ngClassInvalid,t.ɵnov(l,255).ngClassPending);var C=t.ɵunv(l,261,0,n(l,262,0,t.ɵnov(l.parent.parent,0),"zipPostalCode"));n(l,261,0,C),n(l,264,0,t.ɵnov(l,269).ngClassUntouched,t.ɵnov(l,269).ngClassTouched,t.ɵnov(l,269).ngClassPristine,t.ɵnov(l,269).ngClassDirty,t.ɵnov(l,269).ngClassValid,t.ɵnov(l,269).ngClassInvalid,t.ɵnov(l,269).ngClassPending);var b=t.ɵunv(l,278,0,n(l,279,0,t.ɵnov(l.parent.parent,0),"country"));n(l,278,0,b),n(l,281,0,t.ɵnov(l,286).ngClassUntouched,t.ɵnov(l,286).ngClassTouched,t.ɵnov(l,286).ngClassPristine,t.ɵnov(l,286).ngClassDirty,t.ɵnov(l,286).ngClassValid,t.ɵnov(l,286).ngClassInvalid,t.ɵnov(l,286).ngClassPending)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(8,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.parent.context.$implicit.value,"value","Field")&&t);return t},null,null)),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value);n(l,8,0,"")},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyValue")),"");n(l,12,0,e)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"]],[[8,"id",0],[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(8,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleFieldValue(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(16,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.parent.context.$implicit.value,"value","Field")&&t);return t},null,null)),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value);n(l,8,0,"");var e=n(l,17,0,!l.parent.context.$implicit.showValue,l.parent.context.$implicit.showValue);n(l,16,0,"fa fa-lg",e)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵinlineInterpolate(1,"",l.parent.context.$implicit.showValue?"text":"password",""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent.parent,0),"toggleVisibility")),"");n(l,12,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyValue")),"");n(l,20,0,u)})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"input",[["appTrueFalseValue",""],["falseValue","false"],["trueValue","true"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,1).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,1).onTouched()&&u);"change"===l&&(u=!1!==t.ɵnov(n,2).onHostChange(e)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(2,16384,null,0,d.TrueFalseValueDirective,[t.ElementRef,t.Renderer2],{trueValue:[0,"trueValue"],falseValue:[1,"falseValue"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.CheckboxControlValueAccessor,d.TrueFalseValueDirective]),t.ɵdid(4,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(6,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null)],function(n,l){n(l,2,0,"true","false"),n(l,4,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value)},function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵnov(l,6).ngClassUntouched,t.ɵnov(l,6).ngClassTouched,t.ɵnov(l,6).ngClassPristine,t.ɵnov(l,6).ngClassDirty,t.ɵnov(l,6).ngClassValid,t.ɵnov(l,6).ngClassInvalid,t.ɵnov(l,6).ngClassPending)})}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,54,"div",[["appBoxRow",""],["class","row"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,81920,null,0,i.BoxRowDirective,[t.ElementRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,22,"div",[["class","col-5 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/custom-fields/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(23,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(24,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,26,"div",[["class","col-7 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,19,"div",[["class","d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(36,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(39,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.removeField(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0),n(l,21,0,t.ɵinlineInterpolate(1,"Field.Name",l.context.index,""),l.context.$implicit.name);n(l,24,0,""),n(l,36,0,l.context.$implicit.type===e.fieldType.Text),n(l,39,0,l.context.$implicit.type===e.fieldType.Hidden),n(l,44,0,l.context.$implicit.type===e.fieldType.Boolean)},function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"fieldName",l.context.index,""));var e=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,8,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"learnMore")),"");n(l,11,0,u),n(l,18,0,t.ɵinlineInterpolate(1,"fieldName",l.context.index,""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,29,0,t.ɵinlineInterpolate(1,"fieldValue",l.context.index,""));var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,0),"value"));n(l,30,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent,0),"remove")),"");n(l,47,0,o)})}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.cipher.fields,e.trackByFunction)},null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,16,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","organizationId"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"select",[["class","form-control"],["id","organizationId"],["name","OrganizationId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,15).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.organizationId=e)&&u);"change"===l&&(u=!1!==r.organizationChanged()&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(17,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(19,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(22,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"OrganizationId",e.cipher.organizationId),n(l,22,0,e.ownershipOptions)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"ownership"));n(l,3,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"whoOwnsThisItem"));n(l,11,0,u),n(l,14,0,t.ɵnov(l,19).ngClassUntouched,t.ɵnov(l,19).ngClassTouched,t.ɵnov(l,19).ngClassPristine,t.ɵnov(l,19).ngClassDirty,t.ɵnov(l,19).ngClassValid,t.ɵnov(l,19).ngClassInvalid,t.ɵnov(l,19).ngClassPending)})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["class","form-check-input"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"label",[["class","form-check-label"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"collection-",l.context.index,""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending),n(l,9,0,t.ɵinlineInterpolate(1,"collection-",l.context.index,"")),n(l,10,0,l.context.$implicit.name)})}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.collections)},null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,!e.collections||!e.collections.length),n(l,10,0,e.collections&&e.collections.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections"));n(l,3,0,e)})}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,2)],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"datePasswordUpdated"));n(l,3,0,u);var r=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,1),e.cipher.passwordRevisionDisplayDate,"medium"));n(l,5,0,r)})}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,7).onClick(e)&&u);"click"===l&&(u=!1!==r.viewHistory()&&u);return u},null,null)),t.ɵdid(7,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(8,1),(n()(),t.ɵted(9,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"passwordHistory"));n(l,3,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"view")),"");n(l,6,0,r),n(l,9,0,e.cipher.passwordHistory.length)})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n "," -\n "])),t.ɵppd(2,2),(n()(),t.ɵeld(3,0,null,null,1,"span",[["class","text-monospace ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.lastUsedDate,"short"));n(l,1,0,e),n(l,4,0,l.context.$implicit.password)})}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.cipher.passwordHistory)},null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,18,"div",[["class","small text-muted mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",":"])),t.ɵppd(8,1),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(13,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(16,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(19,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,e.showRevisionDate),n(l,16,0,e.hasPasswordHistory),n(l,19,0,e.viewingPasswordHistory)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"dateUpdated"));n(l,7,0,u);var r=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,1),e.cipher.revisionDate,"medium"));n(l,9,0,r)})}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,96,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,14,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,14)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,14).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,14)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,14)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.name=e)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(15,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(18,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(20,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(24,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(29,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(33,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","notes"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"textarea",[["class","form-control"],["id","notes"],["name","Notes"],["rows","6"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.notes=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(48,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(50,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(58,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,5,"a",[["appStopClick",""],["class","d-inline-block mb-2"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,61).onClick(e)&&u);"click"===l&&(u=!1!==r.addField()&&u);return u},null,null)),t.ɵdid(61,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,0,"i",[["class","fa fa-plus-circle fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,[" ","\n "])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,16,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,2,"label",[["class","sr-only"],["for","addFieldType"]],null,null,null,null,null)),(n()(),t.ɵted(72,null,["",""])),t.ɵppd(73,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,9,"select",[["class","form-control"],["id","addFieldType"],["name","AddFieldType"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,76).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.addFieldType=e)&&u);return u},null,null)),t.ɵdid(76,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(83,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(89,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(92,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(95,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.editMode);n(l,15,0,"");n(l,18,0,"Name",e.cipher.name),n(l,24,0,!e.organization),n(l,29,0,e.cipher.type===e.cipherType.Login),n(l,33,0,e.cipher.type===e.cipherType.Card),n(l,37,0,e.cipher.type===e.cipherType.Identity);n(l,48,0,"Notes",e.cipher.notes),n(l,58,0,e.cipher.hasFields);n(l,78,0,"AddFieldType",e.addFieldType),n(l,83,0,e.addFieldTypeOptions),n(l,89,0,!e.editMode&&!e.organization&&e.ownershipOptions&&e.ownershipOptions.length>1),n(l,92,0,!e.editMode&&e.cipher.organizationId),n(l,95,0,e.editMode)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"name"));n(l,10,0,e),n(l,13,0,t.ɵnov(l,15).required?"":null,t.ɵnov(l,20).ngClassUntouched,t.ɵnov(l,20).ngClassTouched,t.ɵnov(l,20).ngClassPristine,t.ɵnov(l,20).ngClassDirty,t.ɵnov(l,20).ngClassValid,t.ɵnov(l,20).ngClassInvalid,t.ɵnov(l,20).ngClassPending);var u=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent,0),"notes"));n(l,42,0,u),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var r=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l.parent,0),"customFields"));n(l,54,0,r);var o=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l.parent,0),"newCustomField"));n(l,64,0,o);var i=t.ɵunv(l,72,0,n(l,73,0,t.ɵnov(l.parent,0),"type"));n(l,72,0,i),n(l,75,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending)})}function sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"button",[["class","btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleFavorite()&&t);return t},null,null)),t.ɵppd(1,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(4,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(5,{"fa-star":0,"fa-star-o":1}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,t=n(l,5,0,e.cipher.favorite,!e.cipher.favorite);n(l,4,0,"fa fa-lg",t)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),e.cipher.favorite?"unfavorite":"favorite")),"");n(l,0,0,u)})}function cn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,6,0,u,r)})}function dn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,sn)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,cn)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,6,0,e.editMode)},null)}function pn(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,44,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,41,"form",[["autocomplete","off"],["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(26,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,18,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["\n ","\n "])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,dn)),t.ɵdid(45,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,26,0,e.cipher),n(l,45,0,e.cipher)},function(n,l){var e=l.component;n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u),n(l,30,0,t.ɵnov(l,6).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"");n(l,32,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"save"));n(l,36,0,o);var i=t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"cancel"));n(l,41,0,i)})}function fn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-add-edit",[],null,null,null,pn,k)),t.ɵdid(1,114688,null,0,v.AddEditComponent,[h.CipherService,g.FolderService,f.I18nService,m.PlatformUtilsService,y.AuditService,C.StateService,b.UserService,w.CollectionService,S.TotpService,_.PasswordGenerationService,I.ApiService,R.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AddEditComponent=k,l.View_AddEditComponent_0=pn,l.View_AddEditComponent_Host_0=fn;var vn=t.ɵccf("app-org-vault-add-edit",v.AddEditComponent,fn,{folderId:"folderId",cipherId:"cipherId",type:"type",collectionIds:"collectionIds",organizationId:"organizationId"},{onSavedCipher:"onSavedCipher",onDeletedCipher:"onDeletedCipher",onCancelled:"onCancelled",onEditAttachments:"onEditAttachments",onShareCipher:"onShareCipher",onEditCollections:"onEditCollections",onGeneratePassword:"onGeneratePassword"},[]);l.AddEditComponentNgFactory=vn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(17),r=e(14),o=e(5),i=e(41),a=e(8),s=e(3),c=e(12),d=e(604),p=e(22),f=e(23),v=e(9),h=e(7),g=e(4),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-fw fa-lg fa-file-o"]],null,null,null,null,null))],null,null)}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-lg fa-fw fa-spin"]],null,null,null,null,null))],null,null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"a",[["href","https://help.bitwarden.com/article/attachments/#fixing-old-attachments"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"i",[["class","fa fa-exclamation-triangle text-warning"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,[["reuploadBtn",1]],null,3,"button",[["class","btn btn-outline-primary btn-sm m-0 py-0 px-2"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reupload(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵdid(8,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,8,0,l.component.reuploadPromises[l.parent.context.$implicit.id])},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"attachmentFixDesc")),"");n(l,4,0,e),n(l,7,0,t.ɵnov(l,7).loading);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"fix"));n(l,9,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,40,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(8,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e)&&u);"click"===l&&(u=!1!==r.download(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(16,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(20,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,12,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,[["deleteBtn",1]],null,9,"button",[["appStopClick",""],["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e)&&u);"click"===l&&(u=!1!==r.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(30,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵdid(31,16384,null,0,i.StopClickDirective,[],null,null),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!l.context.$implicit.downloading),n(l,8,0,l.context.$implicit.downloading),n(l,20,0,e.showFixOldAttachments(l.context.$implicit)),n(l,30,0,e.deletePromises[l.context.$implicit.id])},function(n,l){n(l,17,0,l.context.$implicit.fileName),n(l,24,0,l.context.$implicit.sizeName);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,29,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"delete")),"");n(l,29,0,e,t.ɵnov(l,29).loading),n(l,34,0,t.ɵnov(l,29).loading);var u=!t.ɵnov(l,29).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,36,1,n(l,37,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,36,0,u,r)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.cipher.attachments)},null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[s.I18nService]),(n()(),t.ɵeld(1,0,null,null,66,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,63,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,60,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,c.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,c.ControlContainer,null,[c.NgForm]),t.ɵdid(8,16384,null,0,c.NgControlStatusGroup,[[4,c.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),t.ɵppd(15,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(17,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,18,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,16,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(61,1),(n()(),t.ɵted(62,null,["",""])),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,17,0,e.cipher),n(l,31,0,e.cipher&&e.cipher.hasAttachments)},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"attachments"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"close")),"");n(l,20,0,u);var r=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"newAttachment"));n(l,34,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"file"));n(l,38,0,o);var i=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"maxFileSize"));n(l,44,0,i),n(l,50,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),"");n(l,52,0,a);var s=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"save"));n(l,56,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"close")),"");n(l,60,0,c);var d=t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,0),"close"));n(l,62,0,d)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-attachments",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.AttachmentsComponent,[p.CipherService,s.I18nService,f.CryptoService,v.UserService,h.PlatformUtilsService,g.ApiService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AttachmentsComponent=m,l.View_AttachmentsComponent_0=I,l.View_AttachmentsComponent_Host_0=R;var k=t.ɵccf("app-org-vault-attachments",d.AttachmentsComponent,R,{cipherId:"cipherId"},{onUploadedAttachment:"onUploadedAttachment",onDeletedAttachment:"onDeletedAttachment",onReuploadedAttachment:"onReuploadedAttachment"},[]);l.AttachmentsComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(17),a=e(14),s=e(8),c=e(3),d=e(607),p=e(4),f=e(6),v=e(13),h=e(7),g=e(23),m=e(9),y=t.ɵcrt({encapsulation:2,styles:[],data:{}});function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"unselectAll"));n(l,7,0,u)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noGroupsInList"));n(l,1,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-th text-muted fa-fw"],["title","This group can access all items"]],null,null,null,null,null))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,28,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"td",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,8,"td",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.readOnly=e)&&u);return u},null,null)),t.ɵdid(22,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Groups[",l.context.index,"].Checked"),l.context.$implicit.accessAll,l.context.$implicit.checked),n(l,16,0,l.context.$implicit.accessAll),n(l,24,0,t.ɵinlineInterpolate(1,"Groups[",l.context.index,"].ReadOnly"),!l.context.$implicit.checked||l.context.$implicit.accessAll,l.context.$implicit.readOnly)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name),n(l,21,0,t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"th",[["class","text-center"],["width","100"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(22,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,22,0,l.component.groups)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,10,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"readOnly"));n(l,14,0,u)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"h3",[["class","mt-4 d-flex mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,6,0,e.groups&&e.groups.length),n(l,10,0,!e.groups||!e.groups.length),n(l,13,0,e.groups&&e.groups.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"groupAccess"));n(l,3,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,"");n(l,13,0,"Name",e.name),n(l,19,0,e.accessGroups)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"name"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent,0),"loading")),"");n(l,6,0,u,r)})}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[c.I18nService]),(n()(),t.ɵeld(1,0,null,null,53,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,50,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,47,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(8,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,21,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,25,0,e.loading),n(l,28,0,!e.loading),n(l,49,0,e.editMode)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,14,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u),n(l,32,0,t.ɵnov(l,5).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"loading")),"");n(l,34,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"save"));n(l,38,0,o);var i=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"cancel"));n(l,43,0,i)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-collection-add-edit",[],null,null,null,O,y)),t.ɵdid(1,114688,null,0,d.CollectionAddEditComponent,[p.ApiService,c.I18nService,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.CryptoService,m.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionAddEditComponent=y,l.View_CollectionAddEditComponent_0=O,l.View_CollectionAddEditComponent_Host_0=P;var T=t.ɵccf("app-collection-add-edit",d.CollectionAddEditComponent,P,{collectionId:"collectionId",organizationId:"organizationId"},{onSavedCollection:"onSavedCollection",onDeletedCollection:"onDeletedCollection"},[]);l.CollectionAddEditComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(8),a=e(3),s=e(17),c=e(14),d=e(605),p=e(45),f=e(7),v=e(22),h=e(4),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"unselectAll"));n(l,7,0,u)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.collections)},null)}function S(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,21,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.cipher),n(l,42,0,e.collections&&e.collections.length),n(l,46,0,!e.collections||!e.collections.length),n(l,49,0,e.collections&&e.collections.length)},function(n,l){n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"collections"));n(l,15,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u);var r=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"collectionsDesc"));n(l,32,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"collections"));n(l,38,0,o),n(l,54,0,t.ɵnov(l,5).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,i);var a=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"save"));n(l,60,0,a);var s=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"cancel"));n(l,65,0,s)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-collections",[],null,null,null,S,g)),t.ɵdid(1,245760,null,0,d.CollectionsComponent,[p.CollectionService,f.PlatformUtilsService,a.I18nService,v.CipherService,h.ApiService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=g,l.View_CollectionsComponent_0=S,l.View_CollectionsComponent_Host_0=_;var I=t.ɵccf("app-org-vault-collections",d.CollectionsComponent,_,{cipherId:"cipherId"},{onSavedCollections:"onSavedCollections"},[]);l.CollectionsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(17),o=e(14),i=e(12),a=e(8),s=e(3),c=e(495),d=e(4),p=e(241),f=e(13),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.name)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList"));n(l,1,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"user"));n(l,1,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",l.parent.context.$implicit.userEmail,"")),n(l,3,0,l.parent.context.$implicit.userName)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,l.component.showUser)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"));n(l,3,0,e),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,14,0,l.context.$implicit.message)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,31,"table",[["class","table table-hover mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,22,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,19,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(18,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(29,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,18,0,e.showUser),n(l,29,0,e.events)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"));n(l,7,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"));n(l,13,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent.parent,0),"event"));n(l,21,0,r)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore"));n(l,7,0,u)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,54,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,40,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,11)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,11)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,11)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.start=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[6,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(15,16384,null,0,i.NgControlStatus,[[4,i.NgControl]],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,26)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,26).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,26)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,26)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.end=e)&&u);return u},null,null)),t.ɵdid(26,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(28,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[6,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(30,16384,null,0,i.NgControlStatus,[[4,i.NgControl]],null,null),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(35,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(38,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(39,{"fa-spin":0}),(n()(),t.ɵted(40,null,["\n ","\n "])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(47,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(50,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(53,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,e.start),n(l,28,0,e.end),n(l,35,0,e.refreshPromise);var u=n(l,39,0,e.loaded&&t.ɵnov(l,34).loading);n(l,38,0,"fa fa-refresh fa-fw",u),n(l,47,0,!e.events||!e.events.length),n(l,50,0,e.events&&e.events.length),n(l,53,0,e.continuationToken)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"startDate"));n(l,7,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,16,0,t.ɵnov(l.parent,0),"startDate")),"");n(l,10,0,r,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"endDate"));n(l,22,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,25,0,n(l,31,0,t.ɵnov(l.parent,0),"endDate")),"");n(l,25,0,i,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,34,0,e.loaded&&t.ɵnov(l,34).loading);var a=t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l.parent,0),"refresh"));n(l,40,0,a)})}function I(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[s.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,37,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,34,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,31,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(14,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,14,0,e.name),n(l,26,0,!e.loaded),n(l,29,0,e.loaded)},function(n,l){var e=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"eventLogs"));n(l,11,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"close"));n(l,34,0,r)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-entity-events",[],null,null,null,I,v)),t.ɵdid(1,114688,null,0,c.EntityEventsComponent,[d.ApiService,s.I18nService,p.EventService,f.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EntityEventsComponent=v,l.View_EntityEventsComponent_0=I,l.View_EntityEventsComponent_Host_0=R;var k=t.ɵccf("app-entity-events",c.EntityEventsComponent,R,{name:"name",entity:"entity",entityId:"entityId",organizationId:"organizationId",showUser:"showUser"},{},[]);l.EntityEventsComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(12),o=e(103),i=e(170),a=e(145),s=e(43),c=e(107),d=e(34),p=e(8),f=e(3),v=e(275),h=e(17),g=e(14),m=e(506),y=e(4),C=e(6),b=e(13),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.selectedCount)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noUsersInList"));n(l,3,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "]))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"th",[["class","text-center"],["width","100"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"readOnly"));n(l,1,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited"));n(l,1,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted"));n(l,1,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-th"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"userAccessAllItems")),"");n(l,0,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.parent.context.$implicit.accessAll)},null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner"));n(l,1,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin"));n(l,1,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"manager"));n(l,1,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user"));n(l,1,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"td",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.readOnly=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,r.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,r.NgModel,[[2,r.ControlContainer],[8,null],[8,null],[6,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(7,16384,null,0,r.NgControlStatus,[[4,r.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",l.parent.context.$implicit.id.substr(0,8),"_ReadOnly");n(l,5,0,e,l.parent.context.$implicit.accessAll||!l.parent.context.$implicit.checked,l.parent.context.$implicit.readOnly)},function(n,l){n(l,2,0,t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,51,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);"change"===l&&(u=!1!==r.selectedChanged(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,r.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,r.NgModel,[[2,r.ControlContainer],[8,null],[8,null],[6,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(9,16384,null,0,r.NgControlStatus,[[4,r.NgControl]],null,null),t.ɵdid(10,16384,null,0,o.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"td",[["width","30"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,1,"app-avatar",[["size","25"]],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(16,638976,null,0,a.AvatarComponent,[s.DomSanitizer,c.CryptoFunctionService,d.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,10,"td",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(22,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(25,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(28,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,13,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(37,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(40,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(43,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(46,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(50,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",l.context.$implicit.id.substr(0,8),"_Checked");n(l,7,0,u,"collection"===e.entity&&l.context.$implicit.accessAll,l.context.$implicit.checked);n(l,16,0,l.context.$implicit.name||l.context.$implicit.email,l.context.$implicit.email,"25",14,!0),n(l,22,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,25,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,28,0,l.context.$implicit.name),n(l,32,0,"collection"===e.entity),n(l,37,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,40,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,43,0,l.context.$implicit.type===e.organizationUserType.Manager),n(l,46,0,l.context.$implicit.type===e.organizationUserType.User),n(l,50,0,"collection"===e.entity)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,20,0,l.context.$implicit.email)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,33,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,24,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,21,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(19,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(33,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,19,0,"collection"===e.entity),n(l,26,0,"collection"===e.entity),n(l,33,0,l.parent.context.ngIf)},function(n,l){var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"name"));n(l,15,0,e);var u=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"userType"));n(l,22,0,u)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,34,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,13,"div",[["class","mr-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["name","SearchText"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,11)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,11)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,11)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,r.NgModel,[[2,r.ControlContainer],[8,null],[8,null],[6,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(15,16384,null,0,r.NgControlStatus,[[4,r.NgControl]],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,16,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filterSelected(!1)&&t);return t},null,null)),t.ɵdid(22,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(23,{active:0}),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filterSelected(!0)&&t);return t},null,null)),t.ɵdid(28,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(29,{active:0}),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(33,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(39,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(42,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"SearchText",e.searchText);var t=n(l,23,0,!e.showSelected);n(l,22,0,"btn btn-outline-secondary",t);var u=n(l,29,0,e.showSelected);n(l,28,0,"btn btn-outline-secondary",u),n(l,33,0,e.selectedCount),n(l,39,0,!l.context.ngIf.length),n(l,42,0,l.context.ngIf.length)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"search"));n(l,7,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,16,0,t.ɵnov(l.parent,0),"search")),"");n(l,10,0,u,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var r=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent,0),"all"));n(l,24,0,r);var o=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent,0),"selected"));n(l,30,0,o)})}function z(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵpid(0,v.SearchPipe,[]),(n()(),t.ɵeld(2,0,null,null,52,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,49,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,46,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(9,16384,null,0,r.NgControlStatusGroup,[[4,r.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,h.ApiActionDirective,[t.ElementRef,g.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵeld(17,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(30,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,L)),t.ɵdid(33,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(34,5),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,30,0,e.loading||!e.users);var u=!e.loading&&e.users&&t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id"));n(l,33,0,u)},function(n,l){var e=l.component;n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"userAccess"));n(l,15,0,u),n(l,18,0,e.entityName);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,r),n(l,38,0,t.ɵnov(l,6).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"loading")),"");n(l,40,0,o);var i=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"save"));n(l,44,0,i);var a=t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"close"));n(l,49,0,a)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-entity-users",[],null,null,null,z,w)),t.ɵdid(1,114688,null,0,m.EntityUsersComponent,[y.ApiService,f.I18nService,C.Angulartics2,b.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EntityUsersComponent=w,l.View_EntityUsersComponent_0=z,l.View_EntityUsersComponent_Host_0=j;var G=t.ɵccf("app-entity-users",m.EntityUsersComponent,j,{entity:"entity",entityId:"entityId",entityName:"entityName",organizationId:"organizationId"},{onEditedUsers:"onEditedUsers"},[]);l.EntityUsersComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(17),a=e(14),s=e(8),c=e(3),d=e(609),p=e(4),f=e(6),v=e(13),h=e(45),g=e(7),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"unselectAll"));n(l,7,0,u)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,8,"td",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,19).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.readOnly=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(21,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(23,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked),n(l,21,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].ReadOnly"),!l.context.$implicit.checked,l.context.$implicit.readOnly)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name),n(l,18,0,t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"th",[["class","text-center"],["width","100"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(22,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,22,0,l.component.collections)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,10,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"readOnly"));n(l,14,0,u)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.collections||!e.collections.length),n(l,6,0,e.collections&&e.collections.length)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,83,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","externalId"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"input",[["class","form-control"],["id","externalId"],["name","ExternalId"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,25)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,25)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,25)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.externalId=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(27,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(29,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,8,"h3",[["class","mt-4 d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"div",[["class","mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["\n ","\n "])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,33,"div",[["class","form-group"]],null,null,null,null,null)),t.ɵdid(47,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(48,{"mb-0":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,13,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,6,"input",[["class","form-check-input"],["id","accessAll"],["name","access"],["type","radio"],["value","all"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,53)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,53).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,53)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,53)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,54).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,54).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.access=e)&&u);return u},null,null)),t.ɵdid(53,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(54,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(56,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(58,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,2,"label",[["class","form-check-label"],["for","accessAll"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["\n ","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,13,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,6,"input",[["class","form-check-input"],["id","accessSelected"],["name","access"],["type","radio"],["value","selected"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,69).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,69).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.access=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(69,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(71,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(73,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,2,"label",[["class","form-check-label"],["for","accessSelected"]],null,null,null,null,null)),(n()(),t.ɵted(76,null,["\n ","\n "])),t.ɵppd(77,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,"");n(l,13,0,"Name",e.name);n(l,27,0,"ExternalId",e.externalId),n(l,43,0,"selected"===e.access&&e.collections&&e.collections.length);var t=n(l,48,0,"selected"!==e.access);n(l,47,0,"form-group",t);n(l,54,0,"access","all");n(l,56,0,"access",e.access);n(l,69,0,"access","selected");n(l,71,0,"access",e.access),n(l,82,0,"selected"===e.access)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"name"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"externalId"));n(l,21,0,u),n(l,24,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending);var r=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent,0),"externalIdGroupDesc"));n(l,32,0,r);var o=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent,0),"accessControl"));n(l,39,0,o),n(l,52,0,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending);var i=t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"groupAccessAllItems"));n(l,61,0,i),n(l,67,0,t.ɵnov(l,73).ngClassUntouched,t.ɵnov(l,73).ngClassTouched,t.ɵnov(l,73).ngClassPristine,t.ɵnov(l,73).ngClassDirty,t.ɵnov(l,73).ngClassValid,t.ɵnov(l,73).ngClassInvalid,t.ɵnov(l,73).ngClassPending);var a=t.ɵunv(l,76,0,n(l,77,0,t.ɵnov(l.parent,0),"groupAccessSelectedCollections"));n(l,76,0,a)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent,0),"loading")),"");n(l,6,0,u,r)})}function k(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[c.I18nService]),(n()(),t.ɵeld(1,0,null,null,53,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,50,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,47,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(8,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,21,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,25,0,e.loading),n(l,28,0,!e.loading),n(l,49,0,e.editMode)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,14,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u),n(l,32,0,t.ɵnov(l,5).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"loading")),"");n(l,34,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"save"));n(l,38,0,o);var i=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"cancel"));n(l,43,0,i)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-group-add-edit",[],null,null,null,k,m)),t.ɵdid(1,114688,null,0,d.GroupAddEditComponent,[p.ApiService,c.I18nService,f.Angulartics2,v.ToasterService,h.CollectionService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupAddEditComponent=m,l.View_GroupAddEditComponent_0=k,l.View_GroupAddEditComponent_Host_0=A;var O=t.ɵccf("app-group-add-edit",d.GroupAddEditComponent,A,{groupId:"groupId",organizationId:"organizationId"},{onSavedGroup:"onSavedGroup",onDeletedGroup:"onDeletedGroup"},[]);l.GroupAddEditComponentNgFactory=O},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(17),a=e(14),s=e(8),c=e(3),d=e(611),p=e(4),f=e(6),v=e(13),h=e(45),g=e(7),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,18,"div",[["class","form-group mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"label",[["for","emails"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,7,"input",[["class","form-control"],["id","emails"],["name","Emails"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,13)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,13)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,13)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.emails=e)&&u);return u},null,null)),t.ɵdid(13,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(14,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(17,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(19,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,"");n(l,17,0,"Emails",e.emails)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"inviteUserDesc"));n(l,3,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"email"));n(l,9,0,u),n(l,12,0,t.ɵnov(l,14).required?"":null,t.ɵnov(l,19).ngClassUntouched,t.ɵnov(l,19).ngClassTouched,t.ɵnov(l,19).ngClassPristine,t.ɵnov(l,19).ngClassDirty,t.ɵnov(l,19).ngClassValid,t.ɵnov(l,19).ngClassInvalid,t.ɵnov(l,19).ngClassPending);var r=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"inviteMultipleEmailDesc","20"));n(l,22,0,r)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"unselectAll"));n(l,7,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,8,"td",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,19).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.readOnly=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(21,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(23,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked),n(l,21,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].ReadOnly"),!l.context.$implicit.checked,l.context.$implicit.readOnly)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name),n(l,18,0,t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"th",[["class","text-center"],["width","100"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(22,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,22,0,l.component.collections)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,10,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"readOnly"));n(l,14,0,u)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.collections||!e.collections.length),n(l,6,0,e.collections&&e.collections.length)},null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,132,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,17,"div",[["class","form-check mt-2 form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,6,"input",[["class","form-check-input"],["id","userTypeUser"],["name","userType"],["type","radio"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,12)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,12).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,12)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,12)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,13).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.type=e)&&u);return u},null,null)),t.ɵdid(12,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(13,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(15,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(17,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,6,"label",[["class","form-check-label"],["for","userTypeUser"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵeld(22,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",""])),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,17,"div",[["class","form-check mt-2 form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,6,"input",[["class","form-check-input"],["id","userTypeManager"],["name","userType"],["type","radio"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,32).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.type=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(32,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(34,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(36,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,6,"label",[["class","form-check-label"],["for","userTypeManager"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["\n ","\n "])),t.ɵppd(40,1),(n()(),t.ɵeld(41,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,17,"div",[["class","form-check mt-2 form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"input",[["class","form-check-input"],["id","userTypeAdmin"],["name","userType"],["type","radio"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,50)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,50).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,50)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,50)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,51).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.type=e)&&u);return u},null,null)),t.ɵdid(50,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(51,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(53,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(55,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,6,"label",[["class","form-check-label"],["for","userTypeAdmin"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵeld(60,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(61,null,["",""])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,17,"div",[["class","form-check mt-2 form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,6,"input",[["class","form-check-input"],["id","userTypeOwner"],["name","userType"],["type","radio"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,69)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,69).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,69)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,69)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,70).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,70).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.type=e)&&u);return u},null,null)),t.ɵdid(69,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(70,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(72,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(74,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,6,"label",[["class","form-check-label"],["for","userTypeOwner"]],null,null,null,null,null)),(n()(),t.ɵted(77,null,["\n ","\n "])),t.ɵppd(78,1),(n()(),t.ɵeld(79,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(80,null,["",""])),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,8,"h3",[["class","mt-4 d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,2,"div",[["class","mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(88,null,["\n ","\n "])),t.ɵppd(89,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(92,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(95,0,null,null,33,"div",[["class","form-group"]],null,null,null,null,null)),t.ɵdid(96,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(97,{"mb-0":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(99,0,null,null,13,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,6,"input",[["class","form-check-input"],["id","accessAll"],["name","access"],["type","radio"],["value","all"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,102)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,102).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,102)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,102)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,103).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,103).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.access=e)&&u);return u},null,null)),t.ɵdid(102,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(103,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(105,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(107,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,2,"label",[["class","form-check-label"],["for","accessAll"]],null,null,null,null,null)),(n()(),t.ɵted(110,null,["\n ","\n "])),t.ɵppd(111,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(114,0,null,null,13,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(116,0,null,null,6,"input",[["class","form-check-input"],["id","accessSelected"],["name","access"],["type","radio"],["value","selected"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,117)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,117).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,117)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,117)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,118).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,118).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.access=e)&&u);return u},null,null)),t.ɵdid(117,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(118,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(120,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(122,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(124,0,null,null,2,"label",[["class","form-check-label"],["for","accessSelected"]],null,null,null,null,null)),(n()(),t.ɵted(125,null,["\n ","\n "])),t.ɵppd(126,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(131,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.editMode);n(l,13,0,"userType",e.organizationUserType.User);n(l,15,0,"userType",e.type);n(l,32,0,"userType",e.organizationUserType.Manager);n(l,34,0,"userType",e.type);n(l,51,0,"userType",e.organizationUserType.Admin);n(l,53,0,"userType",e.type);n(l,70,0,"userType",e.organizationUserType.Owner);n(l,72,0,"userType",e.type),n(l,92,0,"selected"===e.access&&e.collections&&e.collections.length);var t=n(l,97,0,"selected"!==e.access);n(l,96,0,"form-group",t);n(l,103,0,"access","all");n(l,105,0,"access",e.access);n(l,118,0,"access","selected");n(l,120,0,"access",e.access),n(l,131,0,"selected"===e.access)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent,0),"userType"));n(l,6,0,e),n(l,11,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent,0),"user"));n(l,20,0,u);var r=t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l.parent,0),"userDesc"));n(l,23,0,r),n(l,30,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var o=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent,0),"manager"));n(l,39,0,o);var i=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent,0),"managerDesc"));n(l,42,0,i),n(l,49,0,t.ɵnov(l,55).ngClassUntouched,t.ɵnov(l,55).ngClassTouched,t.ɵnov(l,55).ngClassPristine,t.ɵnov(l,55).ngClassDirty,t.ɵnov(l,55).ngClassValid,t.ɵnov(l,55).ngClassInvalid,t.ɵnov(l,55).ngClassPending);var a=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent,0),"admin"));n(l,58,0,a);var s=t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"adminDesc"));n(l,61,0,s),n(l,68,0,t.ɵnov(l,74).ngClassUntouched,t.ɵnov(l,74).ngClassTouched,t.ɵnov(l,74).ngClassPristine,t.ɵnov(l,74).ngClassDirty,t.ɵnov(l,74).ngClassValid,t.ɵnov(l,74).ngClassInvalid,t.ɵnov(l,74).ngClassPending);var c=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent,0),"owner"));n(l,77,0,c);var d=t.ɵunv(l,80,0,n(l,81,0,t.ɵnov(l.parent,0),"ownerDesc"));n(l,80,0,d);var p=t.ɵunv(l,88,0,n(l,89,0,t.ɵnov(l.parent,0),"accessControl"));n(l,88,0,p),n(l,101,0,t.ɵnov(l,107).ngClassUntouched,t.ɵnov(l,107).ngClassTouched,t.ɵnov(l,107).ngClassPristine,t.ɵnov(l,107).ngClassDirty,t.ɵnov(l,107).ngClassValid,t.ɵnov(l,107).ngClassInvalid,t.ɵnov(l,107).ngClassPending);var f=t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,0),"userAccessAllItems"));n(l,110,0,f),n(l,116,0,t.ɵnov(l,122).ngClassUntouched,t.ɵnov(l,122).ngClassTouched,t.ɵnov(l,122).ngClassPristine,t.ɵnov(l,122).ngClassDirty,t.ɵnov(l,122).ngClassValid,t.ɵnov(l,122).ngClassInvalid,t.ɵnov(l,122).ngClassPending);var v=t.ɵunv(l,125,0,n(l,126,0,t.ɵnov(l.parent,0),"userAccessSelectedCollections"));n(l,125,0,v)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent,0),"loading")),"");n(l,6,0,u,r)})}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[c.I18nService]),(n()(),t.ɵeld(1,0,null,null,58,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,55,"div",[["class","modal-dialog"]],null,null,null,null,null)),t.ɵdid(4,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(5,{"modal-lg":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,[["form",1]],null,50,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,8).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,8).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(8,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(10,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(11,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,14,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(33,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,21,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(54,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,t=n(l,5,0,!e.editMode);n(l,4,0,"modal-dialog",t),n(l,11,0,e.formPromise),n(l,18,0,e.name),n(l,30,0,e.loading),n(l,33,0,!e.loading),n(l,54,0,e.editMode)},function(n,l){var e=l.component;n(l,7,0,t.ɵnov(l,10).ngClassUntouched,t.ɵnov(l,10).ngClassTouched,t.ɵnov(l,10).ngClassPristine,t.ɵnov(l,10).ngClassDirty,t.ɵnov(l,10).ngClassValid,t.ɵnov(l,10).ngClassInvalid,t.ɵnov(l,10).ngClassPending),n(l,16,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u),n(l,37,0,t.ɵnov(l,7).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"");n(l,39,0,r);var o=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"save"));n(l,43,0,o);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"));n(l,48,0,i)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-add-edit",[],null,null,null,O,m)),t.ɵdid(1,114688,null,0,d.UserAddEditComponent,[p.ApiService,c.I18nService,f.Angulartics2,v.ToasterService,h.CollectionService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserAddEditComponent=m,l.View_UserAddEditComponent_0=O,l.View_UserAddEditComponent_Host_0=P;var T=t.ɵccf("app-user-add-edit",d.UserAddEditComponent,P,{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},{onSavedUser:"onSavedUser",onDeletedUser:"onDeletedUser"},[]);l.UserAddEditComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(5),c=e(612),d=e(4),p=e(6),f=e(13),v=e(23),h=e(63),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.name)})}function y(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,75,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,72,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,69,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(9,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,27,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"p",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["\n ","\n "])),t.ɵppd(33,1),(n()(),t.ɵeld(34,0,null,null,2,"a",[["href","https://help.bitwarden.com/article/fingerprint-phrase/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["\n ",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵeld(40,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"input",[["class","form-check-input"],["id","dontAskAgain"],["name","DontAskAgain"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,46).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.dontAskAgain=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,o.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.CheckboxControlValueAccessor]),t.ɵdid(48,671744,null,0,o.NgModel,[[2,o.ControlContainer],[8,null],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(50,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["class","form-check-label"],["for","dontAskAgain"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["\n ","\n "])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(71,null,["",""])),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.name);n(l,48,0,"DontAskAgain",e.dontAskAgain)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"confirmUser"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,r);var o=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"fingerprintEnsureIntegrityVerify"));n(l,32,0,o);var i=t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"learnMore"));n(l,35,0,i),n(l,41,0,e.fingerprint),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var a=t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"dontAskFingerprintAgain"));n(l,53,0,a),n(l,60,0,t.ɵnov(l,5).loading);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,0),"loading")),"");n(l,62,0,s);var c=t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l,0),"confirm"));n(l,66,0,c);var d=t.ɵunv(l,71,0,n(l,72,0,t.ɵnov(l,0),"cancel"));n(l,71,0,d)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-confirm",[],null,null,null,y,g)),t.ɵdid(1,114688,null,0,c.UserConfirmComponent,[d.ApiService,r.I18nService,p.Angulartics2,f.ToasterService,v.CryptoService,h.StorageService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserConfirmComponent=g,l.View_UserConfirmComponent_0=y,l.View_UserConfirmComponent_Host_0=C;var b=t.ɵccf("app-user-confirm",c.UserConfirmComponent,C,{name:"name",userId:"userId",organizationUserId:"organizationUserId",organizationId:"organizationId"},{onConfirmedUser:"onConfirmedUser"},[]);l.UserConfirmComponentNgFactory=b},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(8),a=e(3),s=e(17),c=e(14),d=e(613),p=e(4),f=e(6),v=e(13),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.name)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList"));n(l,1,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Groups[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.groups)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,!e.groups||!e.groups.length),n(l,10,0,e.groups&&e.groups.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"groupAccessUserDesc"));n(l,3,0,e)})}function S(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,52,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,49,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,46,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(30,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(33,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.name),n(l,30,0,e.loading),n(l,33,0,!e.loading)},function(n,l){n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"groupAccess"));n(l,15,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u),n(l,37,0,t.ɵnov(l,5).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"");n(l,39,0,r);var o=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"save"));n(l,43,0,o);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"));n(l,48,0,i)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-groups",[],null,null,null,S,h)),t.ɵdid(1,114688,null,0,d.UserGroupsComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserGroupsComponent=h,l.View_UserGroupsComponent_0=S,l.View_UserGroupsComponent_Host_0=_;var I=t.ɵccf("app-user-groups",d.UserGroupsComponent,_,{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},{onSavedUser:"onSavedUser"},[]);l.UserGroupsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(582),r=e(7),o=e(5),i=e(8),a=e(3),s=e(581),c=e(583),d=e(64),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,"li",[["class","list-group-item d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"div",[["appFlexCopy",""],["class","text-monospace password-wrapper"]],[[8,"innerHTML",1]],[[null,"copy"]],function(n,l,e){var u=!0;"copy"===l&&(u=!1!==t.ɵnov(n,5).onCopy()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.FlexCopyDirective,[t.ElementRef,r.PlatformUtilsService],null,null),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"button",[["class","btn btn-link"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.context.$implicit.password)&&t);return t},null,null)),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,6,0,t.ɵnov(l.parent.parent,1),l.context.$implicit.password));n(l,4,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,2),l.context.$implicit.date,"medium"));n(l,9,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"copyPassword")),"");n(l,15,0,r)})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"ul",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(3,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.history)},null)}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noPasswordsInList"));n(l,1,0,e)})}function g(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),t.ɵpid(0,s.ColorPasswordPipe,[]),t.ɵpid(0,o.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,44,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,41,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,38,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(24,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(27,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(32,1),(n()(),t.ɵted(33,null,["\n ","\n "])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,4,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.clear()&&t);return t},null,null)),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,24,0,e.history.length),n(l,27,0,!e.history.length)},function(n,l){var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"passwordHistory"));n(l,12,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"close")),"");n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"close")),"");n(l,31,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"close"));n(l,33,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"clear")),"");n(l,38,0,i)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-generator-history",[],null,null,null,g,p)),t.ɵdid(1,114688,null,0,c.PasswordGeneratorHistoryComponent,[d.PasswordGenerationService,r.PlatformUtilsService,a.I18nService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PasswordGeneratorHistoryComponent=p,l.View_PasswordGeneratorHistoryComponent_0=g,l.View_PasswordGeneratorHistoryComponent_Host_0=m;var y=t.ɵccf("app-password-generator-history",c.PasswordGeneratorHistoryComponent,m,{},{},[]);l.PasswordGeneratorHistoryComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(33),c=e(28),d=e(100),p=e(52),f=e(475),v=e(4),h=e(6),g=e(13),m=e(23),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,25,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(32,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(33,0,["",""])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,41)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,41).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,41)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,41)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(41,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(42,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(45,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(47,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(48,81920,null,0,d.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(49,81920,null,0,p.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"warning");n(l,42,0,"");n(l,45,0,"MasterPasswordHash",e.masterPassword);n(l,48,0,"");n(l,49,0,"")},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"purgeVault"));n(l,14,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,r);var o=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),e.organizationId?"purgeOrgVaultDesc":"purgeVaultDesc"));n(l,28,0,o);var i=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"purgeVaultWarning"));n(l,33,0,i);var a=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"masterPass"));n(l,37,0,a),n(l,40,0,t.ɵnov(l,42).required?"":null,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending),n(l,54,0,t.ɵnov(l,5).loading);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,s);var c=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"purgeVault"));n(l,60,0,c);var d=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"close"));n(l,65,0,d)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-purge-vault",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,f.PurgeVaultComponent,[v.ApiService,r.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.Router],null,null)],null,null)}l.RenderType_PurgeVaultComponent=C,l.View_PurgeVaultComponent_0=b,l.View_PurgeVaultComponent_Host_0=w;var S=t.ɵccf("app-purge-vault",f.PurgeVaultComponent,w,{organizationId:"organizationId"},{},[]);l.PurgeVaultComponentNgFactory=S},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(10),a=e(8),s=e(3),c=e(17),d=e(14),p=e(561),f=e(45),v=e(7),h=e(9),g=e(22),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noOrganizationsList"));n(l,1,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"unselectAll"));n(l,7,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.collections)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,39,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"label",[["for","organization"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,9,"select",[["class","form-control"],["id","organization"],["name","OrganizationId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,13).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.organizationId=e)&&u);"change"===l&&(u=!1!==r.filterCollections()&&u);return u},null,null)),t.ɵdid(13,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(15,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(17,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(20,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(38,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,15,0,"OrganizationId",e.organizationId),n(l,20,0,e.organizations),n(l,31,0,e.collections&&e.collections.length),n(l,35,0,!e.collections||!e.collections.length),n(l,38,0,e.collections&&e.collections.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"shareDesc"));n(l,3,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"organization"));n(l,9,0,u),n(l,12,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending);var r=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"collections"));n(l,27,0,r)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"button",[["class","btn btn-primary btn-submit manual"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{loading:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,2,0,t.ɵnov(l.parent,5).loading);n(l,1,0,"btn btn-primary btn-submit manual",e)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l.parent,5).loading||!e.canSave);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"loading")),"");n(l,4,0,u);var r=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"save"));n(l,8,0,r)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["class","btn btn-primary"],["href","#"],["routerLink","/settings/create-organization"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,null,0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],function(n,l){n(l,1,0,"/settings/create-organization")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"newOrganization"));n(l,2,0,e)})}function O(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[s.I18nService]),(n()(),t.ɵeld(1,0,null,null,49,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,46,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,43,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,c.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(33,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,12,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(38,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(41,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(44,1),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.cipher),n(l,30,0,!e.organizations||!e.organizations.length),n(l,33,0,e.organizations&&e.organizations.length),n(l,38,0,e.organizations&&e.organizations.length),n(l,41,0,!e.organizations||!e.organizations.length)},function(n,l){n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"share"));n(l,15,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"cancel")),"");n(l,43,0,r);var o=t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"cancel"));n(l,45,0,o)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-share",[],null,null,null,O,m)),t.ɵdid(1,245760,null,0,p.ShareComponent,[f.CollectionService,v.PlatformUtilsService,s.I18nService,h.UserService,g.CipherService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ShareComponent=m,l.View_ShareComponent_0=O,l.View_ShareComponent_Host_0=P;var T=t.ɵccf("app-vault-share",p.ShareComponent,P,{cipherId:"cipherId",organizationId:"organizationId"},{onSharedCipher:"onSharedCipher"},[]);l.ShareComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(23),c=e(33),d=e(28),p=e(12),f=e(52),v=e(17),h=e(14),g=e(5),m=e(8),y=e(570),C=e(6),b=e(9),w=e(7),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"img",[["alt",""],["class","float-right"],["src","images/0.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["1. ",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorDesc"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorDownloadApp"));n(l,11,0,u)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(6,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(9,0,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,0,"img",[["alt",""],["class","float-right"],["src","images/0.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,3,0,"success","fa-check-circle",e)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,7,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorReaddDesc"));n(l,9,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorNeedApp"));n(l,15,0,r)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["2. ",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorScanCode"));n(l,3,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"hr",[],null,null,null,null,null))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["3. ",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,7)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,7).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,7)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,7)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.token=e)&&u);return u},null,null)),t.ɵdid(7,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(8,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(13,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(14,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,8,0,"");n(l,11,0,"Token",e.token);n(l,14,0,"")},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorEnterCode"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,8).required?"":null,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"enable"));n(l,1,0,e)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"disable"));n(l,1,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,88,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,p.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,p.ControlContainer,null,[p.NgForm]),t.ɵdid(3,16384,null,0,p.NgControlStatusGroup,[[4,p.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,62,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(9,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(12,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,28,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,7,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"i",[["class","fa-li fa fa-apple"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",":\n "])),t.ɵppd(20,1),(n()(),t.ɵeld(21,0,null,null,1,"a",[["href","https://itunes.apple.com/us/app/authy/id494168017?mt=8"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["Authy"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,7,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa-li fa fa-android"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",":\n "])),t.ɵppd(29,1),(n()(),t.ɵeld(30,0,null,null,1,"a",[["href","https://play.google.com/store/apps/details?id=com.authy.authy"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["Authy"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa-li fa fa-windows"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",":\n "])),t.ɵppd(38,1),(n()(),t.ɵeld(39,0,null,null,1,"a",[["href","https://www.microsoft.com/p/authenticator/9wzdncrfj3rj"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["Microsoft Authenticator"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(49,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(52,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,10,"p",[["class","text-center"]],null,null,null,null,null)),t.ɵdid(55,278528,null,0,g.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(56,{"mb-0":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,0,"canvas",[["id","qr"]],null,null,null,null,null)),(n()(),t.ɵeld(59,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,2,"code",[],[[8,"title",0]],null,null,null,null)),t.ɵppd(62,1),(n()(),t.ɵted(63,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(67,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,17,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(75,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(78,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(81,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(85,null,["",""])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,!e.enabled),n(l,12,0,e.enabled),n(l,49,0,!e.enabled),n(l,52,0,e.enabled);var t=n(l,56,0,e.enabled);n(l,55,0,"text-center",t),n(l,67,0,!e.enabled),n(l,78,0,!e.enabled),n(l,81,0,e.enabled)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var u=t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent,0),"iosDevices"));n(l,19,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,0),"androidDevices"));n(l,28,0,r);var o=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"windowsDevices"));n(l,37,0,o);var i=t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l.parent,0),"twoStepAuthenticatorAppsRecommended"));n(l,45,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"key")),"");n(l,61,0,a),n(l,63,0,e.key),n(l,72,0,t.ɵnov(l,0).loading);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,74,0,n(l,75,0,t.ɵnov(l.parent,0),"loading")),"");n(l,74,0,s);var c=t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l.parent,0),"close"));n(l,85,0,c)})}function E(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,31,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,28,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,25,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,16,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,6,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(26,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(29,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,26,0,!e.authed),n(l,29,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"authenticatorAppTitle"));n(l,13,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,r)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-authenticator",[],null,null,null,E,S)),t.ɵdid(1,245760,null,0,y.TwoFactorAuthenticatorComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.UserService,w.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorAuthenticatorComponent=S,l.View_TwoFactorAuthenticatorComponent_0=E,l.View_TwoFactorAuthenticatorComponent_Host_0=V;var x=t.ɵccf("app-two-factor-authenticator",y.TwoFactorAuthenticatorComponent,V,{},{onUpdated:"onUpdated"},[]);l.TwoFactorAuthenticatorComponentNgFactory=x},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(23),c=e(33),d=e(28),p=e(12),f=e(52),v=e(17),h=e(14),g=e(5),m=e(8),y=e(478),C=e(6),b=e(7),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"img",[["alt",""],["class","float-right ml-3"],["src","images/2.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",":"])),t.ɵppd(12,1),(n()(),t.ɵted(13,null,[" ","\n "])),(n()(),t.ɵeld(14,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",":"])),t.ɵppd(18,1),(n()(),t.ɵted(19,null,[" ","\n "])),(n()(),t.ɵeld(20,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",":"])),t.ɵppd(24,1),(n()(),t.ɵted(25,null,[" ","\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,3,0,"success","fa-check-circle",e)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,5,0,u);var r=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoIntegrationKey"));n(l,11,0,r),n(l,13,0,e.ikey);var o=t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoSecretKey"));n(l,17,0,o),n(l,19,0,e.skey);var i=t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoApiHostname"));n(l,23,0,i),n(l,25,0,e.host)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,59,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"img",[["alt",""],["class","float-right ml-3"],["src","images/2.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","ikey"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","ikey"],["name","IntegrationKey"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.ikey=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(21,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(22,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","skey"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,8,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control"],["id","skey"],["name","SecretKey"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.skey=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(33,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(36,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(38,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(39,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"label",[["for","host"]],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,9,"input",[["appInputVerbatim",""],["class","form-control"],["id","host"],["name","Host"],["required",""],["type","text"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,49)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,49).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,49)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,49)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.host=e)&&u);return u},null,null)),t.ɵdid(49,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(50,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(53,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(55,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(56,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,"");n(l,19,0,"IntegrationKey",e.ikey);n(l,22,0,"");n(l,33,0,"");n(l,36,0,"SecretKey",e.skey);n(l,39,0,"");n(l,50,0,"");n(l,53,0,"Host",e.host);n(l,56,0,"")},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoDesc"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoIntegrationKey"));n(l,11,0,u),n(l,14,0,t.ɵnov(l,16).required?"":null,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoSecretKey"));n(l,28,0,r),n(l,31,0,t.ɵnov(l,33).required?"":null,t.ɵnov(l,38).ngClassUntouched,t.ɵnov(l,38).ngClassTouched,t.ɵnov(l,38).ngClassPristine,t.ɵnov(l,38).ngClassDirty,t.ɵnov(l,38).ngClassValid,t.ɵnov(l,38).ngClassInvalid,t.ɵnov(l,38).ngClassPending);var o=t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoApiHostname"));n(l,45,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,48,0,n(l,57,0,t.ɵnov(l.parent.parent,0),"ex"))," api-xxxxxxxx.duosecurity.com");n(l,48,0,i,t.ɵnov(l,50).required?"":null,t.ɵnov(l,55).ngClassUntouched,t.ɵnov(l,55).ngClassTouched,t.ɵnov(l,55).ngClassPristine,t.ɵnov(l,55).ngClassDirty,t.ɵnov(l,55).ngClassValid,t.ɵnov(l,55).ngClassInvalid,t.ɵnov(l,55).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"enable"));n(l,1,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"disable"));n(l,1,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,33,"form",[["autocomplete","off"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,p.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,p.ControlContainer,null,[p.NgForm]),t.ɵdid(3,16384,null,0,p.NgControlStatusGroup,[[4,p.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(9,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(12,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,17,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(23,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(26,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,e.enabled),n(l,12,0,!e.enabled),n(l,23,0,!e.enabled),n(l,26,0,e.enabled)},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,17,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent,0),"loading")),"");n(l,19,0,e);var u=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent,0),"close"));n(l,30,0,u)})}function O(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,30,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,27,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,24,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["Duo"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(25,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(28,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,25,0,!e.authed),n(l,28,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-duo",[],null,null,null,O,w)),t.ɵdid(1,49152,null,0,y.TwoFactorDuoComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.PlatformUtilsService],null,null)],null,null)}l.RenderType_TwoFactorDuoComponent=w,l.View_TwoFactorDuoComponent_0=O,l.View_TwoFactorDuoComponent_Host_0=P;var T=t.ɵccf("app-two-factor-duo",y.TwoFactorDuoComponent,P,{},{onUpdated:"onUpdated"},[]);l.TwoFactorDuoComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(23),c=e(33),d=e(28),p=e(12),f=e(52),v=e(17),h=e(14),g=e(5),m=e(8),y=e(571),C=e(6),b=e(7),w=e(9),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",":"])),t.ɵppd(10,1),(n()(),t.ɵted(11,null,[" ","\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,3,0,"success","fa-check-circle",e)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,5,0,u);var r=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"email"));n(l,9,0,r),n(l,11,0,e.email)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","text-success ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,2)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeEmailSent",e.sentEmail));n(l,1,0,u)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,61,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"p",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"span",[["class","mr-3"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"img",[["alt",""],["class","float-right ml-auto"],["src","images/1.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["1. ",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(24,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(25,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","mb-3 d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,[["sendBtn",1]],null,9,"button",[["class","btn btn-outline-primary btn-sm btn-submit align-self-start"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.sendEmail()&&t);return t},null,null)),t.ɵdid(31,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(42,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["2. ",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,52)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,52)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,52)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.token=e)&&u);return u},null,null)),t.ɵdid(52,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(53,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(56,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(58,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(59,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,19,0,"");n(l,22,0,"Email",e.email);n(l,25,0,"false"),n(l,31,0,e.emailPromise),n(l,42,0,e.sentEmail);n(l,53,0,"");n(l,56,0,"Token",e.token);n(l,59,0,"")},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoFactorEmailDesc"));n(l,5,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"twoFactorEmailEnterEmail"));n(l,14,0,u),n(l,17,0,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,30,0,t.ɵnov(l,30).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,33,0,r);var o=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"sendEmail"));n(l,37,0,o);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent.parent,0),"twoFactorEmailEnterCode"));n(l,48,0,i),n(l,51,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"enable"));n(l,1,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"disable"));n(l,1,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,33,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,p.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,p.ControlContainer,null,[p.NgForm]),t.ɵdid(3,16384,null,0,p.NgControlStatusGroup,[[4,p.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(9,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(12,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,17,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(23,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(26,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,e.enabled),n(l,12,0,!e.enabled),n(l,23,0,!e.enabled),n(l,26,0,e.enabled)},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,17,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent,0),"loading")),"");n(l,19,0,e);var u=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent,0),"close"));n(l,30,0,u)})}function T(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,31,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,28,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,25,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,16,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,6,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(26,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(29,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,26,0,!e.authed),n(l,29,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"emailTitle"));n(l,13,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,r)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-email",[],null,null,null,T,S)),t.ɵdid(1,49152,null,0,y.TwoFactorEmailComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.PlatformUtilsService,w.UserService],null,null)],null,null)}l.RenderType_TwoFactorEmailComponent=S,l.View_TwoFactorEmailComponent_0=T,l.View_TwoFactorEmailComponent_Host_0=N;var E=t.ɵccf("app-two-factor-email",y.TwoFactorEmailComponent,N,{},{onUpdated:"onUpdated"},[]);l.TwoFactorEmailComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(8),o=e(3),i=e(5),a=e(540),s=e(97),c=e(10),d=e(7),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"a",[["appStopClick",""],["class","list-group-item list-group-item-action"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.choose(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"img",[["alt",""],["class","pull-right"]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(7,null,["\n ","\n "]))],null,function(n,l){n(l,3,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,6,0,l.context.$implicit.name),n(l,7,0,l.context.$implicit.description)})}function v(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,43,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,40,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,37,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,13,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(24,278528,null,0,i.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,7,"a",[["appStopClick",""],["class","list-group-item list-group-item-action"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,27).onClick(e)&&u);"click"===l&&(u=!1!==r.recover()&&u);return u},null,null)),t.ɵdid(27,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(32,null,["\n ","\n "])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,24,0,l.component.providers)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepOptions"));n(l,10,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"close")),"");n(l,13,0,u);var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"recoveryCodeTitle"));n(l,30,0,r);var o=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"recoveryCodeDesc"));n(l,32,0,o);var i=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"close"));n(l,39,0,i)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-options",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,a.TwoFactorOptionsComponent,[s.AuthService,c.Router,o.I18nService,d.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorOptionsComponent=p,l.View_TwoFactorOptionsComponent_0=v,l.View_TwoFactorOptionsComponent_Host_0=h;var g=t.ɵccf("app-two-factor-options",a.TwoFactorOptionsComponent,h,{},{onProviderSelected:"onProviderSelected",onRecoverSelected:"onRecoverSelected"},[]);l.TwoFactorOptionsComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(23),c=e(5),d=e(8),p=e(572),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"code",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoFactorRecoveryYourCode"));n(l,3,0,u),n(l,7,0,e.code)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,null,null,null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"twoFactorRecoveryNoCode"));n(l,1,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.print()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"printCode"));n(l,1,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","modal-body text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(5,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(8,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,8,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(14,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,e.code),n(l,8,0,!e.code),n(l,14,0,e.code)},function(n,l){var e=t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent,0),"close"));n(l,17,0,e)})}function C(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,31,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,28,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,25,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,16,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,6,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(26,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,26,0,!e.authed),n(l,29,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"recoveryCodeTitle"));n(l,13,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,r)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-recovery",[],null,null,null,C,f)),t.ɵdid(1,49152,null,0,p.TwoFactorRecoveryComponent,[i.I18nService],null,null)],null,null)}l.RenderType_TwoFactorRecoveryComponent=f,l.View_TwoFactorRecoveryComponent_0=C,l.View_TwoFactorRecoveryComponent_Host_0=b;var w=t.ɵccf("app-two-factor-recovery",p.TwoFactorRecoveryComponent,b,{},{},[]);l.TwoFactorRecoveryComponentNgFactory=w},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(23),c=e(33),d=e(28),p=e(5),f=e(41),v=e(17),h=e(14),g=e(12),m=e(8),y=e(573),C=e(6),b=e(7),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,1,0,"success","fa-check-circle",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,3,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"u2fkeyX",l.parent.context.index+1));n(l,1,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"i",[["class","fa fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{"fa-check text-success":0,"fa-exclamation-triangle text-warning":1}),t.ɵppd(3,1)],function(n,l){var e=n(l,2,0,!l.parent.context.$implicit.compromised,l.parent.context.$implicit.compromised);n(l,1,0,"fa fa-fw",e)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,3,0,t.ɵnov(l.parent.parent.parent,0),l.parent.context.$implicit.compromised?"keyCompromised":"enabled")),"");n(l,0,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spin fa-spinner text-muted fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"loading")),"");n(l,0,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n -\n "])),(n()(),t.ɵeld(5,0,null,null,3,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==r.remove(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(6,16384,null,0,f.StopClickDirective,[],null,null),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,t.ɵnov(l.parent,0).loading)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"remove"));n(l,7,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["removeKeyBtn",1]],null,16,"li",[],null,null,null,null,null)),t.ɵdid(1,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa-li fa fa-key"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(12,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(15,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,l.context.$implicit.removePromise),n(l,6,0,!l.context.$implicit.configured||!l.context.$implicit.name),n(l,9,0,l.context.$implicit.configured&&l.context.$implicit.name),n(l,12,0,l.context.$implicit.configured&&!t.ɵnov(l,0).loading),n(l,15,0,e.keysConfiguredCount>1&&l.context.$implicit.configured)},null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","...\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"twoFactorU2fWaiting"));n(l,3,0,e)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-check-circle text-success"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"twoFactorU2fClickSave"));n(l,3,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-warning text-danger"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"twoFactorU2fProblemReadingTryAgain"));n(l,3,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.u2fListening),n(l,6,0,e.u2fResponse),n(l,9,0,e.u2fError)},null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,0,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"save"));n(l,1,0,e)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["disableBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.disable()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.disablePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"disableAllKeys"));n(l,7,0,u)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,106,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,g.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,g.ControlContainer,null,[g.NgForm]),t.ɵdid(3,16384,null,0,g.NgControlStatusGroup,[[4,g.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,80,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,13,"app-callout",[["type","warning"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(12,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(14,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(18,0,null,0,5,"ul",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,0,"img",[["alt",""],["class","float-right ml-5"],["src","images/4.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(31,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",":"])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,17,"ol",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,g.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,g.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,g.NG_VALUE_ACCESSOR,function(n){return[n]},[g.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,g.NgModel,[[2,g.ControlContainer],[8,null],[8,null],[6,g.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,g.NgControl,null,[g.NgModel]),t.ɵdid(72,16384,null,0,g.NgControlStatus,[[4,g.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,[["readKeyBtn",1]],null,3,"button",[["class","btn btn-outline-secondary mr-2"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.readKey()&&t);return t},null,null)),t.ɵdid(77,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(78,null,["\n ","\n "])),t.ɵppd(79,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(82,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(85,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,17,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,7,"button",[["class","btn btn-primary"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(93,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(96,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(100,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(103,null,["",""])),t.ɵppd(104,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,e.enabled);n(l,12,0,"warning"),n(l,31,0,e.keys);n(l,70,0,"Name",!e.keyIdAvailable,e.name),n(l,77,0,e.challengePromise),n(l,82,0,t.ɵnov(l,76).loading),n(l,85,0,!t.ɵnov(l,76).loading),n(l,93,0,t.ɵnov(l,0).loading),n(l,96,0,!t.ɵnov(l,0).loading),n(l,100,0,e.enabled)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"twoFactorU2fWarning"));n(l,15,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"twoFactorU2fSupportWeb"));n(l,21,0,r);var o=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"twoFactorU2fAdd"));n(l,37,0,o);var i=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent,0),"twoFactorU2fGiveName"));n(l,43,0,i);var a=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent,0),"twoFactorU2fPlugInReadKey"));n(l,47,0,a);var s=t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent,0),"twoFactorU2fTouchButton"));n(l,51,0,s);var c=t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"twoFactorU2fSaveForm"));n(l,55,0,c);var d=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l.parent,0),"name"));n(l,64,0,d),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,76,0,t.ɵnov(l,76).loading||e.u2fListening||!e.keyIdAvailable);var p=t.ɵunv(l,78,0,n(l,79,0,t.ɵnov(l.parent,0),"readKey"));n(l,78,0,p),n(l,90,0,t.ɵnov(l,0).loading||!e.u2fResponse);var f=t.ɵunv(l,103,0,n(l,104,0,t.ɵnov(l.parent,0),"close"));n(l,103,0,f)})}function L(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,30,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,27,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,24,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FIDO U2F"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(25,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(28,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,25,0,!e.authed),n(l,28,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-u2f",[],null,null,null,L,w)),t.ɵdid(1,245760,null,0,y.TwoFactorU2fComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.PlatformUtilsService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorU2fComponent=w,l.View_TwoFactorU2fComponent_0=L,l.View_TwoFactorU2fComponent_Host_0=z;var j=t.ɵccf("app-two-factor-u2f",y.TwoFactorU2fComponent,z,{},{onUpdated:"onUpdated"},[]);l.TwoFactorU2fComponentNgFactory=j},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(23),c=e(33),d=e(28),p=e(12),f=e(52),v=e(5),h=e(17),g=e(14),m=e(8),y=e(574),C=e(6),b=e(7),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,1,0,"success","fa-check-circle",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,3,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control"],["type","password"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,1)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,1).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,1)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,1)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.key=e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(3,671744,null,0,p.NgModel,[[2,p.ControlContainer],[8,null],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(5,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(6,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null)],function(n,l){n(l,3,0,t.ɵinlineInterpolate(1,"Key",l.parent.context.index+1,""),l.parent.context.$implicit.key);n(l,6,0,"")},function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"key",l.parent.context.index+1,""),t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"span",[["class","mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"button",[["class","btn btn-link text-danger ml-auto"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.remove(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,l.parent.context.$implicit.existingKey);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"remove")),"");n(l,5,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(7,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(10,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,!l.context.$implicit.existingKey),n(l,10,0,l.context.$implicit.existingKey)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"key",l.context.index+1,""));var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"yubikeyX",l.context.index+1));n(l,3,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["disableBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.disable()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,h.ApiActionDirective,[t.ElementRef,g.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.disablePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"disableAllKeys"));n(l,7,0,u)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,105,"form",[["autocomplete","off"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,p.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,p.ControlContainer,null,[p.NgForm]),t.ɵdid(3,16384,null,0,p.NgControlStatusGroup,[[4,p.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,h.ApiActionDirective,[t.ElementRef,g.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,78,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(9,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,17,"app-callout",[["type","warning"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(12,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(14,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(18,0,null,0,9,"ul",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"img",[["alt",""],["class","float-right"],["src","images/3.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(33,null,["",":"])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,17,"ol",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(60,278528,null,0,v.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"strong",[["class","d-block mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,5,"input",[["class","form-check-input"],["id","nfc"],["name","Nfc"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,70).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,70).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.nfc=e)&&u);return u},null,null)),t.ɵdid(70,16384,null,0,p.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.CheckboxControlValueAccessor]),t.ɵdid(72,671744,null,0,p.NgModel,[[2,p.ControlContainer],[8,null],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(74,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"label",[["class","form-check-label"],["for","nfc"]],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(82,null,["",""])),t.ɵppd(83,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,18,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(99,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(102,null,["",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,e.enabled);n(l,12,0,"warning"),n(l,60,0,e.keys);n(l,72,0,"Nfc",e.nfc),n(l,99,0,e.enabled)},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"twoFactorYubikeyWarning"));n(l,15,0,e);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"twoFactorYubikeySupportUsb"));n(l,21,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l.parent,0),"twoFactorYubikeySupportMobile"));n(l,25,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l.parent,0),"twoFactorYubikeyAdd"));n(l,33,0,o);var i=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent,0),"twoFactorYubikeyPlugIn"));n(l,39,0,i);var a=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent,0),"twoFactorYubikeySelectKey"));n(l,43,0,a);var s=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent,0),"twoFactorYubikeyTouchButton"));n(l,47,0,s);var c=t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent,0),"twoFactorYubikeySaveForm"));n(l,51,0,c);var d=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l.parent,0),"nfcSupport"));n(l,64,0,d),n(l,69,0,t.ɵnov(l,74).ngClassUntouched,t.ɵnov(l,74).ngClassTouched,t.ɵnov(l,74).ngClassPristine,t.ɵnov(l,74).ngClassDirty,t.ɵnov(l,74).ngClassValid,t.ɵnov(l,74).ngClassInvalid,t.ɵnov(l,74).ngClassPending);var p=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent,0),"twoFactorYubikeySupportsNfc"));n(l,77,0,p);var f=t.ɵunv(l,82,0,n(l,83,0,t.ɵnov(l.parent,0),"twoFactorYubikeySupportsNfcDesc"));n(l,82,0,f),n(l,88,0,t.ɵnov(l,0).loading);var v=t.ɵinlineInterpolate(1,"",t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"loading")),"");n(l,90,0,v);var h=t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"save"));n(l,94,0,h);var g=t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"close"));n(l,102,0,g)})}function P(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,30,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,27,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,24,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["YubiKey"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(25,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(28,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,25,0,!e.authed),n(l,28,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-yubikey",[],null,null,null,P,w)),t.ɵdid(1,49152,null,0,y.TwoFactorYubiKeyComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.PlatformUtilsService],null,null)],null,null)}l.RenderType_TwoFactorYubiKeyComponent=w,l.View_TwoFactorYubiKeyComponent_0=P,l.View_TwoFactorYubiKeyComponent_Host_0=T;var N=t.ɵccf("app-two-factor-yubikey",y.TwoFactorYubiKeyComponent,T,{},{onUpdated:"onUpdated"},[]);l.TwoFactorYubiKeyComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(17),a=e(14),s=e(33),c=e(28),d=e(100),p=e(52),f=e(548),v=e(4),h=e(6),g=e(13),m=e(23),y=e(20),C=e(65),b=e(58),w=e(22),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,74,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,71,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,68,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,30,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,7,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,[""," ","\n "])),t.ɵppd(29,1),t.ɵppd(30,1),(n()(),t.ɵeld(31,0,null,null,2,"a",[["href","https://help.bitwarden.com/article/update-encryption-key/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(37,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(38,0,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(47,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(50,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(52,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(53,81920,null,0,d.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(54,81920,null,0,p.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(70,null,["",""])),t.ɵppd(71,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,37,0,"warning");n(l,47,0,"");n(l,50,0,"MasterPasswordHash",e.masterPassword);n(l,53,0,"");n(l,54,0,"")},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"updateEncryptionKey"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"updateEncryptionKeyShortDesc")),o=t.ɵunv(l,28,1,n(l,30,0,t.ɵnov(l,0),"updateEncryptionKeyDesc"));n(l,28,0,r,o);var i=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"learnMore"));n(l,32,0,i);var a=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"updateEncryptionKeyWarning"));n(l,38,0,a);var s=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l,0),"masterPass"));n(l,42,0,s),n(l,45,0,t.ɵnov(l,47).required?"":null,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending),n(l,59,0,t.ɵnov(l,5).loading);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"loading")),"");n(l,61,0,c);var d=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"updateEncryptionKey"));n(l,65,0,d);var p=t.ɵunv(l,70,0,n(l,71,0,t.ɵnov(l,0),"close"));n(l,70,0,p)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-update-key",[],null,null,null,_,S)),t.ɵdid(1,49152,null,0,f.UpdateKeyComponent,[v.ApiService,r.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService,C.SyncService,b.FolderService,w.CipherService],null,null)],null,null)}l.RenderType_UpdateKeyComponent=S,l.View_UpdateKeyComponent_0=_,l.View_UpdateKeyComponent_Host_0=I;var R=t.ɵccf("app-update-key",f.UpdateKeyComponent,I,{},{},[]);l.UpdateKeyComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(937),r=e(118),o=e(13),i=e(10),a=e(536),s=e(447),c=e(99),d=e(9),p=e(72),f=e(58),v=e(449),h=e(65),g=e(64),m=e(22),y=e(97),C=e(6),b=e(3),w=e(7),S=e(134),_=e(63),I=e(23),R=e(45),k=e(43),A=e(135),O=e(448),P=e(231),T=t.ɵcrt({encapsulation:2,styles:[],data:{}});function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"toaster-container",[],null,null,null,u.View_ToasterContainerComponent_0,u.RenderType_ToasterContainerComponent)),t.ɵdid(1,245760,null,0,r.ToasterContainerComponent,[o.ToasterService,t.ChangeDetectorRef,t.NgZone],{toasterconfig:[0,"toasterconfig"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(3,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(4,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,1,0,l.component.toasterConfig),n(l,4,0)},null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-root",[],null,null,null,N,T)),t.ɵdid(1,245760,null,0,a.AppComponent,[s.Angulartics2GoogleAnalytics,c.BroadcasterService,d.UserService,p.TokenService,f.FolderService,v.SettingsService,h.SyncService,g.PasswordGenerationService,m.CipherService,y.AuthService,i.Router,C.Angulartics2,o.ToasterService,b.I18nService,w.PlatformUtilsService,t.NgZone,S.LockService,_.StorageService,I.CryptoService,R.CollectionService,k.DomSanitizer,A.SearchService,O.NotificationsService,P.RouterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AppComponent=T,l.View_AppComponent_0=N,l.View_AppComponent_Host_0=E;var V=t.ɵccf("app-root",a.AppComponent,E,{},{},[]);l.AppComponentNgFactory=V},,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&l.indexOf("]")>-1){var u=l.lastIndexOf(".");t=l.substr(0,u>-1?u:l.length)+": "}n.push(t+e)})},e=this;for(var t in this.validationErrors)l(t);return n},l}(e(35).BaseResponse);l.ErrorResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.type=e.getResponseProperty("Type"),e.userId=e.getResponseProperty("UserId"),e.organizationId=e.getResponseProperty("OrganizationId"),e.cipherId=e.getResponseProperty("CipherId"),e.collectionId=e.getResponseProperty("CollectionId"),e.groupId=e.getResponseProperty("GroupId"),e.organizationUserId=e.getResponseProperty("OrganizationUserId"),e.actingUserId=e.getResponseProperty("ActingUserId"),e.date=e.getResponseProperty("Date"),e.deviceType=e.getResponseProperty("DeviceType"),e.ipAddress=e.getResponseProperty("IpAddress"),e}return u(l,n),l}(e(35).BaseResponse);l.EventResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(35),o=e(277),i=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.organizationId=e.getResponseProperty("OrganizationId"),e.name=e.getResponseProperty("Name"),e.accessAll=e.getResponseProperty("AccessAll"),e.externalId=e.getResponseProperty("ExternalId"),e}return u(l,n),l}(r.BaseResponse);l.GroupResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;e.collections=[];var t=e.getResponseProperty("Collections");return null!=t&&(e.collections=t.map(function(n){return new o.SelectionReadOnlyResponse(n)})),e}return u(l,n),l}(i);l.GroupDetailsResponse=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.accessToken=l.access_token,e.expiresIn=l.expires_in,e.refreshToken=l.refresh_token,e.tokenType=l.token_type,e.privateKey=e.getResponseProperty("PrivateKey"),e.key=e.getResponseProperty("Key"),e.twoFactorToken=e.getResponseProperty("TwoFactorToken"),e}return u(l,n),l}(e(35).BaseResponse);l.IdentityTokenResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;e.twoFactorProviders2=new Map,e.twoFactorProviders=e.getResponseProperty("TwoFactorProviders");var t=e.getResponseProperty("TwoFactorProviders2");if(null!=t)for(var u in t)t.hasOwnProperty(u)&&e.twoFactorProviders2.set(parseInt(u,null),t[u]);return e}return u(l,n),l}(e(35).BaseResponse);l.IdentityTwoFactorResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l,e){var t=n.call(this,l)||this,u=t.getResponseProperty("Data");return t.data=null==u?[]:u.map(function(n){return new e(n)}),t.continuationToken=t.getResponseProperty("ContinuationToken"),t}return u(l,n),l}(e(35).BaseResponse);l.ListResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(623),o=e(624),i=function(n){function l(l){var e=n.call(this,l)||this;e.storageName=e.getResponseProperty("StorageName"),e.storageGb=e.getResponseProperty("StorageGb");var t=e.getResponseProperty("Subscription");e.subscription=null==t?null:new o.BillingSubscriptionResponse(t);var u=e.getResponseProperty("UpcomingInvoice");return e.upcomingInvoice=null==u?null:new o.BillingSubscriptionUpcomingInvoiceResponse(u),e.expiration=e.getResponseProperty("Expiration"),e}return u(l,n),l}(r.OrganizationResponse);l.OrganizationSubscriptionResponse=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(35),o=e(277),i=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.userId=e.getResponseProperty("UserId"),e.type=e.getResponseProperty("Type"),e.status=e.getResponseProperty("Status"),e.accessAll=e.getResponseProperty("AccessAll"),e}return u(l,n),l}(r.BaseResponse);l.OrganizationUserResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;return e.name=e.getResponseProperty("Name"),e.email=e.getResponseProperty("Email"),e.twoFactorEnabled=e.getResponseProperty("TwoFactorEnabled"),e}return u(l,n),l}(i);l.OrganizationUserUserDetailsResponse=a;var s=function(n){function l(l){var e=n.call(this,l)||this;e.collections=[];var t=e.getResponseProperty("Collections");return null!=t&&(e.collections=t.map(function(n){return new o.SelectionReadOnlyResponse(n)})),e}return u(l,n),l}(i);l.OrganizationUserDetailsResponse=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.kdf=e.getResponseProperty("Kdf"),e.kdfIterations=e.getResponseProperty("KdfIterations"),e}return u(l,n),l}(e(35).BaseResponse);l.PreloginResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.name=e.getResponseProperty("Name"),e.useGroups=e.getResponseProperty("UseGroups"),e.useDirectory=e.getResponseProperty("UseDirectory"),e.useEvents=e.getResponseProperty("UseEvents"),e.useTotp=e.getResponseProperty("UseTotp"),e.use2fa=e.getResponseProperty("Use2fa"),e.useApi=e.getResponseProperty("UseApi"),e.selfHost=e.getResponseProperty("SelfHost"),e.usersGetPremium=e.getResponseProperty("UsersGetPremium"),e.seats=e.getResponseProperty("Seats"),e.maxCollections=e.getResponseProperty("MaxCollections"),e.maxStorageGb=e.getResponseProperty("MaxStorageGb"),e.key=e.getResponseProperty("Key"),e.status=e.getResponseProperty("Status"),e.type=e.getResponseProperty("Type"),e.enabled=e.getResponseProperty("Enabled"),e}return u(l,n),l}(e(35).BaseResponse);l.ProfileOrganizationResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(35),o=e(619),i=e(620),a=e(621),s=e(622),c=e(625),d=function(n){function l(l){var e=n.call(this,l)||this;e.folders=[],e.collections=[],e.ciphers=[];var t=e.getResponseProperty("Profile");null!=t&&(e.profile=new c.ProfileResponse(t));var u=e.getResponseProperty("Folders");null!=u&&(e.folders=u.map(function(n){return new s.FolderResponse(n)}));var r=e.getResponseProperty("Collections");null!=r&&(e.collections=r.map(function(n){return new i.CollectionDetailsResponse(n)}));var d=e.getResponseProperty("Ciphers");null!=d&&(e.ciphers=d.map(function(n){return new o.CipherResponse(n)}));var p=e.getResponseProperty("Domains");return null!=p&&(e.domains=new a.DomainsResponse(p)),e}return u(l,n),l}(r.BaseResponse);l.SyncResponse=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enabled"),e.key=e.getResponseProperty("Key"),e}return u(l,n),l}(e(35).BaseResponse);l.TwoFactorAuthenticatorResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enabled"),e.host=e.getResponseProperty("Host"),e.secretKey=e.getResponseProperty("SecretKey"),e.integrationKey=e.getResponseProperty("IntegrationKey"),e}return u(l,n),l}(e(35).BaseResponse);l.TwoFactorDuoResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enabled"),e.email=e.getResponseProperty("Email"),e}return u(l,n),l}(e(35).BaseResponse);l.TwoFactorEmailResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enabled"),e.type=e.getResponseProperty("Type"),e}return u(l,n),l}(e(35).BaseResponse);l.TwoFactorProviderResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.code=e.getResponseProperty("Code"),e}return u(l,n),l}(e(35).BaseResponse);l.TwoFactorRecoverResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(35),o=function(n){function l(l){var e=n.call(this,l)||this;e.enabled=e.getResponseProperty("Enabled");var t=e.getResponseProperty("Keys");return e.keys=null==t?null:t.map(function(n){return new i(n)}),e}return u(l,n),l}(r.BaseResponse);l.TwoFactorU2fResponse=o;var i=function(n){function l(l){var e=n.call(this,l)||this;return e.name=e.getResponseProperty("Name"),e.id=e.getResponseProperty("Id"),e.compromised=e.getResponseProperty("Compromised"),e}return u(l,n),l}(r.BaseResponse);l.KeyResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;return e.userId=e.getResponseProperty("UserId"),e.appId=e.getResponseProperty("AppId"),e.challenge=e.getResponseProperty("Challenge"),e.version=e.getResponseProperty("Version"),e}return u(l,n),l}(r.BaseResponse);l.ChallengeResponse=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enable"),e.key1=e.getResponseProperty("Key1"),e.key2=e.getResponseProperty("Key2"),e.key3=e.getResponseProperty("Key3"),e.key4=e.getResponseProperty("Key4"),e.key5=e.getResponseProperty("Key5"),e.nfc=e.getResponseProperty("Nfc"),e}return u(l,n),l}(e(35).BaseResponse);l.TwoFactorYubiKeyResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.userId=e.getResponseProperty("UserId"),e.publicKey=e.getResponseProperty("PublicKey"),e}return u(l,n),l}(e(35).BaseResponse);l.UserKeyResponse=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),l.throttle=function(n,l){return function(e,t,u){var r=u.value,o=new Map;return{value:function(){for(var e=this,t=[],u=0;u=n?s[n-1]():0===s.length&&(i.delete(a),0===i.size&&o.delete(e))};r.apply(e,t).then(function(n){return d(),n}).catch(function(n){throw d(),n}).then(l,u)};s.push(c),s.length<=n&&c()})}}}}},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.ids=null==n?[]:n}}();l.CipherBulkDeleteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.ids=null==n?[]:n,this.folderId=l}}();l.CipherBulkMoveRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(469),u=function(){return function(n,l){var e=this;null!=n&&(this.ciphers=[],n.forEach(function(n){e.ciphers.push(new t.CipherWithIdRequest(n))})),this.collectionIds=l}}();l.CipherBulkShareRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(194),u=function(){return function(n){this.cipher=new t.CipherRequest(n),this.collectionIds=n.collectionIds}}();l.CipherShareRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l,e){this.children=[],this.parent=e,this.node=n,this.node.name=l}}();l.TreeNode=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EncryptedObject=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentUrls=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(147),o=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{id:null,name:null},e,["id"]),t.revisionDate=null!=l.revisionDate?new Date(l.revisionDate):null,t)}return u(l,n),l.prototype.decrypt=function(){return this.decryptObj(new r.FolderView(this),{name:null},null)},l}(e(110).default);l.Folder=o},,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.password=n,this.date=l}}();l.GeneratedPasswordHistory=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.id,this.name=n.name,this.status=n.status,this.type=n.type,this.enabled=n.enabled,this.useGroups=n.useGroups,this.useDirectory=n.useDirectory,this.useEvents=n.useEvents,this.useTotp=n.useTotp,this.use2fa=n.use2fa,this.useApi=n.useApi,this.selfHost=n.selfHost,this.usersGetPremium=n.usersGetPremium,this.seats=n.seats,this.maxCollections=n.maxCollections,this.maxStorageGb=n.maxStorageGb}}();l.OrganizationData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(263),u=e(242),r=function(){function n(n){null!=n&&(this.id=n.id,this.name=n.name,this.status=n.status,this.type=n.type,this.enabled=n.enabled,this.useGroups=n.useGroups,this.useDirectory=n.useDirectory,this.useEvents=n.useEvents,this.useTotp=n.useTotp,this.use2fa=n.use2fa,this.useApi=n.useApi,this.selfHost=n.selfHost,this.usersGetPremium=n.usersGetPremium,this.seats=n.seats,this.maxCollections=n.maxCollections,this.maxStorageGb=n.maxStorageGb)}return Object.defineProperty(n.prototype,"canAccess",{get:function(){return this.type===u.OrganizationUserType.Owner||this.enabled&&this.status===t.OrganizationUserStatusType.Confirmed},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isManager",{get:function(){return this.type===u.OrganizationUserType.Manager||this.type===u.OrganizationUserType.Owner||this.type===u.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isAdmin",{get:function(){return this.type===u.OrganizationUserType.Owner||this.type===u.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isOwner",{get:function(){return this.type===u.OrganizationUserType.Owner},enumerable:!0,configurable:!0}),n}();l.Organization=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=0?this.browserCache=o.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edge/")?this.browserCache=o.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=o.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=o.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=o.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=o.DeviceType.IEBrowser:this.browserCache=o.DeviceType.UnknownBrowser,this.browserCache)},n.prototype.getDeviceString=function(){return o.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},n.prototype.isFirefox=function(){return this.getDevice()===o.DeviceType.FirefoxBrowser},n.prototype.isChrome=function(){return this.getDevice()===o.DeviceType.ChromeBrowser},n.prototype.isEdge=function(){return this.getDevice()===o.DeviceType.EdgeBrowser},n.prototype.isOpera=function(){return this.getDevice()===o.DeviceType.OperaBrowser},n.prototype.isVivaldi=function(){return this.getDevice()===o.DeviceType.VivaldiBrowser},n.prototype.isSafari=function(){return this.getDevice()===o.DeviceType.SafariBrowser},n.prototype.isIE=function(){return this.getDevice()===o.DeviceType.IEBrowser},n.prototype.isMacAppStore=function(){return!1},n.prototype.analyticsId=function(){return"UA-81915606-3"},n.prototype.isViewOpen=function(){return!1},n.prototype.lockTimeout=function(){return null},n.prototype.launchUri=function(n,l){var e=document.createElement("a");e.href=n,e.target="_blank",e.rel="noreferrer noopener",e.classList.add("d-none"),document.body.appendChild(e),e.click(),document.body.removeChild(e)},n.prototype.saveFile=function(n,l,e,t){var u=null,r=null,o=t.toLowerCase(),i=!0;if(o.endsWith(".pdf")?(r="application/pdf",i=!1):o.endsWith(".xlsx")?r="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":o.endsWith(".docx")?r="application/vnd.openxmlformats-officedocument.wordprocessingml.document":o.endsWith(".pptx")?r="application/vnd.openxmlformats-officedocument.presentationml.presentation":o.endsWith(".csv")?r="text/csv":o.endsWith(".png")?r="image/png":o.endsWith(".jpg")||o.endsWith(".jpeg")?r="image/jpeg":o.endsWith(".gif")&&(r="image/gif"),null!=r&&null==(e=e||{}).type&&(e.type=r),u=null==e||this.isIE()?new Blob([l]):new Blob([l],e),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(u,t);else{var a=n.document.createElement("a");i?a.download=t:a.target="_blank",a.href=n.URL.createObjectURL(u),a.style.position="fixed",n.document.body.appendChild(a),a.click(),n.document.body.removeChild(a)}},n.prototype.getApplicationVersion=function(){return"2.9.0"},n.prototype.supportsU2f=function(n){return null!=n&&null!=n.u2f||(this.isChrome()||(this.isOpera()||this.isVivaldi())&&!i.Utils.isMobileBrowser)},n.prototype.supportsDuo=function(){return!0},n.prototype.showToast=function(n,l,e,t){this.messagingService.send("showToast",{text:e,title:l,type:n,options:t})},n.prototype.showDialog=function(n,l,e,r,o){return t(this,void 0,void 0,function(){var t,i,s,c,d,p;return u(this,function(u){switch(u.label){case 0:if(t=[null==e?this.i18nService.t("ok"):e],null!=r&&t.unshift(r),i=document.createElement("div"),null!=o){switch((s=document.createElement("i")).classList.add("swal-custom-icon"),o){case"success":s.classList.add("fa","fa-check","text-success");break;case"warning":s.classList.add("fa","fa-warning","text-warning");break;case"error":s.classList.add("fa","fa-bolt","text-danger");break;case"info":s.classList.add("fa","fa-info-circle","text-info")}s.classList.contains("fa")&&i.appendChild(s)}return null!=l&&((c=document.createElement("div")).classList.add("swal-title"),c.appendChild(document.createTextNode(l)),i.appendChild(c)),null!=n&&((d=document.createElement("div")).classList.add("swal-text"),d.appendChild(document.createTextNode(n)),i.appendChild(d)),t.length>1?[4,a({content:{element:i},buttons:t})]:[3,2];case 1:return p=u.sent(),[3,4];case 2:return[4,a({content:{element:i},button:t[0]})];case 3:p=u.sent(),u.label=4;case 4:return[2,p]}})})},n.prototype.eventTrack=function(n,l,e){this.messagingService.send("analyticsEventTrack",{action:n,label:l,options:e})},n.prototype.isDev=function(){return!1},n.prototype.isSelfHost=function(){return"true"===(!1).toString()},n.prototype.copyToClipboard=function(n,l){var e=window,t=window.document;if(l&&(l.window||l.win)?t=(e=l.window||l.win).document:l&&l.doc&&(t=l.doc),e.clipboardData&&e.clipboardData.setData)e.clipboardData.setData("Text",n);else if(t.queryCommandSupported&&t.queryCommandSupported("copy")){var u=t.createElement("textarea");u.textContent=n,u.style.position="fixed";var r=t.body;this.isFirefox()&&t.body.classList.contains("modal-open")&&(r=t.body.querySelector(".modal")),r.appendChild(u),u.select();try{t.execCommand("copy")}catch(n){console.warn("Copy to clipboard failed.",n)}finally{r.removeChild(u)}}},n.prototype.readFromClipboard=function(n){throw new Error("Cannot read from clipboard on web.")},n}();l.WebPlatformUtilsService=s},function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},r=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(n=n.substring(0,l)),0!==n.indexOf("!/")&&0!==n.indexOf("#/")||(n=n.substring(1));var e=n.split("/"),t=[];return e.forEach(function(n){n.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?t.push("__guid__"):t.push(n)}),encodeURIComponent(t.join("/"))},n}();l.Analytics=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&n.data.forEach(function(n){var t=new a.Collection(new c.CollectionData(n));l.push(t.decrypt().then(function(n){e.push(n)}))}),Promise.all(l)})),f.push(this.apiService.getCiphersOrganization(n).then(function(n){var l=[];return null!=n&&null!=n.data&&n.data.length>0&&n.data.forEach(function(n){var e=new i.Cipher(new s.CipherData(n));l.push(e.decrypt().then(function(n){t.push(n)}))}),Promise.all(l)})),[4,Promise.all(f)];case 1:return u.sent(),"csv"===l?(v=new Map,e.forEach(function(n){v.set(n.id,n)}),h=[],t.forEach(function(n){if(n.type===o.CipherType.Login||n.type===o.CipherType.SecureNote){var l={collections:[]};null!=n.collectionIds&&(l.collections=n.collectionIds.filter(function(n){return v.has(n)}).map(function(n){return v.get(n).name})),m.buildCommonCipher(l,n),h.push(l)}}),[2,r.unparse(h)]):(g={collections:[],items:[]},e.forEach(function(n){var l=new p.CollectionWithId;l.build(n),g.collections.push(l)}),t.forEach(function(n){var l=new d.CipherWithIds;l.build(n),g.items.push(l)}),[2,JSON.stringify(g,null," ")])}})})},n.prototype.getFileName=function(n,l){void 0===n&&(n=null),void 0===l&&(l="csv");var e=new Date;return"bitwarden"+(n?"_"+n:"")+"_export_"+(e.getFullYear()+""+this.padNumber(e.getMonth()+1,2)+this.padNumber(e.getDate(),2)+this.padNumber(e.getHours(),2)+this.padNumber(e.getMinutes(),2)+this.padNumber(e.getSeconds(),2))+"."+l},n.prototype.padNumber=function(n,l,e){void 0===e&&(e="0");var t=n.toString();return t.length>=l?t:new Array(l-t.length+1).join(e)+t},n.prototype.buildCommonCipher=function(n,l){switch(n.type=null,n.name=l.name,n.notes=l.notes,n.fields=null,n.login_uri=null,n.login_username=null,n.login_password=null,n.login_totp=null,l.fields&&l.fields.forEach(function(l){n.fields?n.fields+="\n":n.fields="",n.fields+=(l.name||"")+": "+l.value}),l.type){case o.CipherType.Login:n.type="login",n.login_username=l.login.username,n.login_password=l.login.password,n.login_totp=l.login.totp,l.login.uris&&(n.login_uri=[],l.login.uris.forEach(function(l){n.login_uri.push(l.uri)}));break;case o.CipherType.SecureNote:n.type="note";break;default:return}return n},n}();l.ExportService=v},,function(n,l){},,function(n,l){},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(39),u=e(136),r=e(1001),o=e(1002),i=e(1003),a=e(1004),s=e(1006),c=function(){function n(){}return n.template=function(){var l=new n;return l.organizationId=null,l.folderId=null,l.type=t.CipherType.Login,l.name="Item name",l.notes="Some notes about this item.",l.favorite=!1,l.fields=[],l.login=null,l.secureNote=null,l.card=null,l.identity=null,l},n.toView=function(n,l){switch(void 0===l&&(l=new u.CipherView),l.type=n.type,l.folderId=n.folderId,null==l.organizationId&&(l.organizationId=n.organizationId),l.name=n.name,l.notes=n.notes,l.favorite=n.favorite,null!=n.fields&&(l.fields=n.fields.map(function(n){return o.Field.toView(n)})),n.type){case t.CipherType.Login:l.login=a.Login.toView(n.login);break;case t.CipherType.SecureNote:l.secureNote=s.SecureNote.toView(n.secureNote);break;case t.CipherType.Card:l.card=r.Card.toView(n.card);break;case t.CipherType.Identity:l.identity=i.Identity.toView(n.identity)}return l},n.prototype.build=function(n){switch(this.organizationId=n.organizationId,this.folderId=n.folderId,this.type=n.type,this.name=n.name,this.notes=n.notes,this.favorite=n.favorite,null!=n.fields&&(this.fields=n.fields.map(function(n){return new o.Field(n)})),n.type){case t.CipherType.Login:this.login=new a.Login(n.login);break;case t.CipherType.SecureNote:this.secureNote=new s.SecureNote(n.secureNote);break;case t.CipherType.Card:this.card=new r.Card(n.card);break;case t.CipherType.Identity:this.identity=new i.Identity(n.identity)}},n}();l.Cipher=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(89),u=function(){function n(n){null!=n&&(this.cardholderName=n.cardholderName,this.brand=n.brand,this.number=n.number,this.expMonth=n.expMonth,this.expYear=n.expYear,this.code=n.code)}return n.template=function(){var l=new n;return l.cardholderName="John Doe",l.brand="visa",l.number="4242424242424242",l.expMonth="04",l.expYear="2023",l.code="123",l},n.toView=function(n,l){return void 0===l&&(l=new t.CardView),l.cardholderName=n.cardholderName,l.brand=n.brand,l.number=n.number,l.expMonth=n.expMonth,l.expYear=n.expYear,l.code=n.code,l},n}();l.Card=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(195),u=e(196),r=function(){function n(n){null!=n&&(this.name=n.name,this.value=n.value,this.type=n.type)}return n.template=function(){var l=new n;return l.name="Field name",l.value="Some value",l.type=t.FieldType.Text,l},n.toView=function(n,l){return void 0===l&&(l=new u.FieldView),l.type=n.type,l.value=n.value,l.name=n.name,l},n}();l.Field=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(171),u=function(){function n(n){null!=n&&(this.title=n.title,this.firstName=n.firstName,this.middleName=n.middleName,this.lastName=n.lastName,this.address1=n.address1,this.address2=n.address2,this.address3=n.address3,this.city=n.city,this.state=n.state,this.postalCode=n.postalCode,this.country=n.country,this.company=n.company,this.email=n.email,this.phone=n.phone,this.ssn=n.ssn,this.username=n.username,this.passportNumber=n.passportNumber,this.licenseNumber=n.licenseNumber)}return n.template=function(){var l=new n;return l.title="Mr",l.firstName="John",l.middleName="William",l.lastName="Doe",l.address1="123 Any St",l.address2="Apt #123",l.address3=null,l.city="New York",l.state="NY",l.postalCode="10001",l.country="US",l.company="Acme Inc.",l.email="john@company.com",l.phone="5555551234",l.ssn="000-123-4567",l.username="jdoe",l.passportNumber="US-123456789",l.licenseNumber="D123-12-123-12333",l},n.toView=function(n,l){return void 0===l&&(l=new t.IdentityView),l.title=n.title,l.firstName=n.firstName,l.middleName=n.middleName,l.lastName=n.lastName,l.address1=n.address1,l.address2=n.address2,l.address3=n.address3,l.city=n.city,l.state=n.state,l.postalCode=n.postalCode,l.country=n.country,l.company=n.company,l.email=n.email,l.phone=n.phone,l.ssn=n.ssn,l.username=n.username,l.passportNumber=n.passportNumber,l.licenseNumber=n.licenseNumber,l},n}();l.Identity=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(1005),u=e(146),r=function(){function n(n){null!=n&&(null!=n.uris&&(this.uris=n.uris.map(function(n){return new t.LoginUri(n)})),this.username=n.username,this.password=n.password,this.totp=n.totp)}return n.template=function(){var l=new n;return l.uris=[],l.username="jdoe",l.password="myp@ssword123",l.totp="JBSWY3DPEHPK3PXP",l},n.toView=function(n,l){return void 0===l&&(l=new u.LoginView),null!=n.uris&&(l.uris=n.uris.map(function(n){return t.LoginUri.toView(n)})),l.username=n.username,l.password=n.password,l.totp=n.totp,l},n}();l.Login=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(235),u=function(){function n(n){this.match=null,null!=n&&(this.uri=n.uri,this.match=n.match)}return n.template=function(){var l=new n;return l.uri="https://google.com",l.match=null,l},n.toView=function(n,l){return void 0===l&&(l=new t.LoginUriView),l.uri=n.uri,l.match=n.match,l},n}();l.LoginUri=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(109),u=e(90),r=function(){function n(n){null!=n&&(this.type=n.type)}return n.template=function(){var l=new n;return l.type=t.SecureNoteType.Generic,l},n.toView=function(n,l){return void 0===l&&(l=new u.SecureNoteView),l.type=n.type,l},n}();l.SecureNote=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(148),u=function(){function n(){}return n.template=function(){var l=new n;return l.organizationId="00000000-0000-0000-0000-000000000000",l.name="Collection name",l},n.toView=function(n,l){return void 0===l&&(l=new t.CollectionView),l.name=n.name,null==l.organizationId&&(l.organizationId=n.organizationId),l},n.prototype.build=function(n){this.organizationId=n.organizationId,this.name=n.name},n}();l.Collection=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(147),u=function(){function n(){}return n.template=function(){var l=new n;return l.name="Folder name",l},n.toView=function(n,l){return void 0===l&&(l=new t.FolderView),l.name=n.name,l},n.prototype.build=function(n){this.name=n.name},n}();l.Folder=u},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(r=Math.floor(t.ciphers.length/2),o=t.ciphers.length-1,this.badData(t.ciphers[0])&&this.badData(t.ciphers[r])&&this.badData(t.ciphers[o]))?[2,new Error(this.i18nService.t("importFormatError"))]:[4,this.postImport(t,e)]:[3,3];case 2:return u.sent(),[2,null];case 3:return[2,new Error(this.i18nService.t("importFormatError"))]}})})},n.prototype.getImporter=function(n,l){void 0===l&&(l=!1);var e=this.getImporterInstance(n);return null==e?null:(e.organization=l,e)},n.prototype.getImporterInstance=function(n){if(null==n||""===n)return null;switch(n){case"bitwardencsv":return new g.BitwardenCsvImporter;case"bitwardenjson":return new m.BitwardenJsonImporter;case"lastpasscsv":case"passboltcsv":return new N.LastPassCsvImporter;case"keepassxcsv":return new P.KeePassXCsvImporter;case"aviracsv":return new h.AviraCsvImporter;case"blurcsv":return new y.BlurCsvImporter;case"safeincloudxml":return new H.SafeInCloudXmlImporter;case"padlockcsv":return new D.PadlockCsvImporter;case"keepass2xml":return new O.KeePass2XmlImporter;case"chromecsv":case"operacsv":case"vivaldicsv":return new C.ChromeCsvImporter;case"firefoxcsv":return new I.FirefoxCsvImporter;case"upmcsv":return new X.UpmCsvImporter;case"saferpasscsv":return new $.SaferPassCsvImporter;case"meldiumcsv":return new E.MeldiumCsvImporter;case"1password1pif":return new x.OnePassword1PifImporter;case"1passwordwincsv":return new M.OnePasswordWinCsvImporter;case"keepercsv":return new T.KeeperCsvImporter;case"passworddragonxml":return new G.PasswordDragonXmlImporter;case"enpasscsv":return new S.EnpassCsvImporter;case"enpassjson":return new _.EnpassJsonImporter;case"pwsafexml":return new q.PasswordSafeXmlImporter;case"dashlanejson":return new w.DashlaneJsonImporter;case"msecurecsv":return new V.MSecureCsvImporter;case"stickypasswordxml":return new Y.StickyPasswordXmlImporter;case"truekeycsv":return new J.TrueKeyCsvImporter;case"clipperzhtml":return new b.ClipperzHtmlImporter;case"roboformcsv":return new K.RoboFormCsvImporter;case"ascendocsv":return new f.AscendoCsvImporter;case"passwordbossjson":return new j.PasswordBossJsonImporter;case"zohovaultcsv":return new Z.ZohoVaultCsvImporter;case"splashidcsv":return new W.SplashIdCsvImporter;case"passkeepcsv":return new U.PassKeepCsvImporter;case"gnomejson":return new k.GnomeJsonImporter;case"passwordagentcsv":return new z.PasswordAgentCsvImporter;case"passpackcsv":return new L.PasspackCsvImporter;case"passmanjson":return new F.PassmanJsonImporter;case"avastcsv":return new v.AvastCsvImporter;case"fsecurefsk":return new R.FSecureFskImporter;case"kasperskytxt":return new A.KasperskyTxtImporter;case"remembearcsv":return new B.RememBearCsvImporter;default:return null}},n.prototype.postImport=function(n,l){return void 0===l&&(l=null),t(this,void 0,void 0,function(){var e,t,r,o,f;return u(this,function(u){switch(u.label){case 0:if(null!=l)return[3,10];e=new c.ImportCiphersRequest,o=0,u.label=1;case 1:return o2&&n.length%2==0)for(var u=0;u-1?t.login.password=l.getValueOrDefault(r):null==t.login.username&&l.usernameFieldNames.indexOf(i)>-1?t.login.username=l.getValueOrDefault(r):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(i)>-1?t.login.uris=l.makeUriArray(r):l.processKvp(t,o,r)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.AscendoCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name),t.login.uris=l.makeUriArray(n.web),t.login.password=l.getValueOrDefault(n.password),t.login.username=l.getValueOrDefault(n.login),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.AvastCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,l.getValueOrDefault(l.nameFromUrl(n.website),"--")),t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.username)&&!l.isNullOrWhitespace(n.secondary_username)?t.login.username=n.secondary_username:(t.login.username=l.getValueOrDefault(n.username),t.notes=l.getValueOrDefault(n.secondary_username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.AviraCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(136),a=e(148),s=e(196),c=e(146),d=e(90),p=e(39),f=e(195),v=e(109),h=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.organization&&!l.isNullOrWhitespace(n.collections)?n.collections.split(",").forEach(function(n){for(var l=!0,t=e.collections.length,u=0;uo+2&&(h.value=u[r].substr(o+2)),t.fields.push(h)}}switch(null!=n.type?n.type.toLowerCase():null){case"note":t.type=p.CipherType.SecureNote,t.secureNote=new d.SecureNoteView,t.secureNote.type=v.SecureNoteType.Generic;break;default:t.type=p.CipherType.Login,t.login=new c.LoginView,t.login.totp=l.getValueOrDefault(n.login_totp||n.totp),t.login.username=l.getValueOrDefault(n.login_username||n.username),t.login.password=l.getValueOrDefault(n.login_password||n.password);var g=l.parseSingleRowCsv(n.login_uri||n.uri);t.login.uris=l.makeUriArray(g)}e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.BitwardenCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(654),a=e(655),s=e(656),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);if(null==t||null==t.items||0===t.items.length)return e.success=!1,e;var u=new Map;return this.organization&&null!=t.collections?t.collections.forEach(function(n){var l=a.CollectionWithId.toView(n);null!=l&&(l.id=null,l.organizationId=null,u.set(n.id,e.collections.length),e.collections.push(l))}):this.organization||null==t.folders||t.folders.forEach(function(n){var l=s.FolderWithId.toView(n);null!=l&&(l.id=null,u.set(n.id,e.folders.length),e.folders.push(l))}),t.items.forEach(function(n){var t=i.CipherWithIds.toView(n);t.id=null,t.folderId=null,t.organizationId=null,t.collectionIds=null,!l.organization&&null!=n.folderId&&u.has(n.folderId)?e.folderRelationships.push([e.ciphers.length,u.get(n.folderId)]):l.organization&&null!=n.collectionIds&&n.collectionIds.forEach(function(n){u.has(n)&&e.collectionRelationships.push([e.ciphers.length,u.get(n)])}),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e},l}(r.BaseImporter);l.BitwardenJsonImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){"null"===n.label&&(n.label=null);var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.label,l.getValueOrDefault(l.nameFromUrl(n.domain),"--")),t.login.uris=l.makeUriArray(n.domain),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.email)&&!l.isNullOrWhitespace(n.username)?t.login.username=n.username:(t.login.username=l.getValueOrDefault(n.email),t.notes=l.getValueOrDefault(n.username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.BlurCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.ChromeCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("textarea");return null==u||this.isNullOrWhitespace(u.textContent)?(e.errorMessage="Missing textarea.",e.success=!1,e):(JSON.parse(u.textContent).forEach(function(n){var t=l.initLoginCipher();if(l.isNullOrWhitespace(n.label)||(t.name=n.label.split(" ")[0]),null==n.data||l.isNullOrWhitespace(n.data.notes)||(t.notes=n.data.notes.split("\\n").join("\n")),null!=n.currentVersion&&null!=n.currentVersion.fields)for(var u in n.currentVersion.fields)if(n.currentVersion.fields.hasOwnProperty(u)){var r=n.currentVersion.fields[u];switch(null!=r.actionType?r.actionType.toLowerCase():null){case"password":t.login.password=l.getValueOrDefault(r.value);break;case"email":case"username":case"user":case"name":t.login.username=l.getValueOrDefault(r.value);break;case"url":t.login.uris=l.makeUriArray(r.value);break;default:var o=null!=r.label?r.label.toLowerCase():null;null==t.login.password&&l.passwordFieldNames.indexOf(o)>-1?t.login.password=l.getValueOrDefault(r.value):null==t.login.username&&l.usernameFieldNames.indexOf(o)>-1?t.login.username=l.getValueOrDefault(r.value):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(o)>-1?t.login.uris=l.makeUriArray(r.value):l.processKvp(t,r.label,r.value)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.ClipperzHtmlImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(89),a=e(136),s=e(171),c=e(90),d=e(39),p=e(109),f=new Set(["ADDRESS","AUTHENTIFIANT","BANKSTATEMENT","IDCARD","IDENTITY","PAYMENTMEANS_CREDITCARD","PAYMENTMEAN_PAYPAL","EMAIL"]),v=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){this.result=new o.ImportResult;var l=JSON.parse(n);if(null==l||0===l.length)return this.result.success=!1,this.result;for(var e in null!=l.ADDRESS&&this.processAddress(l.ADDRESS),null!=l.AUTHENTIFIANT&&this.processAuth(l.AUTHENTIFIANT),null!=l.BANKSTATEMENT&&this.processNote(l.BANKSTATEMENT,"BankAccountName"),null!=l.IDCARD&&this.processNote(l.IDCARD,"Fullname"),null!=l.PAYMENTMEANS_CREDITCARD&&this.processCard(l.PAYMENTMEANS_CREDITCARD),null!=l.IDENTITY&&this.processIdentity(l.IDENTITY),l)l.hasOwnProperty(e)&&!f.has(e)&&this.processNote(l[e],null,"Generic Note");return this.result.success=!0,this.result},l.prototype.processAuth=function(n){var l=this;n.forEach(function(n){var e=l.initLoginCipher();e.name=l.getValueOrDefault(n.title),e.login.username=l.getValueOrDefault(n.login,l.getValueOrDefault(n.secondaryLogin)),l.isNullOrWhitespace(e.login.username)?e.login.username=l.getValueOrDefault(n.email):l.isNullOrWhitespace(n.email)||(e.notes="Email: "+n.email+"\n"),e.login.password=l.getValueOrDefault(n.password),e.login.uris=l.makeUriArray(n.domain),e.notes+=l.getValueOrDefault(n.note,""),l.convertToNoteIfNeeded(e),l.cleanupCipher(e),l.result.ciphers.push(e)})},l.prototype.processIdentity=function(n){var l=this;n.forEach(function(n){var e=new a.CipherView;e.identity=new s.IdentityView,e.type=d.CipherType.Identity,e.name=l.getValueOrDefault(n.fullName,"");var t=e.name.split(" ");t.length>0&&(e.identity.firstName=l.getValueOrDefault(t[0])),2===t.length?e.identity.lastName=l.getValueOrDefault(t[1]):3===t.length&&(e.identity.middleName=l.getValueOrDefault(t[1]),e.identity.lastName=l.getValueOrDefault(t[2])),e.identity.username=l.getValueOrDefault(n.pseudo),l.cleanupCipher(e),l.result.ciphers.push(e)})},l.prototype.processAddress=function(n){var l=this;n.forEach(function(n){var e=new a.CipherView;e.identity=new s.IdentityView,e.type=d.CipherType.Identity,e.name=l.getValueOrDefault(n.addressName),e.identity.address1=l.getValueOrDefault(n.addressFull),e.identity.city=l.getValueOrDefault(n.city),e.identity.state=l.getValueOrDefault(n.state),e.identity.postalCode=l.getValueOrDefault(n.zipcode),e.identity.country=l.getValueOrDefault(n.country),null!=e.identity.country&&(e.identity.country=e.identity.country.toUpperCase()),l.cleanupCipher(e),l.result.ciphers.push(e)})},l.prototype.processCard=function(n){var l=this;n.forEach(function(n){var e=new a.CipherView;e.card=new i.CardView,e.type=d.CipherType.Card,e.name=l.getValueOrDefault(n.bank),e.card.number=l.getValueOrDefault(n.cardNumber),e.card.brand=l.getCardBrand(e.card.number),e.card.cardholderName=l.getValueOrDefault(n.owner),l.isNullOrWhitespace(e.card.brand)||(l.isNullOrWhitespace(e.name)?e.name=e.card.brand:e.name+=" - "+e.card.brand),l.cleanupCipher(e),l.result.ciphers.push(e)})},l.prototype.processNote=function(n,l,e){var t=this;void 0===e&&(e=null),n.forEach(function(n){var u=new a.CipherView;for(var r in u.secureNote=new c.SecureNoteView,u.type=d.CipherType.SecureNote,u.secureNote.type=p.SecureNoteType.Generic,u.name=null!=e?e:t.getValueOrDefault(n[l]),n)n.hasOwnProperty(r)&&r!==l&&t.processKvp(u,r,n[r].toString());t.cleanupCipher(u),t.result.ciphers.push(u)})},l}(r.BaseImporter);l.DashlaneJsonImporter=v},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(39),a=e(109),s=e(89),c=e(90),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=!0;return t.forEach(function(n){if(n.length<2||u&&("Title"===n[0]||"title"===n[0]))u=!1;else{var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),2!==n.length&&(l.containsField(n,"username")||l.containsField(n,"password")||l.containsField(n,"email")||l.containsField(n,"url"))||(t.type=i.CipherType.SecureNote,t.secureNote=new c.SecureNoteView,t.secureNote.type=a.SecureNoteType.Generic),l.containsField(n,"cardholder")&&l.containsField(n,"number")&&l.containsField(n,"expiry date")&&(t.type=i.CipherType.Card,t.card=new s.CardView),n.length>2&&n.length%2==0)for(var r=0;r0},l}(r.BaseImporter);l.EnpassCsvImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(89),a=e(39),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);return null==t||null==t.items||0===t.items.length?(e.success=!1,e):(t.items.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title),t.favorite=n.favorite>0,null!=n.template_type&&null!=n.fields&&n.fields.length>0&&(0===n.template_type.indexOf("login.")||0===n.template_type.indexOf("password.")?l.processLogin(t,n.fields):0===n.template_type.indexOf("creditcard.")?l.processCard(t,n.fields):n.template_type.indexOf("identity.")<0&&n.fields.some(function(n){return"password"===n.type&&!l.isNullOrWhitespace(n.value)})?l.processLogin(t,n.fields):l.processNote(t,n.fields)),t.notes+="\n"+l.getValueOrDefault(n.note,""),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l.prototype.processLogin=function(n,l){var e=this,t=[];l.forEach(function(l){e.isNullOrWhitespace(l.value)||"section"===l.type||("username"!==l.type&&"email"!==l.type||!e.isNullOrWhitespace(n.login.username)?"password"===l.type&&e.isNullOrWhitespace(n.login.password)?n.login.password=l.value:"totp"===l.type&&e.isNullOrWhitespace(n.login.totp)?n.login.totp=l.value:"url"===l.type?t.push(l.value):e.processKvp(n,l.label,l.value):n.login.username=l.value)}),n.login.uris=this.makeUriArray(t)},l.prototype.processCard=function(n,l){var e=this;n.card=new i.CardView,n.type=a.CipherType.Card,l.forEach(function(l){e.isNullOrWhitespace(l.value)||"section"===l.type||"ccType"===l.type||("ccName"===l.type&&e.isNullOrWhitespace(n.card.cardholderName)?n.card.cardholderName=l.value:"ccNumber"===l.type&&e.isNullOrWhitespace(n.card.number)?(n.card.number=l.value,n.card.brand=e.getCardBrand(n.card.number)):"ccCvc"===l.type&&e.isNullOrWhitespace(n.card.code)?n.card.code=l.value:"ccExpiry"===l.type&&e.isNullOrWhitespace(n.card.expYear)&&e.setCardExpiration(n,l.value)||e.processKvp(n,l.label,l.value))})},l.prototype.processNote=function(n,l){var e=this;l.forEach(function(l){e.isNullOrWhitespace(l.value)||"section"===l.type||e.processKvp(n,l.label,l.value)})},l}(r.BaseImporter);l.EnpassJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.hostname),"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.hostname),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.FirefoxCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(89),a=e(39),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=new o.ImportResult,e=JSON.parse(n);if(null==e||null==e.data)return l.success=!1,l;for(var t in e.data)if(e.data.hasOwnProperty(t)){var u=e.data[t],r=this.initLoginCipher();if(r.name=this.getValueOrDefault(u.service),r.notes=this.getValueOrDefault(u.notes),"website"===u.style)r.login.username=this.getValueOrDefault(u.username),r.login.password=this.getValueOrDefault(u.password),r.login.uris=this.makeUriArray(u.url);else{if("creditcard"!==u.style)continue;r.type=a.CipherType.Card,r.card=new i.CardView,r.card.cardholderName=this.getValueOrDefault(u.username),r.card.number=this.getValueOrDefault(u.creditNumber),r.card.brand=this.getCardBrand(r.card.number),r.card.code=this.getValueOrDefault(u.creditCvv),this.isNullOrWhitespace(u.creditExpiry)||this.setCardExpiration(r,u.creditExpiry)||this.processKvp(r,"Expiration",u.creditExpiry),this.isNullOrWhitespace(u.password)||this.processKvp(r,"PIN",u.password)}this.convertToNoteIfNeeded(r),this.cleanupCipher(r),l.ciphers.push(r)}return l.success=!0,l},l}(r.BaseImporter);l.FSecureFskImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);if(null==t||0===Object.keys(t).length)return e.success=!1,e;var u=function(n){if(!t.hasOwnProperty(n)||r.isNullOrWhitespace(n)||0===t[n].length)return"continue";t[n].forEach(function(t){if(!l.isNullOrWhitespace(t.display_name)&&0===t.display_name.indexOf("http")){l.processFolder(e,n);var u=l.initLoginCipher();if(u.name=t.display_name.replace("http://","").replace("https://",""),u.name.length>30&&(u.name=u.name.substring(0,30)),u.login.password=l.getValueOrDefault(t.secret),u.login.uris=l.makeUriArray(t.display_name),null!=t.attributes)for(var r in u.login.username=null!=t.attributes?l.getValueOrDefault(t.attributes.username_value):null,t.attributes)t.attributes.hasOwnProperty(r)&&"username_value"!==r&&"xdg:schema"!==r&&l.processKvp(u,r,t.attributes[r]);l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}})},r=this;for(var i in t)u(i);return this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.GnomeJsonImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l,e,t,u,r=this,i=new o.ImportResult,a=this.splitNewLine(n).join("\n");-1!==a.indexOf("Notes\n\n")&&((u=a.split("Notes\n\n")).length>1&&(a=u[0],l=u[1]));-1!==a.indexOf("Applications\n\n")&&((u=a.split("Applications\n\n")).length>1&&(a=u[0],e=u[1]));0===a.indexOf("Websites\n\n")&&((u=a.split("Websites\n\n")).length>1&&(a=u[0],t=u[1]));var s=this.parseDataCategory(l),c=this.parseDataCategory(e),d=this.parseDataCategory(t);return s.forEach(function(n){var l=r.initLoginCipher();l.name=r.getValueOrDefault(n.get("Name")),l.notes=r.getValueOrDefault(n.get("Text")),r.cleanupCipher(l),i.ciphers.push(l)}),d.concat(c).forEach(function(n){var l=r.initLoginCipher(),e=n.has("Website name")?"Website name":"Application";l.name=r.getValueOrDefault(n.get(e),""),r.isNullOrWhitespace(n.get("Login name"))||(r.isNullOrWhitespace(l.name)||(l.name+=": "),l.name+=n.get("Login name")),l.notes=r.getValueOrDefault(n.get("Comment")),n.has("Website URL")&&(l.login.uris=r.makeUriArray(n.get("Website URL"))),l.login.username=r.getValueOrDefault(n.get("Login")),l.login.password=r.getValueOrDefault(n.get("Password")),r.cleanupCipher(l),i.ciphers.push(l)}),i.success=!0,i},l.prototype.parseDataCategory=function(n){if(this.isNullOrWhitespace(n)||-1===n.indexOf("\n---\n"))return[];var l=[];return n.split("\n---\n").forEach(function(n){if(-1!==n.indexOf("\n")){var e,t,u=new Map;n.split("\n").forEach(function(n){if(null==e){var l,r,o=n.indexOf(":");-1!==o&&(l=n.substring(0,o),n.length>o+1&&(r=n.substring(o+2)),null!=l&&u.set(l,r),"Comment"!==l&&"Text"!==l||(e=r,t=l))}else e+="\n"+n}),null!=e&&null!=t&&u.set(t,e),0!==u.size&&l.push(u)}}),l},l}(r.BaseImporter);l.KasperskyTxtImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(147),a=function(n){function l(){var l=null!==n&&n.apply(this,arguments)||this;return l.result=new o.ImportResult,l}return u(l,n),l.prototype.parse=function(n){var l=this.parseXml(n);if(null==l)return this.result.success=!1,this.result;var e=l.querySelector("KeePassFile > Root > Group");return null==e?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,this.result):(this.traverse(e,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,this.result)},l.prototype.traverse=function(n,l,e){var t=this,u=this.result.folders.length,r=e;if(!l){""!==r&&(r+="/");var o=this.querySelectorDirectChild(n,"Name");r+=null==o?"-":o.textContent;var a=new i.FolderView;a.name=r,this.result.folders.push(a)}this.querySelectorAllDirectChild(n,"Entry").forEach(function(n){var e=t.result.ciphers.length,r=t.initLoginCipher();t.querySelectorAllDirectChild(n,"String").forEach(function(n){var l=t.querySelectorDirectChild(n,"Value"),e=null!=l?l.textContent:null;if(!t.isNullOrWhitespace(e)){var u=t.querySelectorDirectChild(n,"Key"),o=null!=u?u.textContent:null;"URL"===o?r.login.uris=t.makeUriArray(e):"UserName"===o?r.login.username=e:"Password"===o?r.login.password=e:"Title"===o?r.name=e:"Notes"===o?r.notes+=e+"\n":t.processKvp(r,o,e)}}),t.cleanupCipher(r),t.result.ciphers.push(r),l||t.result.folderRelationships.push([e,u])}),this.querySelectorAllDirectChild(n,"Group").forEach(function(n){t.traverse(n,!1,r)})},l}(r.BaseImporter);l.KeePass2XmlImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.Title)){n.Group=!l.isNullOrWhitespace(n.Group)&&n.Group.startsWith("Root/")?n.Group.replace("Root/",""):n.Group;var t=l.isNullOrWhitespace(n.Group)?null:n.Group;l.processFolder(e,t);var u=l.initLoginCipher();u.notes=l.getValueOrDefault(n.Notes),u.name=l.getValueOrDefault(n.Title,"--"),u.login.username=l.getValueOrDefault(n.Username),u.login.password=l.getValueOrDefault(n.Password),u.login.uris=l.makeUriArray(n.URL),l.cleanupCipher(u),e.ciphers.push(u)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(r.BaseImporter);l.KeePassXCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<6)){l.processFolder(e,n[0]);var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[5])+"\n",t.name=l.getValueOrDefault(n[1],"--"),t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),n.length>7)for(var u=7;u-1){var e=n.ccexp.split("-");e.length>1&&(l.expYear=e[0],l.expMonth=e[1],2===l.expMonth.length&&"0"===l.expMonth[0]&&(l.expMonth=l.expMonth[1]))}return l},l.prototype.parseIdentity=function(n){var l=new c.IdentityView;return l.title=this.getValueOrDefault(n.title),l.firstName=this.getValueOrDefault(n.firstname),l.middleName=this.getValueOrDefault(n.middlename),l.lastName=this.getValueOrDefault(n.lastname),l.username=this.getValueOrDefault(n.username),l.company=this.getValueOrDefault(n.company),l.ssn=this.getValueOrDefault(n.ssn),l.address1=this.getValueOrDefault(n.address1),l.address2=this.getValueOrDefault(n.address2),l.address3=this.getValueOrDefault(n.address3),l.city=this.getValueOrDefault(n.city),l.state=this.getValueOrDefault(n.state),l.postalCode=this.getValueOrDefault(n.zip),l.country=this.getValueOrDefault(n.country),l.email=this.getValueOrDefault(n.email),l.phone=this.getValueOrDefault(n.phone),this.isNullOrWhitespace(l.title)||(l.title=l.title.charAt(0).toUpperCase()+l.title.slice(1)),l},l.prototype.parseSecureNote=function(n,l){var e=this.splitNewLine(n.extra),t=!1;if(e.length){var u=e[0].split(":");if(u.length>1&&"NoteType"===u[0]&&("Credit Card"===u[1]||"Address"===u[1])){if("Credit Card"===u[1]){var r=this.parseSecureNoteMapping(e,{Number:"number","Name on Card":"cardholderName","Security Code":"code"});l.type=f.CipherType.Card,l.card=r[0],l.notes=r[1]}else if("Address"===u[1]){r=this.parseSecureNoteMapping(e,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});l.type=f.CipherType.Identity,l.identity=r[0],l.notes=r[1]}t=!0}}t||(l.secureNote=new p.SecureNoteView,l.secureNote.type=v.SecureNoteType.Generic,l.notes=this.getValueOrDefault(n.extra))},l.prototype.parseSecureNoteMapping=function(n,l){var e=this,t=null,u={};return n.forEach(function(n){if(!e.isNullOrWhitespace(n)){var r=null,o=null,i=n.indexOf(":");-1===i?r=n:(r=n.substring(0,i),n.length>i&&(o=n.substring(i+1))),e.isNullOrWhitespace(r)||e.isNullOrWhitespace(o)||"NoteType"===r||("Notes"===r?e.isNullOrWhitespace(t)?t=o:t+="\n"+o:l.hasOwnProperty(r)?u[l[r]]=o:(e.isNullOrWhitespace(t)?t="":t+="\n",t+=r+": "+o))}}),[u,t]},l}(r.BaseImporter);l.LastPassCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.DisplayName,"--"),t.notes=l.getValueOrDefault(n.Notes),t.login.username=l.getValueOrDefault(n.UserName),t.login.password=l.getValueOrDefault(n.Password),t.login.uris=l.makeUriArray(n.Url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.MeldiumCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(39),a=e(109),s=e(90),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){var t="Unassigned"!==l.getValueOrDefault(n[0],"Unassigned")?n[0]:null;l.processFolder(e,t);var u=l.initLoginCipher();if(u.name=l.getValueOrDefault(n[2],"--"),"Web Logins"===n[1])u.login.uris=l.makeUriArray(n[4]),u.login.username=l.getValueOrDefault(n[5]),u.login.password=l.getValueOrDefault(n[6]),u.notes=l.isNullOrWhitespace(n[3])?null:n[3].split("\\n").join("\n");else if(n.length>3){u.type=i.CipherType.SecureNote,u.secureNote=new s.SecureNoteView,u.secureNote.type=a.SecureNoteType.Generic;for(var r=3;r0&&(l.login.uris=this.makeUriArray(t))}null!=n.secureContents.fields&&this.parseFields(n.secureContents.fields,l,"designation","value","name"),null!=n.secureContents.sections&&n.secureContents.sections.forEach(function(n){null!=n.fields&&e.parseFields(n.fields,l,"n","v","t")})}},l.prototype.parseFields=function(n,l,e,t,u){var r=this;n.forEach(function(n){if(null!=n[t]&&""!==n[t].toString().trim()){var o=n[t].toString(),i=null!=n[e]?n[e].toString():null;if(l.type===s.CipherType.Login){if(r.isNullOrWhitespace(l.login.username)&&"username"===i)return void(l.login.username=o);if(r.isNullOrWhitespace(l.login.password)&&"password"===i)return void(l.login.password=o);if(r.isNullOrWhitespace(l.login.totp)&&null!=i&&i.startsWith("TOTP_"))return void(l.login.totp=o)}else if(l.type===s.CipherType.Card){if(r.isNullOrWhitespace(l.card.number)&&"ccnum"===i)return l.card.number=o,void(l.card.brand=r.getCardBrand(o));if(r.isNullOrWhitespace(l.card.code)&&"cvv"===i)return void(l.card.code=o);if(r.isNullOrWhitespace(l.card.cardholderName)&&"cardholder"===i)return void(l.card.cardholderName=o);if(r.isNullOrWhitespace(l.card.expiration)&&"expiry"===i&&6===o.length)return l.card.expMonth=o.substr(4,2),"0"===l.card.expMonth[0]&&(l.card.expMonth=l.card.expMonth.substr(1,1)),void(l.card.expYear=o.substr(0,4));if("type"===i)return}var a=r.isNullOrWhitespace(n[u])?"no_name":n[u];r.processKvp(l,a,o)}})},l}(r.BaseImporter);l.OnePassword1PifImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(39),a=e(1036),s=["ainfo","autosubmit","notesPlain","ps","scope","tags","title","uuid"],c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.title)){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.notesPlain,"")+"\n",l.isNullOrWhitespace(n.number)||l.isNullOrWhitespace(n["expiry date"])||(t.type=i.CipherType.Card,t.card=new a.CardView);var u=null;for(var r in n)if(n.hasOwnProperty(r)&&!l.isNullOrWhitespace(n[r])){if(t.type===i.CipherType.Login){if(l.isNullOrWhitespace(t.login.password)&&"password"===r){t.login.password=n[r];continue}if(l.isNullOrWhitespace(t.login.username)&&"username"===r){t.login.username=n[r];continue}if((null==t.login.uris||0===t.login.uri.length)&&"urls"===r){var o=n[r].split(l.newLineRegex);t.login.uris=l.makeUriArray(o);continue}}else if(t.type===i.CipherType.Card){if(l.isNullOrWhitespace(t.card.number)&&"number"===r){t.card.number=n[r],t.card.brand=l.getCardBrand(n.number);continue}if(l.isNullOrWhitespace(t.card.code)&&"verification number"===r){t.card.code=n[r];continue}if(l.isNullOrWhitespace(t.card.cardholderName)&&"cardholder name"===r){t.card.cardholderName=n[r];continue}if(l.isNullOrWhitespace(t.card.expiration)&&"expiry date"===r&&6===n[r].length){t.card.expMonth=n[r].substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),t.card.expYear=n[r].substr(0,4);continue}if("type"===r)continue}-1!==s.indexOf(r)||r.startsWith("section:")||(null==u&&"email"===r&&(u=n[r]),l.processKvp(t,r,n[r]))}t.type===i.CipherType.Login&&!l.isNullOrWhitespace(u)&&l.isNullOrWhitespace(t.login.username)&&-1===u.indexOf("://")&&(t.login.username=u),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.OnePasswordWinCsvImporter=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(593);l.AttachmentView=t.AttachmentView;var u=e(89);l.CardView=u.CardView;var r=e(136);l.CipherView=r.CipherView;var o=e(196);l.FieldView=o.FieldView;var i=e(171);l.IdentityView=i.IdentityView;var a=e(235);l.LoginUriView=a.LoginUriView;var s=e(146);l.LoginView=s.LoginView;var c=e(90);l.SecureNoteView=c.SecureNoteView;var d=e(1037);l.View=d.View},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.View=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(148),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=null;return t.forEach(function(n){if(null!=u){if(!(n.length<2||n.length!==u.length)){if(!l.isNullOrWhitespace(n[1]))if(l.organization){(t=n[1].split(",")).forEach(function(n){n=n.trim();for(var l=!0,t=e.collections.length,u=0;u0?t[0].trim():null;l.processFolder(e,r)}var o=l.initLoginCipher();o.name=l.getValueOrDefault(n[0],"--");for(var a=2;a-1?o.login.username=n[a]:l.passwordFieldNames.indexOf(s)>-1?o.login.password=n[a]:l.uriFieldNames.indexOf(s)>-1?o.login.uris=l.makeUriArray(n[a]):l.processKvp(o,u[a],n[a]))}l.cleanupCipher(o),e.ciphers.push(o)}}else u=n.map(function(n){return n})}),e.success=!0,e},l}(r.BaseImporter);l.PadlockCsvImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.processFolder(e,l.getValue("category",n));var t=l.initLoginCipher();t.notes=l.getValue("description",n),t.name=l.getValueOrDefault(l.getValue("title",n),"--"),t.login.username=l.getValue("username",n),t.login.password=l.getValue("password",n),t.login.uris=l.makeUriArray(l.getValue("site",n)),l.processKvp(t,"Password 2",l.getValue("password2",n)),l.cleanupCipher(t),e.ciphers.push(t)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.getValue=function(n,l){return this.getValueOrDefault(l[n],this.getValueOrDefault(l[" "+n]))},l}(r.BaseImporter);l.PassKeepCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);return null==t||0===t.length?(e.success=!1,e):(t.forEach(function(n){if(null!=n.tags&&n.tags.length>0){var t=n.tags[0].text;l.processFolder(e,t)}var u=l.initLoginCipher();u.name=n.label,u.login.username=l.getValueOrDefault(n.username),l.isNullOrWhitespace(u.login.username)?u.login.username=l.getValueOrDefault(n.email):l.isNullOrWhitespace(n.email)||(u.notes="Email: "+n.email+"\n"),u.login.password=l.getValueOrDefault(n.password),u.login.uris=l.makeUriArray(n.url),u.notes+=l.getValueOrDefault(n.description,""),null!=n.otp&&(u.login.totp=l.getValueOrDefault(n.otp.secret)),null!=n.custom_fields&&n.custom_fields.forEach(function(n){switch(n.field_type){case"text":case"password":l.processKvp(u,n.label,n.value)}}),l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(r.BaseImporter);l.PassmanJsonImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(148),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.isNullOrWhitespace(n.Tags)?null:JSON.parse(n.Tags),u=null!=t&&null!=t.tags&&t.tags.length>0?t.tags.map(function(n){try{var e=JSON.parse(n);return l.getValueOrDefault(e.tag)}catch(n){}return null}).filter(function(n){return!l.isNullOrWhitespace(n)}):null;l.organization&&null!=u&&u.length>0?u.forEach(function(n){for(var l=!0,t=e.collections.length,u=0;u0&&l.processFolder(e,u[0]);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n.Notes,""),r.notes+="\n\n"+l.getValueOrDefault(n["Shared Notes"],"")+"\n",r.name=l.getValueOrDefault(n["Entry Name"],"--"),r.login.username=l.getValueOrDefault(n["User ID"]),r.login.password=l.getValueOrDefault(n.Password),r.login.uris=l.makeUriArray(n.URL),null!=n.__parsed_extra&&n.__parsed_extra.length>0&&n.__parsed_extra.forEach(function(n){l.isNullOrWhitespace(n)||(r.notes+="\n"+n)});var o=l.isNullOrWhitespace(n["Extra Fields"])?null:JSON.parse(n["Extra Fields"]),a=null!=o&&null!=o.extraFields&&o.extraFields.length>0?o.extraFields.map(function(n){try{return JSON.parse(n)}catch(n){}return null}):null;null!=a&&a.forEach(function(n){null!=n&&l.processKvp(r,n.name,n.data)}),l.cleanupCipher(r),e.ciphers.push(r)}),e.success=!0,e)},l}(r.BaseImporter);l.PasspackCsvImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<9)){var t=l.getValueOrDefault(n[8],"(None)"),u="(None)"!==t?t.split("\\").join("/"):null;l.processFolder(e,u);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n[3]),r.name=l.getValueOrDefault(n[0],"--"),r.login.username=l.getValueOrDefault(n[1]),r.login.password=l.getValueOrDefault(n[2]),r.login.uris=l.makeUriArray(n[4]),l.convertToNoteIfNeeded(r),l.cleanupCipher(r),e.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(r.BaseImporter);l.PasswordAgentCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(89),a=e(39),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name,"--"),t.login.uris=l.makeUriArray(n.login_url),null!=n.identifiers){for(var u in l.isNullOrWhitespace(n.identifiers.notes)||(t.notes=n.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===n.type&&(t.card=new i.CardView,t.type=a.CipherType.Card),n.identifiers)if(n.identifiers.hasOwnProperty(u)){var r=n.identifiers[u],o=null!=r?r.toString():null;if(!l.isNullOrWhitespace(o)&&"notes"!==u&&"ignoreItemInSecurityScore"!==u){if(t.type===a.CipherType.Card){if("cardNumber"===u){t.card.number=o,t.card.brand=l.getCardBrand(o);continue}if("nameOnCard"===u){t.card.cardholderName=o;continue}if("security_code"===u){t.card.code=o;continue}if("expires"===u){try{var s=new Date(o);t.card.expYear=s.getFullYear().toString(),t.card.expMonth=(s.getMonth()+1).toString()}catch(n){}continue}if("cardType"===u)continue}else{if("username"===u){t.login.username=o;continue}if("password"===u){t.login.password=o;continue}if((null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(u)>-1){t.login.uris=l.makeUriArray(o);continue}}l.processKvp(t,u,o)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.PasswordBossJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("PasswordManager > record");return Array.from(u).forEach(function(n){var t=l.querySelectorDirectChild(n,"Category"),u=null==t||l.isNullOrWhitespace(t.textContent)||"Unfiled"===t.textContent?null:t.textContent;l.processFolder(e,u);var r=l.querySelectorDirectChild(n,"Account-Name"),o=l.querySelectorDirectChild(n,"User-Id"),i=l.querySelectorDirectChild(n,"Password"),a=l.querySelectorDirectChild(n,"URL"),s=l.querySelectorDirectChild(n,"Notes"),c=l.initLoginCipher();c.name=null!=r?l.getValueOrDefault(r.textContent,"--"):"--",c.notes=null!=s?l.getValueOrDefault(s.textContent):"",c.login.username=null!=o?l.getValueOrDefault(o.textContent):null,c.login.password=null!=i?l.getValueOrDefault(i.textContent):null,c.login.uris=null!=a?l.makeUriArray(a.textContent):null;for(var d=[],p=1;p<=10;p++)d.push("Attribute-"+p);l.querySelectorAllDirectChild(n,d.join(",")).forEach(function(n){l.isNullOrWhitespace(n.textContent)||"null"===n.textContent||l.processKvp(c,n.tagName,n.textContent)}),l.cleanupCipher(c),e.ciphers.push(c)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.PasswordDragonXmlImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("passwordsafe");if(null==u)return e.errorMessage="Missing `passwordsafe` node.",e.success=!1,e;var r=u.getAttribute("delimiter"),i=t.querySelectorAll("passwordsafe > entry");return Array.from(i).forEach(function(n){var t=l.querySelectorDirectChild(n,"group"),u=null==t||l.isNullOrWhitespace(t.textContent)?null:t.textContent.split(".").join("/");l.processFolder(e,u);var o=l.querySelectorDirectChild(n,"title"),i=l.querySelectorDirectChild(n,"username"),a=l.querySelectorDirectChild(n,"email"),s=l.querySelectorDirectChild(n,"password"),c=l.querySelectorDirectChild(n,"url"),d=l.querySelectorDirectChild(n,"notes"),p=l.initLoginCipher();p.name=null!=o?l.getValueOrDefault(o.textContent,"--"):"--",p.notes=null!=d?l.getValueOrDefault(d.textContent,"").split(r).join("\n"):null,p.login.username=null!=i?l.getValueOrDefault(i.textContent):null,p.login.password=null!=s?l.getValueOrDefault(s.textContent):null,p.login.uris=null!=c?l.makeUriArray(c.textContent):null,l.isNullOrWhitespace(p.login.username)&&null!=a?p.login.username=l.getValueOrDefault(a.textContent):null==a||l.isNullOrWhitespace(a.textContent)||(p.notes=l.isNullOrWhitespace(p.notes)?"Email: "+a.textContent:p.notes+"\nEmail: "+a.textContent),l.cleanupCipher(p),e.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.PasswordSafeXmlImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(39),i=e(30),a=e(89),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if("true"!==n.trash){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name),t.notes=l.getValueOrDefault(n.notes),"LoginItem"===n.type)t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),t.login.username=l.getValueOrDefault(n.username);else if("CreditCardItem"===n.type){t.type=o.CipherType.Card,t.card=new a.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),t.card.code=l.getValueOrDefault(n.verification);try{var u=l.getValueOrDefault(n.expiryMonth);if(null!=u){var r=parseInt(u,null);null!=r&&r>=1&&r<=12&&(t.card.expMonth=r.toString())}}catch(n){}try{var i=l.getValueOrDefault(n.expiryYear);if(null!=i){var s=parseInt(i,null);null!=s&&(t.card.expYear=s.toString())}}catch(n){}var c=l.getValueOrDefault(n.pin);null!=c&&l.processKvp(t,"PIN",c);var d=l.getValueOrDefault(n.zipCode);null!=d&&l.processKvp(t,"Zip Code",d)}l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.RememBearCsvImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);if(null==t)return e.success=!1,e;var u=1;return t.forEach(function(n){var r=!l.isNullOrWhitespace(n.Folder)&&n.Folder.startsWith("/")?n.Folder.replace("/",""):n.Folder,o=l.isNullOrWhitespace(r)?null:r;l.processFolder(e,o);var i=l.initLoginCipher();if(i.notes=l.getValueOrDefault(n.Note),i.name=l.getValueOrDefault(n.Name,"--"),i.login.username=l.getValueOrDefault(n.Login),i.login.password=l.getValueOrDefault(n.Pwd),i.login.uris=l.makeUriArray(n.Url),!l.isNullOrWhitespace(n.Rf_fields)){var a=[n.Rf_fields];null!=n.__parsed_extra&&n.__parsed_extra.length>0&&(a=a.concat(n.__parsed_extra)),a.forEach(function(n){var e=n.split(":");if(!(e.length<3)){var t="-no-name-"===e[0]?null:e[0],u=4===e.length&&"rck"===e[2]?e[1]:e[2];l.processKvp(i,t,u)}})}l.cleanupCipher(i),u===t.length&&"--"===i.name&&l.isNullOrWhitespace(i.login.password)||(e.ciphers.push(i),u++)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.RoboFormCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(147),a=e(90),s=e(39),c=e(109),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;if(null==t.querySelector("database"))return e.errorMessage="Missing `database` node.",e.success=!1,e;var u=new Map;return Array.from(t.querySelectorAll("database > label")).forEach(function(n){var t=n.getAttribute("name"),r=n.getAttribute("id");if(!l.isNullOrWhitespace(t)&&!l.isNullOrWhitespace(r)){u.set(r,e.folders.length);var o=new i.FolderView;o.name=t,e.folders.push(o)}}),Array.from(t.querySelectorAll("database > card")).forEach(function(n){if("true"!==n.getAttribute("template")){var t=l.querySelectorDirectChild(n,"label_id");if(null!=t){var r=t.textContent;!l.isNullOrWhitespace(r)&&u.has(r)&&e.folderRelationships.push([e.ciphers.length,u.get(r)])}var o=l.initLoginCipher();o.name=l.getValueOrDefault(n.getAttribute("title"),"--"),"note"===n.getAttribute("type")?(o.type=s.CipherType.SecureNote,o.secureNote=new a.SecureNoteView,o.secureNote.type=c.SecureNoteType.Generic):Array.from(l.querySelectorAllDirectChild(n,"field")).forEach(function(n){var e=n.textContent;if(!l.isNullOrWhitespace(e)){var t=n.getAttribute("name"),u=l.getValueOrDefault(n.getAttribute("type"),"").toLowerCase();"login"===u?o.login.username=e:"password"===u?o.login.password=e:"notes"===u?o.notes+=e+"\n":"weblogin"===u||"website"===u?o.login.uris=l.makeUriArray(e):l.processKvp(o,t,e)}}),Array.from(l.querySelectorAllDirectChild(n,"notes")).forEach(function(n){o.notes+=n.textContent+"\n"}),l.cleanupCipher(o),e.ciphers.push(o)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.SafeInCloudXmlImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.url),"--"),t.notes=l.getValueOrDefault(n.notes),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.SaferPassCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){l.processFolder(e,l.getValueOrDefault(n[n.length-1]));var t=l.initLoginCipher();t.notes=l.getValueOrDefault(n[n.length-2],""),t.name=l.getValueOrDefault(n[1],"--"),"Web Logins"===n[0]||"Servers"===n[0]||"Email Accounts"===n[0]?(t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),l.parseFieldsToNotes(t,5,n)):l.parseFieldsToNotes(t,2,n),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseFieldsToNotes=function(n,l,e){for(var t=l;t Database > Logins > Login");return Array.from(u).forEach(function(n){var u=n.getAttribute("ID");if(!l.isNullOrWhitespace(u)){var r=n.getAttribute("Name"),o=n.getAttribute("Password"),i=null,a=null,s=null,c=null,d=null,p=t.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+u+'"]');if(null!=p){var f=p.parentElement.parentElement;null!=f&&(i=f.getAttribute("Name"),a=f.getAttribute("Link"),c=f.getAttribute("ParentID"),s=f.getAttribute("Comments"),l.isNullOrWhitespace(s)||(s=s.split("/n").join("\n")))}l.isNullOrWhitespace(c)||(d=l.buildGroupText(t,c,""),l.processFolder(e,d));var v=l.initLoginCipher();v.name=l.getValueOrDefault(i,"--"),v.notes=l.getValueOrDefault(s),v.login.username=l.getValueOrDefault(r),v.login.password=l.getValueOrDefault(o),v.login.uris=l.makeUriArray(a),l.cleanupCipher(v),e.ciphers.push(v)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l.prototype.buildGroupText=function(n,l,e){var t=n.querySelector('root > Database > Groups > Group[ID="'+l+'"]');return null==t?e:(this.isNullOrWhitespace(e)||(e="/"+e),e=t.getAttribute("Name")+e,this.buildGroupText(n,t.getAttribute("ParentID"),e))},l}(r.BaseImporter);l.StickyPasswordXmlImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=e(89),a=e(90),s=e(39),c=e(109),d=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],p=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.favorite="true"===l.getValueOrDefault(n.favorite,"").toLowerCase(),t.name=l.getValueOrDefault(n.name,"--"),t.notes=l.getValueOrDefault(n.memo,""),t.login.username=l.getValueOrDefault(n.login),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),"login"!==n.kind&&(t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.note,"")),"cc"===n.kind){if(t.type=s.CipherType.Card,t.card=new i.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),!l.isNullOrWhitespace(n.expiryDate))try{var u=new Date(n.expiryDate);t.card.expYear=u.getFullYear().toString(),t.card.expMonth=(u.getMonth()+1).toString()}catch(n){}}else if("login"!==n.kind)for(var r in t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=c.SecureNoteType.Generic,l.isNullOrWhitespace(t.notes)||(t.notes=l.getValueOrDefault(n.document_content,"")),n)n.hasOwnProperty(r)&&d.indexOf(r.toLowerCase())<0&&!l.isNullOrWhitespace(n[r])&&l.processKvp(t,r,n[r]);l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.TrueKeyCsvImporter=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(5===n.length){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n[0],"--"),t.notes=l.getValueOrDefault(n[4]),t.login.username=l.getValueOrDefault(n[1]),t.login.password=l.getValueOrDefault(n[2]),t.login.uris=l.makeUriArray(n[3]),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.UpmCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(29),o=e(30),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n["Secret Name"])){l.processFolder(e,l.getValueOrDefault(n.ChamberName));var t=l.initLoginCipher();t.favorite="1"===l.getValueOrDefault(n.Favorite,"0"),t.notes=l.getValueOrDefault(n.Notes),t.name=l.getValueOrDefault(n["Secret Name"],"--"),t.login.uris=l.makeUriArray(n["Secret URL"]),l.parseData(t,n.SecretData),l.parseData(t,n.CustomData),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseData=function(n,l){var e=this;this.isNullOrWhitespace(l)||this.splitNewLine(l).forEach(function(l){var t=l.indexOf(":");if(!(t<0)){var u=l.substring(0,t),r=l.length>t?l.substring(t+1):null;if(!e.isNullOrWhitespace(u)&&!e.isNullOrWhitespace(r)&&"SecretType"!==u){var o=u.toLowerCase();null==n.login.username&&e.usernameFieldNames.indexOf(o)>-1?n.login.username=r:null==n.login.password&&e.passwordFieldNames.indexOf(o)>-1?n.login.password=r:e.processKvp(n,u,r)}}})},l}(r.BaseImporter);l.ZohoVaultCsvImporter=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]"))},n.prototype.indexCiphers=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return this.indexing?[2]:(console.time("search indexing"),this.indexing=!0,this.index=null,(n=new r.Builder).ref("id"),n.field("shortid",{boost:100,extractor:function(n){return n.id.substr(0,8)}}),n.field("name",{boost:10}),n.field("subtitle",{boost:5,extractor:function(n){return null!=n.subTitle&&n.type===o.CipherType.Card?n.subTitle.replace(/\*/g,""):n.subTitle}}),n.field("notes"),n.field("login.username",{extractor:function(n){return n.type===o.CipherType.Login&&null!=n.login?n.login.username:null}}),n.field("login.uris",{boost:2,extractor:function(n){return l.uriExtractor(n)}}),n.field("fields",{extractor:function(n){return l.fieldExtractor(n,!1)}}),n.field("fields_joined",{extractor:function(n){return l.fieldExtractor(n,!0)}}),n.field("attachments",{extractor:function(n){return l.attachmentExtractor(n,!1)}}),n.field("attachments_joined",{extractor:function(n){return l.attachmentExtractor(n,!0)}}),n.field("organizationid",{extractor:function(n){return n.organizationId}}),[4,this.cipherService.getAllDecrypted()]);case 1:return e.sent().forEach(function(l){return n.add(l)}),this.index=n.build(),this.indexing=!1,console.timeEnd("search indexing"),[2]}})})},n.prototype.searchCiphers=function(n,l,e){return void 0===l&&(l=null),void 0===e&&(e=null),t(this,void 0,void 0,function(){var t,o,i,a,s;return u(this,function(u){switch(u.label){case 0:return t=[],null!=n&&(n=n.trim().toLowerCase()),""===n&&(n=null),null!=e?[3,2]:[4,this.cipherService.getAllDecrypted()];case 1:e=u.sent(),u.label=2;case 2:if(null!=l&&(e=e.filter(l)),!this.isSearchable(n))return[2,e];if(null==(o=this.getIndexForSearch()))return[2,this.searchCiphersBasic(e,n)];if(i=new Map,e.forEach(function(n){return i.set(n.id,n)}),a=null,null!=n&&n.length>1&&0===n.indexOf(">"))try{a=o.search(n.substr(1).trim())}catch(n){}else s=r.Query.wildcard.LEADING|r.Query.wildcard.TRAILING,a=o.query(function(l){r.tokenizer(n).forEach(function(n){var e=n.toString();l.term(e,{fields:["name"],wildcard:s}),l.term(e,{fields:["subtitle"],wildcard:s}),l.term(e,{fields:["login.uris"],wildcard:s}),l.term(e,{})})});return null!=a&&a.forEach(function(n){i.has(n.ref)&&t.push(i.get(n.ref))}),[2,t]}})})},n.prototype.searchCiphersBasic=function(n,l){var e=this;return l=l.trim().toLowerCase(),n.filter(function(n){return null!=n.name&&n.name.toLowerCase().indexOf(l)>-1||!e.onlySearchName&&(!!(l.length>=8&&n.id.startsWith(l))||(null!=n.subTitle&&n.subTitle.toLowerCase().indexOf(l)>-1||!!(n.login&&null!=n.login.uri&&n.login.uri.toLowerCase().indexOf(l)>-1)))})},n.prototype.getIndexForSearch=function(){return this.index},n.prototype.fieldExtractor=function(n,l){if(!n.hasFields)return null;var e=[];return n.fields.forEach(function(n){null!=n.name&&e.push(n.name),n.type===a.FieldType.Text&&null!=n.value&&e.push(n.value)}),0===(e=e.filter(function(n){return""!==n.trim()})).length?null:l?e.join(" "):e},n.prototype.attachmentExtractor=function(n,l){if(!n.hasAttachments)return null;var e=[];return n.attachments.forEach(function(n){null!=n&&null!=n.fileName&&(l&&n.fileName.indexOf(".")>-1?e.push(n.fileName.substr(0,n.fileName.lastIndexOf("."))):e.push(n.fileName))}),0===(e=e.filter(function(n){return""!==n.trim()})).length?null:l?e.join(" "):e},n.prototype.uriExtractor=function(n){if(n.type!==o.CipherType.Login||null==n.login||!n.login.hasUris)return null;var l=[];return n.login.uris.forEach(function(n){if(null!=n.uri&&""!==n.uri)if(null==n.hostname){var e=n.uri;if(n.match!==s.UriMatchType.RegularExpression){var t=e.indexOf("://");t>-1&&(e=e.substr(t+3));var u=e.search(/\?|&|#/);u>-1&&(e=e.substring(0,u))}l.push(e)}else l.push(n.hostname)}),l.length>0?l:null},n}();l.SearchService=c},,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1||e.indexOf(" Version/9.")>-1)}return n.prototype.pbkdf2=function(n,l,e,i){return t(this,void 0,void 0,function(){var t,a,s,c,d,p,f,v,h;return u(this,function(u){switch(u.label){case 0:return this.isEdge||this.isIE||this.isOldSafari?(t="sha256"===e?32:64,a=this.toByteString(n),s=this.toByteString(l),c=r.pbkdf2(a,s,i,t,e),[2,o.Utils.fromByteStringToArray(c).buffer]):(d="sha256"===e?256:512,p=this.toBuf(n),f=this.toBuf(l),v={name:"PBKDF2",salt:f,iterations:i,hash:{name:this.toWebCryptoAlgorithm(e)}},[4,this.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveBits"])]);case 1:return h=u.sent(),[4,this.subtle.deriveBits(v,h,d)];case 2:return[2,u.sent()]}})})},n.prototype.hash=function(n,l){return t(this,void 0,void 0,function(){var e,t,i;return u(this,function(u){switch(u.label){case 0:return(this.isEdge||this.isIE)&&"sha1"===l||"md5"===l?(e="md5"===l?r.md.md5.create():r.md.sha1.create(),t=this.toByteString(n),e.update(t,"raw"),[2,o.Utils.fromByteStringToArray(e.digest().data).buffer]):(i=this.toBuf(n),[4,this.subtle.digest({name:this.toWebCryptoAlgorithm(l)},i)]);case 1:return[2,u.sent()]}})})},n.prototype.hmac=function(n,l,e){return t(this,void 0,void 0,function(){var t,i,a,s,c;return u(this,function(u){switch(u.label){case 0:return this.isIE&&"sha512"===e?(t=r.hmac.create(),i=this.toByteString(l),a=this.toByteString(n),t.start(e,i),t.update(a,"raw"),[2,o.Utils.fromByteStringToArray(t.digest().data).buffer]):(s={name:"HMAC",hash:{name:this.toWebCryptoAlgorithm(e)}},[4,this.subtle.importKey("raw",l,s,!1,["sign"])]);case 1:return c=u.sent(),[4,this.subtle.sign(s,c,n)];case 2:return[2,u.sent()]}})})},n.prototype.compare=function(n,l){return t(this,void 0,void 0,function(){var e,t,r,o,i,a,s,c;return u(this,function(u){switch(u.label){case 0:return[4,this.randomBytes(32)];case 1:return e=u.sent(),t={name:"HMAC",hash:{name:"SHA-256"}},[4,this.subtle.importKey("raw",e,t,!1,["sign"])];case 2:return r=u.sent(),[4,this.subtle.sign(t,r,n)];case 3:return o=u.sent(),[4,this.subtle.sign(t,r,l)];case 4:if(i=u.sent(),o.byteLength!==i.byteLength)return[2,!1];for(a=new Uint8Array(o),s=new Uint8Array(i),c=0;c string;\r\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KdfRequest } from '../models/request/kdfRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { PreloginRequest } from '../models/request/preloginRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { PreloginResponse } from '../models/response/preloginResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\r\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport {\r\n ChallengeResponse,\r\n TwoFactorU2fResponse,\r\n} from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport abstract class ApiService {\r\n urlsSet: boolean;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n setUrls: (urls: EnvironmentUrls) => void;\r\n postIdentityToken: (request: TokenRequest) => Promise;\r\n refreshIdentityToken: () => Promise;\r\n\r\n getProfile: () => Promise;\r\n getUserBilling: () => Promise;\r\n getUserSubscription: () => Promise;\r\n putProfile: (request: UpdateProfileRequest) => Promise;\r\n postPrelogin: (request: PreloginRequest) => Promise;\r\n postEmailToken: (request: EmailTokenRequest) => Promise;\r\n postEmail: (request: EmailRequest) => Promise;\r\n postPassword: (request: PasswordRequest) => Promise;\r\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\r\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\r\n getAccountRevisionDate: () => Promise;\r\n postPasswordHint: (request: PasswordHintRequest) => Promise;\r\n postRegister: (request: RegisterRequest) => Promise;\r\n postPremium: (data: FormData) => Promise;\r\n postReinstatePremium: () => Promise;\r\n postCancelPremium: () => Promise;\r\n postAccountStorage: (request: StorageRequest) => Promise;\r\n postAccountPayment: (request: PaymentRequest) => Promise;\r\n postAccountLicense: (data: FormData) => Promise;\r\n postAccountKey: (request: UpdateKeyRequest) => Promise;\r\n postAccountKeys: (request: KeysRequest) => Promise;\r\n postAccountVerifyEmail: () => Promise;\r\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\r\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\r\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\r\n postAccountKdf: (request: KdfRequest) => Promise;\r\n\r\n getFolder: (id: string) => Promise;\r\n postFolder: (request: FolderRequest) => Promise;\r\n putFolder: (id: string, request: FolderRequest) => Promise;\r\n deleteFolder: (id: string) => Promise;\r\n\r\n getCipher: (id: string) => Promise;\r\n getCipherAdmin: (id: string) => Promise;\r\n getCiphersOrganization: (organizationId: string) => Promise>;\r\n postCipher: (request: CipherRequest) => Promise;\r\n postCipherCreate: (request: CipherCreateRequest) => Promise;\r\n postCipherAdmin: (request: CipherCreateRequest) => Promise;\r\n putCipher: (id: string, request: CipherRequest) => Promise;\r\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\r\n deleteCipher: (id: string) => Promise;\r\n deleteCipherAdmin: (id: string) => Promise;\r\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\r\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\r\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\r\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\r\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\r\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\r\n postPurgeCiphers: (request: PasswordVerificationRequest, organizationId?: string) => Promise;\r\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\r\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\r\n\r\n postCipherAttachment: (id: string, data: FormData) => Promise;\r\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\r\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\r\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\r\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\r\n organizationId: string) => Promise;\r\n\r\n getCollectionDetails: (organizationId: string, id: string) => Promise;\r\n getUserCollections: () => Promise>;\r\n getCollections: (organizationId: string) => Promise>;\r\n getCollectionUsers: (organizationId: string, id: string) => Promise;\r\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\r\n putCollectionUsers: (organizationId: string, id: string, request: SelectionReadOnlyRequest[]) => Promise;\r\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\r\n deleteCollection: (organizationId: string, id: string) => Promise;\r\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getGroupDetails: (organizationId: string, id: string) => Promise;\r\n getGroups: (organizationId: string) => Promise>;\r\n getGroupUsers: (organizationId: string, id: string) => Promise;\r\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\r\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\r\n putGroupUsers: (organizationId: string, id: string, request: string[]) => Promise;\r\n deleteGroup: (organizationId: string, id: string) => Promise;\r\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getOrganizationUser: (organizationId: string, id: string) => Promise;\r\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\r\n getOrganizationUsers: (organizationId: string) => Promise>;\r\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\r\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\r\n postOrganizationUserAccept: (organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest) => Promise;\r\n postOrganizationUserConfirm: (organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest) => Promise;\r\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\r\n putOrganizationUserGroups: (organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest) => Promise;\r\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\r\n\r\n getSync: () => Promise;\r\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\r\n\r\n getSettingsDomains: () => Promise;\r\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\r\n\r\n getTwoFactorProviders: () => Promise>;\r\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\r\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorOrganizationDuo: (organizationId: string,\r\n request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorU2fChallenge: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\r\n putTwoFactorAuthenticator: (\r\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\r\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\r\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorOrganizationDuo: (organizationId: string,\r\n request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\r\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\r\n deleteTwoFactorU2f: (request: UpdateTwoFactorU2fDeleteRequest) => Promise;\r\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\r\n putTwoFactorOrganizationDisable: (organizationId: string,\r\n request: TwoFactorProviderRequest) => Promise;\r\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\r\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\r\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\r\n\r\n getOrganization: (id: string) => Promise;\r\n getOrganizationBilling: (id: string) => Promise;\r\n getOrganizationSubscription: (id: string) => Promise;\r\n getOrganizationLicense: (id: string, installationId: string) => Promise;\r\n postOrganization: (request: OrganizationCreateRequest) => Promise;\r\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\r\n postLeaveOrganization: (id: string) => Promise;\r\n postOrganizationLicense: (data: FormData) => Promise;\r\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\r\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\r\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\r\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\r\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\r\n postOrganizationCancel: (id: string) => Promise;\r\n postOrganizationReinstate: (id: string) => Promise;\r\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\r\n\r\n getEvents: (start: string, end: string, token: string) => Promise>;\r\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\r\n getEventsOrganization: (id: string, start: string, end: string,\r\n token: string) => Promise>;\r\n getEventsOrganizationUser: (organizationId: string, id: string,\r\n start: string, end: string, token: string) => Promise>;\r\n\r\n getUserPublicKey: (id: string) => Promise;\r\n\r\n getHibpBreach: (username: string) => Promise;\r\n\r\n postBitPayInvoice: (request: BitPayInvoiceRequest) => Promise;\r\n\r\n getActiveBearerToken: () => Promise;\r\n fetch: (request: Request) => Promise;\r\n}\r\n","import { DeviceType } from '../enums/deviceType';\r\n\r\nexport abstract class PlatformUtilsService {\r\n identityClientId: string;\r\n getDevice: () => DeviceType;\r\n getDeviceString: () => string;\r\n isFirefox: () => boolean;\r\n isChrome: () => boolean;\r\n isEdge: () => boolean;\r\n isOpera: () => boolean;\r\n isVivaldi: () => boolean;\r\n isSafari: () => boolean;\r\n isIE: () => boolean;\r\n isMacAppStore: () => boolean;\r\n analyticsId: () => string;\r\n isViewOpen: () => boolean;\r\n lockTimeout: () => number;\r\n launchUri: (uri: string, options?: any) => void;\r\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\r\n getApplicationVersion: () => string;\r\n supportsU2f: (win: Window) => boolean;\r\n supportsDuo: () => boolean;\r\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\r\n options?: any) => void;\r\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\r\n type?: string) => Promise;\r\n eventTrack: (action: string, label?: string, options?: any) => void;\r\n isDev: () => boolean;\r\n isSelfHost: () => boolean;\r\n copyToClipboard: (text: string, options?: any) => void;\r\n readFromClipboard: (options?: any) => Promise;\r\n}\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\r\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\r\n@Pipe({\n name: 'i18n',\n})\r\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\r\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.i18nService.t(id, p1, p2, p3);\r\n }\r\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class UserService {\n setInformation: (userId: string, email: string, kdf: KdfType, kdfIterations: number) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n getKdf: () => Promise;\n getKdfIterations: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n canAccessPremium: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { ErrorResponse } from '../../models/response/errorResponse';\n\n@Injectable()\nexport class ValidationService {\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n let errors: string[] = [];\n\n if (data != null && typeof data === 'string') {\n errors.push(data);\n } else if (data == null || typeof data !== 'object') {\n errors.push(defaultErrorMessage);\n } else if (data.validationErrors != null) {\n errors = errors.concat((data as ErrorResponse).getAllMessages());\n } else {\n errors.push(data.message ? data.message : defaultErrorMessage);\n }\n\n if (errors.length === 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors[0]);\n } else if (errors.length > 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors, {\n timeout: 5000 * errors.length,\n });\n }\n\n return errors;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\r\n\r\n@Directive({\r\n selector: '[appApiAction]',\r\n})\r\nexport class ApiActionDirective implements OnChanges {\r\n @Input() appApiAction: Promise;\n\n constructor(private el: ElementRef, private validationService: ValidationService) { }\n\n ngOnChanges(changes: any) {\n if (this.appApiAction == null || this.appApiAction.then == null) {\r\n return;\r\n }\n\n this.el.nativeElement.loading = true;\n\r\n this.appApiAction.then((response: any) => {\n this.el.nativeElement.loading = false;\n }, (e: any) => {\n this.el.nativeElement.loading = false;\n this.validationService.showError(e);\n });\r\n }\r\n}\n","export abstract class MessagingService {\r\n send: (subscriber: string, arg?: any) => void;\r\n}\r\n","import { CipherType } from '../enums/cipherType';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { Field } from '../models/domain/field';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { AttachmentView } from '../models/view/attachmentView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FieldView } from '../models/view/fieldView';\r\n\r\nexport abstract class CipherService {\r\n decryptedCipherCache: CipherView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: CipherView, key?: SymmetricCryptoKey, originalCipher?: Cipher) => Promise;\r\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\r\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\r\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[]) => Promise;\r\n getAllFromApiForOrganization: (organizationId: string) => Promise;\r\n getLastUsedForUrl: (url: string) => Promise;\r\n updateLastUsedDate: (id: string) => Promise;\r\n saveNeverDomain: (domain: string) => Promise;\r\n saveWithServer: (cipher: Cipher) => Promise;\r\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\r\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\r\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\r\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\r\n admin?: boolean) => Promise;\r\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\r\n upsert: (cipher: CipherData | CipherData[]) => Promise;\r\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n deleteWithServer: (id: string) => Promise;\r\n deleteManyWithServer: (ids: string[]) => Promise;\r\n deleteAttachment: (id: string, attachmentId: string) => Promise;\r\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\r\n sortCiphersByLastUsed: (a: any, b: any) => number;\r\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\r\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class CryptoService {\n setKey: (key: SymmetricCryptoKey) => Promise;\n setKeyHash: (keyHash: string) => Promise<{}>;\n setEncKey: (encKey: string) => Promise<{}>;\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\n getKey: () => Promise;\n getKeyHash: () => Promise;\n getEncKey: () => Promise;\n getPublicKey: () => Promise;\n getPrivateKey: () => Promise;\n getFingerprint: (userId: string, publicKey?: ArrayBuffer) => Promise;\n getOrgKeys: () => Promise>;\n getOrgKey: (orgId: string) => Promise;\n hasKey: () => Promise;\n hasEncKey: () => Promise;\n clearKey: () => Promise;\n clearKeyHash: () => Promise;\n clearEncKey: (memoryOnly?: boolean) => Promise;\n clearKeyPair: (memoryOnly?: boolean) => Promise;\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\n clearPinProtectedKey: () => Promise;\n clearKeys: () => Promise;\n toggleKey: () => Promise;\n makeKey: (password: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeKeyFromPin: (pin: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\n makePinKey: (pin: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n remakeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer) => Promise;\n decryptToBytes: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\n randomNumber: (min: number, max: number) => Promise;\n}\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-callout',\r\n templateUrl: 'callout.component.html',\r\n})\r\nexport class CalloutComponent implements OnInit {\r\n @Input() type = 'info';\r\n @Input() icon: string;\r\n @Input() title: string;\r\n\r\n calloutStyle: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnInit() {\r\n this.calloutStyle = this.type;\r\n\r\n if (this.type === 'warning' || this.type === 'danger') {\r\n if (this.type === 'danger') {\r\n this.calloutStyle = 'danger';\r\n }\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('warning');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-warning';\r\n }\r\n } else if (this.type === 'error') {\r\n this.calloutStyle = 'danger';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('error');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-bolt';\r\n }\r\n } else if (this.type === 'tip') {\r\n this.calloutStyle = 'success';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('tip');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-lightbulb-o';\r\n }\r\n }\r\n }\r\n}\r\n","import * as papa from 'papaparse';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { LoginUriView } from '../models/view/loginUriView';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport abstract class BaseImporter {\r\n organization = false;\r\n\r\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\r\n\r\n protected passwordFieldNames = [\r\n 'password', 'pass word', 'passphrase', 'pass phrase',\r\n 'pass', 'code', 'code word', 'codeword',\r\n 'secret', 'secret word', 'personpwd',\r\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\r\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\r\n 'p', 'serial', 'serial#', 'license key', 'reg #',\r\n\r\n // Non-English names\r\n 'passwort',\r\n ];\r\n\r\n protected usernameFieldNames = [\r\n 'user', 'name', 'user name', 'username', 'login name',\r\n 'email', 'e-mail', 'id', 'userid', 'user id',\r\n 'login', 'form_loginname', 'wpname', 'mail',\r\n 'loginid', 'login id', 'log', 'personlogin',\r\n 'first name', 'last name', 'card#', 'account #',\r\n 'member', 'member #',\r\n\r\n // Non-English names\r\n 'nom', 'benutzername',\r\n ];\r\n\r\n protected notesFieldNames = [\r\n 'note', 'notes', 'comment', 'comments', 'memo',\r\n 'description', 'free form', 'freeform',\r\n 'free text', 'freetext', 'free',\r\n\r\n // Non-English names\r\n 'kommentar',\r\n ];\r\n\r\n protected uriFieldNames: string[] = [\r\n 'url', 'hyper link', 'hyperlink', 'link',\r\n 'host', 'hostname', 'host name', 'server', 'address',\r\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\r\n 'web-site', 'uri',\r\n\r\n // Non-English names\r\n 'ort', 'adresse',\r\n ];\r\n\r\n protected parseXml(data: string): Document {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(data, 'application/xml');\r\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\r\n }\r\n\r\n protected parseCsv(data: string, header: boolean): any[] {\r\n data = this.splitNewLine(data).join('\\n').trim();\r\n const result = papa.parse(data, {\r\n header: header,\r\n encoding: 'UTF-8',\r\n skipEmptyLines: false,\r\n });\r\n if (result.errors != null && result.errors.length > 0) {\r\n result.errors.forEach((e) => {\r\n if (e.row != null) {\r\n // tslint:disable-next-line\r\n console.warn('Error parsing row ' + e.row + ': ' + e.message);\r\n }\r\n });\r\n }\r\n return result.data && result.data.length > 0 ? result.data : null;\r\n }\r\n\r\n protected parseSingleRowCsv(rowData: string) {\r\n if (this.isNullOrWhitespace(rowData)) {\r\n return null;\r\n }\r\n const parsedRow = this.parseCsv(rowData, false);\r\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\r\n return parsedRow[0];\r\n }\r\n return null;\r\n }\r\n\r\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\r\n if (uri == null) {\r\n return null;\r\n }\r\n\r\n if (typeof uri === 'string') {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(uri);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return null;\r\n }\r\n loginUri.match = null;\r\n return [loginUri];\r\n }\r\n\r\n if (uri.length > 0) {\r\n const returnArr: LoginUriView[] = [];\r\n uri.forEach((u) => {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(u);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return;\r\n }\r\n loginUri.match = null;\r\n returnArr.push(loginUri);\r\n });\r\n return returnArr.length === 0 ? null : returnArr;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected fixUri(uri: string) {\r\n if (uri == null) {\r\n return null;\r\n }\r\n uri = uri.toLowerCase().trim();\r\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\r\n uri = 'http://' + uri;\r\n }\r\n if (uri.length > 1000) {\r\n return uri.substring(0, 1000);\r\n }\r\n return uri;\r\n }\r\n\r\n protected nameFromUrl(url: string) {\r\n const hostname = Utils.getHostname(url);\r\n if (this.isNullOrWhitespace(hostname)) {\r\n return null;\r\n }\r\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\r\n }\r\n\r\n protected isNullOrWhitespace(str: string): boolean {\r\n return Utils.isNullOrWhitespace(str);\r\n }\r\n\r\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\r\n if (this.isNullOrWhitespace(str)) {\r\n return defaultValue;\r\n }\r\n return str;\r\n }\r\n\r\n protected splitNewLine(str: string): string[] {\r\n return str.split(this.newLineRegex);\r\n }\r\n\r\n // ref https://stackoverflow.com/a/5911300\r\n protected getCardBrand(cardNum: string) {\r\n if (this.isNullOrWhitespace(cardNum)) {\r\n return null;\r\n }\r\n\r\n // Visa\r\n let re = new RegExp('^4');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n // Mastercard\r\n // Updated for Mastercard 2017 BINs expansion\r\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\r\n .test(cardNum)) {\r\n return 'Mastercard';\r\n }\r\n\r\n // AMEX\r\n re = new RegExp('^3[47]');\r\n if (cardNum.match(re) != null) {\r\n return 'Amex';\r\n }\r\n\r\n // Discover\r\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\r\n if (cardNum.match(re) != null) {\r\n return 'Discover';\r\n }\r\n\r\n // Diners\r\n re = new RegExp('^36');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // Diners - Carte Blanche\r\n re = new RegExp('^30[0-5]');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // JCB\r\n re = new RegExp('^35(2[89]|[3-8][0-9])');\r\n if (cardNum.match(re) != null) {\r\n return 'JCB';\r\n }\r\n\r\n // Visa Electron\r\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected setCardExpiration(cipher: CipherView, expiration: string): boolean {\r\n if (!this.isNullOrWhitespace(expiration)) {\r\n const parts = expiration.split('/');\r\n if (parts.length === 2) {\r\n let month: string = null;\r\n let year: string = null;\r\n if (parts[0].length === 1 || parts[0].length === 2) {\r\n month = parts[0];\r\n if (month.length === 2 && month[0] === '0') {\r\n month = month.substr(1, 1);\r\n }\r\n }\r\n if (parts[1].length === 2 || parts[1].length === 4) {\r\n year = month.length === 2 ? '20' + parts[1] : parts[1];\r\n }\r\n if (month != null && year != null) {\r\n cipher.card.expMonth = month;\r\n cipher.card.expYear = year;\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n protected moveFoldersToCollections(result: ImportResult) {\r\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\r\n result.collections = result.folders.map((f) => {\r\n const collection = new CollectionView();\r\n collection.name = f.name;\r\n return collection;\r\n });\r\n result.folderRelationships = [];\r\n result.folders = [];\r\n }\r\n\r\n protected querySelectorDirectChild(parentEl: Element, query: string) {\r\n const els = this.querySelectorAllDirectChild(parentEl, query);\r\n return els.length === 0 ? null : els[0];\r\n }\r\n\r\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\r\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\r\n }\r\n\r\n protected initLoginCipher() {\r\n const cipher = new CipherView();\r\n cipher.favorite = false;\r\n cipher.notes = '';\r\n cipher.fields = [];\r\n cipher.login = new LoginView();\r\n cipher.type = CipherType.Login;\r\n return cipher;\r\n }\r\n\r\n protected cleanupCipher(cipher: CipherView) {\r\n if (cipher == null) {\r\n return;\r\n }\r\n if (cipher.type !== CipherType.Login) {\r\n cipher.login = null;\r\n }\r\n if (this.isNullOrWhitespace(cipher.name)) {\r\n cipher.name = '--';\r\n }\r\n if (this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes = null;\r\n } else {\r\n cipher.notes = cipher.notes.trim();\r\n }\r\n if (cipher.fields != null && cipher.fields.length === 0) {\r\n cipher.fields = null;\r\n }\r\n }\r\n\r\n protected processKvp(cipher: CipherView, key: string, value: string) {\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n if (this.isNullOrWhitespace(key)) {\r\n key = '';\r\n }\r\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\r\n if (cipher.notes == null) {\r\n cipher.notes = '';\r\n }\r\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\r\n } else {\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n const field = new FieldView();\r\n field.type = FieldType.Text;\r\n field.name = key;\r\n field.value = value;\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n protected processFolder(result: ImportResult, folderName: string) {\r\n let folderIndex = result.folders.length;\r\n const hasFolder = !this.isNullOrWhitespace(folderName);\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === folderName) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = folderName;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\r\n }\r\n }\r\n\r\n protected convertToNoteIfNeeded(cipher: CipherView) {\r\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\r\n this.isNullOrWhitespace(cipher.login.password) &&\r\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n }\r\n }\r\n}\r\n","import { CipherView } from '../view/cipherView';\nimport { CollectionView } from '../view/collectionView';\nimport { FolderView } from '../view/folderView';\n\nexport class ImportResult {\n success = false;\n errorMessage: string;\n ciphers: CipherView[] = [];\n folders: FolderView[] = [];\n folderRelationships: Array<[number, number]> = [];\n collections: CollectionView[] = [];\n collectionRelationships: Array<[number, number]> = [];\n}\n","
\n

\n \n {{title}}\n

\n \n
\n","export abstract class StateService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n purge: () => Promise;\r\n}\r\n","export abstract class BaseResponse {\n protected response: any;\n\n constructor(response: any) {\n this.response = response;\n }\n\n protected getResponseProperty(propertyName: string, response: any = null, exactName = false): any {\n if (propertyName == null || propertyName === '') {\n throw new Error('propertyName must not be null/empty.');\n }\n if (response == null && this.response != null) {\n response = this.response;\n }\n if (response == null) {\n return null;\n }\n if (!exactName && response[propertyName] === undefined) {\n let otherCasePropertyName: string = null;\n if (propertyName.charAt(0) === propertyName.charAt(0).toUpperCase()) {\n otherCasePropertyName = propertyName.charAt(0).toLowerCase();\n } else {\n otherCasePropertyName = propertyName.charAt(0).toUpperCase();\n }\n if (propertyName.length > 1) {\n otherCasePropertyName += propertyName.slice(1);\n }\n\n propertyName = otherCasePropertyName;\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toLowerCase();\n }\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toUpperCase();\n }\n }\n return response[propertyName];\n }\n}\n","import * as tldjs from 'tldjs';\r\n\r\nimport { I18nService } from '../abstractions/i18n.service';\r\n\r\n// tslint:disable-next-line\r\nconst nodeURL = typeof window === 'undefined' ? require('url') : null;\r\n\r\nexport class Utils {\r\n static inited = false;\r\n static isNativeScript = false;\r\n static isNode = false;\r\n static isBrowser = true;\r\n static isMobileBrowser = false;\r\n static global: any = null;\r\n static tldEndingRegex = /.*\\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/;\r\n\r\n static init() {\r\n if (Utils.inited) {\r\n return;\r\n }\r\n\r\n Utils.inited = true;\r\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\r\n (process as any).release.name === 'node';\r\n Utils.isBrowser = typeof window !== 'undefined';\r\n Utils.isNativeScript = !Utils.isNode && !Utils.isBrowser;\r\n Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);\r\n Utils.global = Utils.isNativeScript ? global : (Utils.isNode && !Utils.isBrowser ? global : window);\r\n }\r\n\r\n static fromB64ToArray(str: string): Uint8Array {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return new Uint8Array(Buffer.from(str, 'base64'));\r\n } else {\r\n const binaryString = window.atob(str);\r\n const bytes = new Uint8Array(binaryString.length);\r\n for (let i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n return bytes;\r\n }\r\n }\r\n\r\n static fromHexToArray(str: string): Uint8Array {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return new Uint8Array(Buffer.from(str, 'hex'));\r\n } else {\r\n const bytes = new Uint8Array(str.length / 2);\r\n for (let i = 0; i < str.length; i += 2) {\r\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\r\n }\r\n return bytes;\r\n }\r\n }\r\n\r\n static fromUtf8ToArray(str: string): Uint8Array {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return new Uint8Array(Buffer.from(str, 'utf8'));\r\n } else {\r\n const strUtf8 = unescape(encodeURIComponent(str));\r\n const arr = new Uint8Array(strUtf8.length);\r\n for (let i = 0; i < strUtf8.length; i++) {\r\n arr[i] = strUtf8.charCodeAt(i);\r\n }\r\n return arr;\r\n }\r\n }\r\n\r\n static fromByteStringToArray(str: string): Uint8Array {\r\n const arr = new Uint8Array(str.length);\r\n for (let i = 0; i < str.length; i++) {\r\n arr[i] = str.charCodeAt(i);\r\n }\r\n return arr;\r\n }\r\n\r\n static fromBufferToB64(buffer: ArrayBuffer): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(buffer).toString('base64');\r\n } else {\r\n let binary = '';\r\n const bytes = new Uint8Array(buffer);\r\n for (let i = 0; i < bytes.byteLength; i++) {\r\n binary += String.fromCharCode(bytes[i]);\r\n }\r\n return window.btoa(binary);\r\n }\r\n }\r\n\r\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(buffer).toString('utf8');\r\n } else {\r\n const bytes = new Uint8Array(buffer);\r\n const encodedString = String.fromCharCode.apply(null, bytes);\r\n return decodeURIComponent(escape(encodedString));\r\n }\r\n }\r\n\r\n static fromBufferToByteString(buffer: ArrayBuffer): string {\r\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\r\n }\r\n\r\n // ref: https://stackoverflow.com/a/40031979/1090359\r\n static fromBufferToHex(buffer: ArrayBuffer): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(buffer).toString('hex');\r\n } else {\r\n const bytes = new Uint8Array(buffer);\r\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\r\n }\r\n }\r\n\r\n static fromUrlB64ToUtf8(b64Str: string): string {\r\n let output = b64Str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0:\r\n break;\r\n case 2:\r\n output += '==';\r\n break;\r\n case 3:\r\n output += '=';\r\n break;\r\n default:\r\n throw new Error('Illegal base64url string!');\r\n }\r\n\r\n return Utils.fromB64ToUtf8(output);\r\n }\r\n\r\n static fromB64ToUtf8(b64Str: string): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(b64Str, 'base64').toString('utf8');\r\n } else {\r\n return decodeURIComponent(escape(window.atob(b64Str)));\r\n }\r\n }\r\n\r\n // ref: http://stackoverflow.com/a/2117523/1090359\r\n static newGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n // tslint:disable-next-line\r\n const r = Math.random() * 16 | 0;\r\n // tslint:disable-next-line\r\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n static getHostname(uriString: string): string {\r\n const url = Utils.getUrl(uriString);\r\n try {\r\n return url != null ? url.hostname : null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static getHost(uriString: string): string {\r\n const url = Utils.getUrl(uriString);\r\n try {\r\n return url != null ? url.host : null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static getDomain(uriString: string): string {\r\n if (uriString == null) {\r\n return null;\r\n }\r\n\r\n uriString = uriString.trim();\r\n if (uriString === '') {\r\n return null;\r\n }\r\n\r\n let httpUrl = uriString.startsWith('http://') || uriString.startsWith('https://');\r\n if (!httpUrl && uriString.indexOf('://') < 0 && Utils.tldEndingRegex.test(uriString)) {\r\n uriString = 'http://' + uriString;\r\n httpUrl = true;\r\n }\r\n\r\n if (httpUrl) {\r\n try {\r\n const url = Utils.getUrlObject(uriString);\r\n if (url.hostname === 'localhost' || Utils.validIpAddress(url.hostname)) {\r\n return url.hostname;\r\n }\r\n\r\n const urlDomain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(url.hostname) : null;\r\n return urlDomain != null ? urlDomain : url.hostname;\r\n } catch (e) { }\r\n }\r\n\r\n const domain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(uriString) : null;\r\n if (domain != null) {\r\n return domain;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n static getQueryParams(uriString: string): Map {\r\n const url = Utils.getUrl(uriString);\r\n if (url == null || url.search == null || url.search === '') {\r\n return null;\r\n }\r\n const map = new Map();\r\n const pairs = (url.search[0] === '?' ? url.search.substr(1) : url.search).split('&');\r\n pairs.forEach((pair) => {\r\n const parts = pair.split('=');\r\n if (parts.length < 1) {\r\n return;\r\n }\r\n map.set(decodeURIComponent(parts[0]).toLowerCase(), parts[1] == null ? '' : decodeURIComponent(parts[1]));\r\n });\r\n return map;\r\n }\r\n\r\n static getSortFunction(i18nService: I18nService, prop: string) {\r\n return (a: any, b: any) => {\r\n if (a[prop] == null && b[prop] != null) {\r\n return -1;\r\n }\r\n if (a[prop] != null && b[prop] == null) {\r\n return 1;\r\n }\r\n if (a[prop] == null && b[prop] == null) {\r\n return 0;\r\n }\r\n\r\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\r\n a[prop].localeCompare(b[prop]);\r\n };\r\n }\r\n\r\n static isNullOrWhitespace(str: string): boolean {\r\n return str == null || typeof str !== 'string' || str.trim() === '';\r\n }\r\n\r\n private static validIpAddress(ipString: string): boolean {\r\n // tslint:disable-next-line\r\n const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\r\n return ipRegex.test(ipString);\r\n }\r\n\r\n private static isMobile(win: Window) {\r\n let mobile = false;\r\n ((a) => {\r\n // tslint:disable-next-line\r\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\r\n mobile = true;\r\n }\r\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\r\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\r\n }\r\n\r\n private static getUrl(uriString: string): URL {\r\n if (uriString == null) {\r\n return null;\r\n }\r\n\r\n uriString = uriString.trim();\r\n if (uriString === '') {\r\n return null;\r\n }\r\n\r\n const hasProtocol = uriString.indexOf('://') > -1;\r\n if (!hasProtocol && uriString.indexOf('.') > -1) {\r\n uriString = 'http://' + uriString;\r\n } else if (!hasProtocol) {\r\n return null;\r\n }\r\n\r\n return Utils.getUrlObject(uriString);\r\n }\r\n\r\n private static getUrlObject(uriString: string): URL {\r\n try {\r\n if (nodeURL != null) {\r\n return nodeURL.URL ? new nodeURL.URL(uriString) : nodeURL.parse(uriString);\r\n } else if (typeof URL === 'function') {\r\n return new URL(uriString);\r\n } else if (window != null) {\r\n const anchor = window.document.createElement('a');\r\n anchor.href = uriString;\r\n return anchor as any;\r\n }\r\n } catch (e) { }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nUtils.init();\r\n","export enum CipherType {\r\n Login = 1,\r\n SecureNote = 2,\r\n Card = 3,\r\n Identity = 4,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopClick]',\r\n})\r\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.preventDefault();\r\n }\r\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nexport abstract class CollectionService {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: CollectionView) => Promise;\r\n decryptMany: (collections: Collection[]) => Promise;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n getAllNested: (collections?: CollectionView[]) => Promise>>;\r\n getNested: (id: string) => Promise>;\r\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\r\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n}\r\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport abstract class FolderService {\r\n decryptedFolderCache: FolderView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n getAllNested: () => Promise>>;\r\n getNested: (id: string) => Promise>;\r\n saveWithServer: (folder: Folder) => Promise;\r\n upsert: (folder: FolderData | FolderData[]) => Promise;\r\n replace: (folders: { [id: string]: FolderData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n deleteWithServer: (id: string) => Promise;\r\n}\r\n","export abstract class StorageService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n}\r\n","import { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\n\r\nexport abstract class PasswordGenerationService {\r\n generatePassword: (options: any) => Promise;\r\n generatePassphrase: (options: any) => Promise;\r\n getOptions: () => any;\r\n saveOptions: (options: any) => Promise;\r\n getHistory: () => Promise;\r\n addHistory: (password: string) => Promise;\r\n clear: () => Promise;\r\n passwordStrength: (password: string, userInputs?: string[]) => zxcvbn.ZXCVBNResult;\r\n}\r\n","import {\r\n SyncCipherNotification,\r\n SyncFolderNotification,\r\n} from '../models/response/notificationResponse';\r\n\r\nexport abstract class SyncService {\r\n syncInProgress: boolean;\r\n\r\n getLastSync: () => Promise;\r\n setLastSync: (date: Date) => Promise;\r\n fullSync: (forceSync: boolean) => Promise;\r\n syncUpsertFolder: (notification: SyncFolderNotification, isEdit: boolean) => Promise;\r\n syncDeleteFolder: (notification: SyncFolderNotification) => Promise;\r\n syncUpsertCipher: (notification: SyncCipherNotification, isEdit: boolean) => Promise;\r\n syncDeleteCipher: (notification: SyncFolderNotification) => Promise;\r\n}\r\n","export abstract class TokenService {\n token: string;\n decodedToken: any;\n refreshToken: string;\n setTokens: (accessToken: string, refreshToken: string) => Promise;\n setToken: (token: string) => Promise;\n getToken: () => Promise;\n setRefreshToken: (refreshToken: string) => Promise;\n getRefreshToken: () => Promise;\n setTwoFactorToken: (token: string, email: string) => Promise;\n getTwoFactorToken: (email: string) => Promise;\n clearTwoFactorToken: (email: string) => Promise;\n clearToken: () => Promise;\n decodeToken: () => any;\n getTokenExpirationDate: () => Date;\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\n tokenNeedsRefresh: (minutes?: number) => boolean;\n getUserId: () => string;\n getEmail: () => string;\n getEmailVerified: () => boolean;\n getName: () => string;\n getPremium: () => boolean;\n getIssuer: () => string;\n}\n","export abstract class EnvironmentService {\r\n baseUrl: string;\r\n webVaultUrl: string;\r\n apiUrl: string;\r\n identityUrl: string;\r\n iconsUrl: string;\r\n notificationsUrl: string;\r\n\r\n getWebVaultUrl: () => string;\r\n setUrlsFromStorage: () => Promise;\r\n setUrls: (urls: any) => Promise;\r\n}\r\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","export class ConstantsService {\r\n static readonly environmentUrlsKey: string = 'environmentUrls';\r\n static readonly disableGaKey: string = 'disableGa';\r\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\r\n static readonly disableChangedPasswordNotificationKey: string = 'disableChangedPasswordNotification';\r\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\r\n static readonly disableFaviconKey: string = 'disableFavicon';\r\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\r\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\r\n static readonly lockOptionKey: string = 'lockOption';\r\n static readonly lastActiveKey: string = 'lastActive';\r\n static readonly neverDomainsKey: string = 'neverDomains';\r\n static readonly installedVersionKey: string = 'installedVersion';\r\n static readonly localeKey: string = 'locale';\r\n static readonly themeKey: string = 'theme';\r\n static readonly collapsedGroupingsKey: string = 'collapsedGroupings';\r\n static readonly autoConfirmFingerprints: string = 'autoConfirmFingerprints';\r\n static readonly dontShowCardsCurrentTab: string = 'dontShowCardsCurrentTab';\r\n static readonly dontShowIdentitiesCurrentTab: string = 'dontShowIdentitiesCurrentTab';\r\n static readonly defaultUriMatch: string = 'defaultUriMatch';\r\n static readonly pinProtectedKey: string = 'pinProtectedKey';\r\n static readonly protectedPin: string = 'protectedPin';\r\n static readonly clearClipboardKey: string = 'clearClipboardKey';\r\n\r\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\r\n readonly disableGaKey: string = ConstantsService.disableGaKey;\r\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\r\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\r\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\r\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\r\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\r\n readonly lockOptionKey: string = ConstantsService.lockOptionKey;\r\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\r\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\r\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\r\n readonly localeKey: string = ConstantsService.localeKey;\r\n readonly themeKey: string = ConstantsService.themeKey;\r\n readonly collapsedGroupingsKey: string = ConstantsService.collapsedGroupingsKey;\r\n readonly autoConfirmFingerprints: string = ConstantsService.autoConfirmFingerprints;\r\n readonly dontShowCardsCurrentTab: string = ConstantsService.dontShowCardsCurrentTab;\r\n readonly dontShowIdentitiesCurrentTab: string = ConstantsService.dontShowIdentitiesCurrentTab;\r\n readonly defaultUriMatch: string = ConstantsService.defaultUriMatch;\r\n readonly pinProtectedKey: string = ConstantsService.pinProtectedKey;\r\n readonly protectedPin: string = ConstantsService.protectedPin;\r\n readonly clearClipboardKey: string = ConstantsService.clearClipboardKey;\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Card } from '../domain/card';\r\n\r\nexport class CardView implements View {\r\n cardholderName: string = null;\r\n expMonth: string = null;\r\n expYear: string = null;\r\n code: string = null;\r\n\r\n // tslint:disable\r\n private _brand: string = null;\r\n private _number: string = null;\r\n private _subTitle: string = null;\r\n // tslint:enable\r\n\r\n constructor(c?: Card) {\r\n // ctor\r\n }\r\n\r\n get maskedCode(): string {\r\n return this.code != null ? '•'.repeat(this.code.length) : null;\r\n }\r\n\r\n get brand(): string {\r\n return this._brand;\r\n }\r\n set brand(value: string) {\r\n this._brand = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get number(): string {\r\n return this._number;\r\n }\r\n set number(value: string) {\r\n this._number = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null) {\r\n this._subTitle = this.brand;\r\n if (this.number != null && this.number.length >= 4) {\r\n if (this._subTitle != null && this._subTitle !== '') {\r\n this._subTitle += ', ';\r\n } else {\r\n this._subTitle = '';\r\n }\r\n\r\n // Show last 5 on amex, last 4 for all others\r\n const count = this.number.length >= 5 && this.number.match(new RegExp('^3[47]')) != null ? 5 : 4;\r\n this._subTitle += ('*' + this.number.substr(this.number.length - count));\r\n }\r\n }\r\n return this._subTitle;\r\n }\r\n\r\n get expiration(): string {\r\n if (!this.expMonth && !this.expYear) {\r\n return null;\r\n }\r\n\r\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\r\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\r\n return exp;\r\n }\r\n\r\n private formatYear(year: string): string {\r\n return year.length === 2 ? '20' + year : year;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { SecureNote } from '../domain/secureNote';\r\n\r\nexport class SecureNoteView implements View {\r\n type: SecureNoteType = null;\r\n\r\n constructor(n?: SecureNote) {\r\n if (!n) {\r\n return;\r\n }\r\n\r\n this.type = n.type;\r\n }\r\n\r\n get subTitle(): string {\r\n return null;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean) => Promise;\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logOut: (callback: Function) => void;\n getSupportedTwoFactorProviders: (win: Window) => any[];\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\n makePreloginKey: (masterPassword: string, email: string) => Promise;\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst IconMap: any = {\n 'fa-globe': String.fromCharCode(0xf0ac),\n 'fa-sticky-note-o': String.fromCharCode(0xf24a),\n 'fa-id-card-o': String.fromCharCode(0xf2c3),\n 'fa-credit-card': String.fromCharCode(0xf09d),\n 'fa-android': String.fromCharCode(0xf17b),\n 'fa-apple': String.fromCharCode(0xf179),\n};\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: CipherView;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(environmentService: EnvironmentService, protected stateService: StateService) {\n this.iconsUrl = environmentService.iconsUrl;\n if (!this.iconsUrl) {\n if (environmentService.baseUrl) {\n this.iconsUrl = environmentService.baseUrl + '/icons';\n } else {\n this.iconsUrl = 'https://icons.bitwarden.net';\n }\n }\n }\n\n async ngOnChanges() {\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\n this.load();\n }\n\n get iconCode(): string {\n return IconMap[this.icon];\n }\n\n protected load() {\n switch (this.cipher.type) {\n case CipherType.Login:\n this.icon = 'fa-globe';\n this.setLoginIcon();\n break;\n case CipherType.SecureNote:\n this.icon = 'fa-sticky-note-o';\n break;\n case CipherType.Card:\n this.icon = 'fa-credit-card';\n break;\n case CipherType.Identity:\n this.icon = 'fa-id-card-o';\n break;\n default:\n break;\n }\n }\n\n private setLoginIcon() {\n if (this.cipher.login.uri) {\n let hostnameUri = this.cipher.login.uri;\n let isWebsite = false;\n\n if (hostnameUri.indexOf('androidapp://') === 0) {\n this.icon = 'fa-android';\n this.image = null;\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\n this.icon = 'fa-apple';\n this.image = null;\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\n hostnameUri = 'http://' + hostnameUri;\n isWebsite = true;\n } else if (this.imageEnabled) {\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\n }\n\n if (this.imageEnabled && isWebsite) {\n try {\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\n this.fallbackImage = 'images/fa-globe.png';\n } catch (e) { }\n }\n } else {\n this.image = null;\n }\n }\n}\n","import { Injectable } from '@angular/core';\r\n\r\nimport { BroadcasterService as BaseBroadcasterService } from '../../services/broadcaster.service';\r\n\r\n@Injectable()\r\nexport class BroadcasterService extends BaseBroadcasterService {\r\n}\r\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (!Utils.isMobileBrowser && this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import * as jq from 'jquery';\n\nimport {\n Component,\n ComponentFactoryResolver,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent extends BaseModalComponent {\n el: any = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n super(componentFactoryResolver);\n }\n\n ngOnDestroy() { /* Nothing */ }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n\n const modals = Array.from(document.querySelectorAll('.modal'));\n if (modals.length > 0) {\n this.el = jq(modals[0]);\n this.el.modal('show');\n\n this.el.on('show.bs.modal', () => {\n this.onShow.emit();\n });\n this.el.on('shown.bs.modal', () => {\n this.onShown.emit();\n if (!Utils.isMobileBrowser) {\n this.el.find('*[appAutoFocus]').focus();\n }\n });\n this.el.on('hide.bs.modal', () => {\n this.onClose.emit();\n });\n this.el.on('hidden.bs.modal', () => {\n this.onClosed.emit();\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n });\n }\n\n return componentRef.instance;\n }\n\n close() {\n if (this.el != null) {\n this.el.modal('hide');\n }\n }\n}\n","export enum TwoFactorProviderType {\r\n Authenticator = 0,\r\n Email = 1,\r\n Duo = 2,\r\n Yubikey = 3,\n U2f = 4,\r\n Remember = 5,\r\n OrganizationDuo = 6,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopProp]',\r\n})\r\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.stopPropagation();\r\n }\r\n}\n","
\r\n \"\"\r\n \r\n
\r\n","import { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class CryptoFunctionService {\n pbkdf2: (password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number) => Promise;\n hash: (value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5') => Promise;\n hmac: (value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512') => Promise;\n compare: (a: ArrayBuffer, b: ArrayBuffer) => Promise;\n hmacFast: (value: ArrayBuffer | string, key: ArrayBuffer | string, algorithm: 'sha1' | 'sha256' | 'sha512') =>\n Promise;\n compareFast: (a: ArrayBuffer | string, b: ArrayBuffer | string) => Promise;\n aesEncrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n aesDecryptFastParameters: (data: string, iv: string, mac: string, key: SymmetricCryptoKey) =>\n DecryptParameters;\n aesDecryptFast: (parameters: DecryptParameters) => Promise;\n aesDecrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaDecrypt: (data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaExtractPublicKey: (privateKey: ArrayBuffer) => Promise;\n rsaGenerateKeyPair: (length: 1024 | 2048 | 4096) => Promise<[ArrayBuffer, ArrayBuffer]>;\n randomBytes: (length: number) => Promise;\n}\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nexport default class Domain {\n protected buildDomainModel(domain: D, dataObj: any, map: any,\n alreadyEncrypted: boolean, notEncList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = dataObj[(map[prop] || prop)];\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\n (domain as any)[prop] = objProp ? objProp : null;\n } else {\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\n }\n }\n }\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = (domain as any)[(map[prop] || prop)];\n if (notCipherStringList.indexOf(prop) > -1) {\n (dataObj as any)[prop] = objProp != null ? objProp : null;\n } else {\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\n }\n }\n }\n\n protected async decryptObj(viewModel: T, map: any, orgId: string): Promise {\n const promises = [];\n const self: any = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp) {\n const p = Promise.resolve().then(() => {\n const mapProp = map[theProp] || theProp;\n if (self[mapProp]) {\n return self[mapProp].decrypt(orgId);\n }\n return null;\n }).then((val: any) => {\n (viewModel as any)[theProp] = val;\n });\n promises.push(p);\n })(prop);\n }\n\n await Promise.all(promises);\n return viewModel;\n }\n}\n","export abstract class LockService {\r\n pinLocked: boolean;\r\n isLocked: () => Promise;\r\n checkLock: () => Promise;\r\n lock: (allowSoftLock?: boolean) => Promise;\r\n setLockOption: (lockOption: number) => Promise;\r\n isPinLockSet: () => Promise<[boolean, boolean]>;\r\n clear: () => Promise;\r\n}\r\n","import { CipherView } from '../models/view/cipherView';\n\nexport abstract class SearchService {\n clearIndex: () => void;\n isSearchable: (query: string) => boolean;\n indexCiphers: () => Promise;\n searchCiphers: (query: string, filter?: (cipher: CipherView) => boolean,\n ciphers?: CipherView[]) => Promise;\n searchCiphersBasic: (ciphers: CipherView[], query: string) => CipherView[];\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nimport { AttachmentView } from './attachmentView';\r\nimport { CardView } from './cardView';\r\nimport { FieldView } from './fieldView';\r\nimport { IdentityView } from './identityView';\r\nimport { LoginView } from './loginView';\r\nimport { PasswordHistoryView } from './passwordHistoryView';\r\nimport { SecureNoteView } from './secureNoteView';\r\nimport { View } from './view';\r\n\r\nexport class CipherView implements View {\r\n id: string = null;\r\n organizationId: string = null;\r\n folderId: string = null;\r\n name: string = null;\r\n notes: string = null;\r\n type: CipherType = null;\r\n favorite = false;\r\n organizationUseTotp = false;\r\n edit = false;\r\n localData: any;\r\n login = new LoginView();\r\n identity = new IdentityView();\r\n card = new CardView();\r\n secureNote = new SecureNoteView();\r\n attachments: AttachmentView[] = null;\r\n fields: FieldView[] = null;\r\n passwordHistory: PasswordHistoryView[] = null;\r\n collectionIds: string[] = null;\r\n revisionDate: Date = null;\r\n\r\n constructor(c?: Cipher) {\r\n if (!c) {\r\n return;\r\n }\r\n\r\n this.id = c.id;\r\n this.organizationId = c.organizationId;\r\n this.folderId = c.folderId;\r\n this.favorite = c.favorite;\r\n this.organizationUseTotp = c.organizationUseTotp;\r\n this.edit = c.edit;\r\n this.type = c.type;\r\n this.localData = c.localData;\r\n this.collectionIds = c.collectionIds;\r\n this.revisionDate = c.revisionDate;\r\n }\r\n\r\n get subTitle(): string {\r\n switch (this.type) {\r\n case CipherType.Login:\r\n return this.login.subTitle;\r\n case CipherType.SecureNote:\r\n return this.secureNote.subTitle;\r\n case CipherType.Card:\r\n return this.card.subTitle;\r\n case CipherType.Identity:\r\n return this.identity.subTitle;\r\n default:\r\n break;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get hasPasswordHistory(): boolean {\r\n return this.passwordHistory && this.passwordHistory.length > 0;\r\n }\r\n\r\n get hasAttachments(): boolean {\r\n return this.attachments && this.attachments.length > 0;\r\n }\r\n\r\n get hasOldAttachments(): boolean {\r\n if (this.hasAttachments) {\r\n for (let i = 0; i < this.attachments.length; i++) {\r\n if (this.attachments[i].key == null) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n get hasFields(): boolean {\r\n return this.fields && this.fields.length > 0;\r\n }\r\n\r\n get passwordRevisionDisplayDate(): Date {\r\n if (this.type !== CipherType.Login || this.login == null) {\r\n return null;\r\n } else if (this.login.password == null || this.login.password === '') {\r\n return null;\r\n }\r\n return this.login.passwordRevisionDate;\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-avatar',\n template: '',\n})\nexport class AvatarComponent implements OnChanges, OnInit {\n @Input() data: string;\n @Input() email: string;\n @Input() size = 45;\n @Input() charCount = 2;\n @Input() textColor = '#ffffff';\n @Input() fontSize = 20;\n @Input() fontWeight = 300;\n @Input() dynamic = false;\n @Input() circle = false;\n\n src: string;\n\n constructor(public sanitizer: DomSanitizer, private cryptoFunctionService: CryptoFunctionService,\n private stateService: StateService) { }\n\n ngOnInit() {\n if (!this.dynamic) {\n this.generate();\n }\n }\n\n ngOnChanges() {\n if (this.dynamic) {\n this.generate();\n }\n }\n\n private async generate() {\n const enableGravatars = await this.stateService.get('enableGravatars');\n if (enableGravatars && this.email != null) {\n const hashBytes = await this.cryptoFunctionService.hash(this.email.toLowerCase().trim(), 'md5');\n const hash = Utils.fromBufferToHex(hashBytes).toLowerCase();\n this.src = 'https://www.gravatar.com/avatar/' + hash + '?s=' + this.size + '&r=pg&d=retro';\n } else {\n let chars: string = null;\n const upperData = this.data.toUpperCase();\n\n if (this.charCount > 1) {\n chars = this.getFirstLetters(upperData, this.charCount);\n }\n if (chars == null) {\n chars = upperData.substr(0, this.charCount);\n }\n\n const charObj = this.getCharText(chars);\n const color = this.stringToColor(upperData);\n const svg = this.getSvg(this.size, color);\n svg.appendChild(charObj);\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\n }\n }\n\n private stringToColor(str: string): string {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n // tslint:disable-next-line\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n let color = '#';\n for (let i = 0; i < 3; i++) {\n // tslint:disable-next-line\n const value = (hash >> (i * 8)) & 0xFF;\n color += ('00' + value.toString(16)).substr(-2);\n }\n return color;\n }\n\n private getFirstLetters(data: string, count: number): string {\n const parts = data.split(' ');\n if (parts.length > 1) {\n let text = '';\n for (let i = 0; i < count; i++) {\n text += parts[i].substr(0, 1);\n }\n return text;\n }\n return null;\n }\n\n private getSvg(size: number, color: string): HTMLElement {\n const svgTag = window.document.createElement('svg');\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgTag.setAttribute('pointer-events', 'none');\n svgTag.setAttribute('width', size.toString());\n svgTag.setAttribute('height', size.toString());\n svgTag.style.backgroundColor = color;\n svgTag.style.width = size + 'px';\n svgTag.style.height = size + 'px';\n return svgTag;\n }\n\n private getCharText(character: string): HTMLElement {\n const textTag = window.document.createElement('text');\n textTag.setAttribute('text-anchor', 'middle');\n textTag.setAttribute('y', '50%');\n textTag.setAttribute('x', '50%');\n textTag.setAttribute('dy', '0.35em');\n textTag.setAttribute('pointer-events', 'auto');\n textTag.setAttribute('fill', this.textColor);\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\n textTag.textContent = character;\n textTag.style.fontWeight = this.fontWeight.toString();\n textTag.style.fontSize = this.fontSize + 'px';\n return textTag;\n }\n}\n","import { LoginUriView } from './loginUriView';\nimport { View } from './view';\n\nimport { Login } from '../domain/login';\n\nexport class LoginView implements View {\n username: string = null;\n password: string = null;\n passwordRevisionDate?: Date = null;\n totp: string = null;\n uris: LoginUriView[] = null;\n\n constructor(l?: Login) {\n if (!l) {\n return;\n }\n\n this.passwordRevisionDate = l.passwordRevisionDate;\n }\n\n get uri(): string {\n return this.hasUris ? this.uris[0].uri : null;\n }\n\n get maskedPassword(): string {\n return this.password != null ? '••••••••' : null;\n }\n\n get subTitle(): string {\n return this.username;\n }\n\n get canLaunch(): boolean {\n return this.hasUris && this.uris.some((u) => u.canLaunch);\n }\n\n get launchUri(): string {\n if (this.hasUris) {\n const uri = this.uris.find((u) => u.canLaunch);\n if (uri != null) {\n return uri.launchUri;\n }\n }\n return null;\n }\n\n get hasUris(): boolean {\n return this.uris != null && this.uris.length > 0;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Folder } from '../domain/folder';\r\nimport { ITreeNodeObject } from '../domain/treeNode';\r\n\r\nexport class FolderView implements View, ITreeNodeObject {\r\n id: string = null;\r\n name: string = null;\r\n revisionDate: Date = null;\r\n\r\n constructor(f?: Folder) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n this.revisionDate = f.revisionDate;\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Collection } from '../domain/collection';\r\nimport { ITreeNodeObject } from '../domain/treeNode';\r\n\r\nexport class CollectionView implements View, ITreeNodeObject {\r\n id: string = null;\r\n organizationId: string = null;\r\n name: string = null;\r\n readOnly: boolean = null;\r\n\r\n constructor(c?: Collection) {\r\n if (!c) {\r\n return;\r\n }\r\n\r\n this.id = c.id;\r\n this.organizationId = c.organizationId;\r\n this.readOnly = c.readOnly;\r\n }\r\n}\r\n","","import { View } from './view';\r\n\r\nimport { Identity } from '../domain/identity';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class IdentityView implements View {\r\n title: string = null;\r\n middleName: string = null;\r\n address1: string = null;\r\n address2: string = null;\r\n address3: string = null;\r\n city: string = null;\r\n state: string = null;\r\n postalCode: string = null;\r\n country: string = null;\r\n company: string = null;\r\n email: string = null;\r\n phone: string = null;\r\n ssn: string = null;\r\n username: string = null;\r\n passportNumber: string = null;\r\n licenseNumber: string = null;\r\n\r\n // tslint:disable\r\n private _firstName: string = null;\r\n private _lastName: string = null;\r\n private _subTitle: string = null;\r\n // tslint:enable\r\n\r\n constructor(i?: Identity) {\r\n // ctor\r\n }\r\n\r\n get firstName(): string {\r\n return this._firstName;\r\n }\r\n set firstName(value: string) {\r\n this._firstName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get lastName(): string {\r\n return this._lastName;\r\n }\r\n set lastName(value: string) {\r\n this._lastName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\r\n this._subTitle = '';\r\n if (this.firstName != null) {\r\n this._subTitle = this.firstName;\r\n }\r\n if (this.lastName != null) {\r\n if (this._subTitle !== '') {\r\n this._subTitle += ' ';\r\n }\r\n this._subTitle += this.lastName;\r\n }\r\n }\r\n\r\n return this._subTitle;\r\n }\r\n\r\n get fullName(): string {\r\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\r\n let name = '';\r\n if (this.title != null) {\r\n name += (this.title + ' ');\r\n }\r\n if (this.firstName != null) {\r\n name += (this.firstName + ' ');\r\n }\r\n if (this.middleName != null) {\r\n name += (this.middleName + ' ');\r\n }\r\n if (this.lastName != null) {\r\n name += this.lastName;\r\n }\r\n return name.trim();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get fullAddress(): string {\r\n let address = this.address1;\r\n if (Utils.isNullOrWhitespace(this.address2)) {\r\n if (Utils.isNullOrWhitespace(address)) {\r\n address += ', ';\r\n }\r\n address += this.address2;\r\n }\r\n if (Utils.isNullOrWhitespace(this.address3)) {\r\n if (Utils.isNullOrWhitespace(address)) {\r\n address += ', ';\r\n }\r\n address += this.address3;\r\n }\r\n return address;\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { WebConstants } from '../../services/webConstants';\n\nconst StripeElementStyle = {\n base: {\n color: '#333333',\n fontFamily: '\"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, ' +\n '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n fontSize: '14px',\n fontSmoothing: 'antialiased',\n },\n invalid: {\n color: '#333333',\n },\n};\n\nconst StripeElementClasses = {\n focus: 'is-focused',\n empty: 'is-empty',\n invalid: 'is-invalid',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.Card;\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n @Input() hideCredit = false;\n\n bank: any = {\n routing_number: null,\n account_number: null,\n account_holder_name: null,\n account_holder_type: '',\n currency: 'USD',\n country: 'US',\n };\n\n paymentMethodType = PaymentMethodType;\n\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n private stripeScript: HTMLScriptElement;\n private stripe: any = null;\n private stripeElements: any = null;\n private stripeCardNumberElement: any = null;\n private stripeCardExpiryElement: any = null;\n private stripeCardCvcElement: any = null;\n\n constructor(private platformUtilsService: PlatformUtilsService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v3/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n this.stripe = (window as any).Stripe(this.platformUtilsService.isDev() ?\n WebConstants.stripeTestKey : WebConstants.stripeLiveKey);\n this.stripeElements = this.stripe.elements();\n this.setStripeElement();\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'scripts/dropin.js';\n this.btScript.async = true;\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== PaymentMethodType.PayPal;\n this.hideBank = this.method !== PaymentMethodType.BankAccount;\n this.hideCredit = this.method !== PaymentMethodType.Credit;\n }\n window.document.head.appendChild(this.stripeScript);\n if (!this.hidePaypal) {\n window.document.head.appendChild(this.btScript);\n }\n }\n\n ngOnDestroy() {\n window.document.head.removeChild(this.stripeScript);\n window.setTimeout(() => {\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n try {\n window.document.body.removeChild(el);\n } catch { }\n }\n });\n }, 500);\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n window.setTimeout(() => {\n Array.from(window.document.head.querySelectorAll('script')).forEach((el) => {\n if (el.src != null && el.src.indexOf('paypal') > -1) {\n try {\n window.document.head.removeChild(el);\n } catch { }\n }\n });\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n try {\n window.document.head.removeChild(btStylesheet);\n } catch { }\n }\n }, 500);\n }\n }\n\n changeMethod() {\n this.btInstance = null;\n\n if (this.method === PaymentMethodType.PayPal) {\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ?\n WebConstants.btSandboxKey : WebConstants.btProductionKey,\n container: '#bt-dropin-container',\n paymentOptionPriority: ['paypal'],\n paypal: {\n flow: 'vault',\n buttonStyle: {\n label: 'pay',\n size: 'medium',\n shape: 'pill',\n color: 'blue',\n },\n },\n }, (createErr: any, instance: any) => {\n if (createErr != null) {\n // tslint:disable-next-line\n console.error(createErr);\n return;\n }\n this.btInstance = instance;\n });\n }, 250);\n } else {\n this.setStripeElement();\n }\n }\n\n createPaymentToken(): Promise<[string, PaymentMethodType]> {\n return new Promise((resolve, reject) => {\n if (this.method === PaymentMethodType.Credit) {\n resolve([null, this.method]);\n } else if (this.method === PaymentMethodType.PayPal) {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve([payload.nonce, this.method]);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === PaymentMethodType.Card || this.method === PaymentMethodType.BankAccount) {\n let sourceObj: any = null;\n let createObj: any = null;\n if (this.method === PaymentMethodType.Card) {\n sourceObj = this.stripeCardNumberElement;\n } else {\n sourceObj = 'bank_account';\n createObj = this.bank;\n }\n this.stripe.createToken(sourceObj, createObj).then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.token && result.token.id != null) {\n resolve([result.token.id, this.method]);\n } else {\n reject();\n }\n });\n }\n });\n }\n\n private setStripeElement() {\n window.setTimeout(() => {\n if (this.method === PaymentMethodType.Card) {\n if (this.stripeCardNumberElement == null) {\n this.stripeCardNumberElement = this.stripeElements.create('cardNumber', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n if (this.stripeCardExpiryElement == null) {\n this.stripeCardExpiryElement = this.stripeElements.create('cardExpiry', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n });\n }\n if (this.stripeCardCvcElement == null) {\n this.stripeCardCvcElement = this.stripeElements.create('cardCvc', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n this.stripeCardNumberElement.mount('#stripe-card-number-element');\n this.stripeCardExpiryElement.mount('#stripe-card-expiry-element');\n this.stripeCardCvcElement.mount('#stripe-card-cvc-element');\n }\n }, 50);\n }\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { AttachmentData } from './attachmentData';\r\nimport { CardData } from './cardData';\r\nimport { FieldData } from './fieldData';\r\nimport { IdentityData } from './identityData';\r\nimport { LoginData } from './loginData';\r\nimport { PasswordHistoryData } from './passwordHistoryData';\r\nimport { SecureNoteData } from './secureNoteData';\r\n\r\nimport { CipherResponse } from '../response/cipherResponse';\r\n\r\nexport class CipherData {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n userId: string;\r\n edit: boolean;\r\n organizationUseTotp: boolean;\r\n favorite: boolean;\r\n revisionDate: string;\r\n type: CipherType;\r\n sizeName: string;\r\n name: string;\r\n notes: string;\r\n login?: LoginData;\r\n secureNote?: SecureNoteData;\r\n card?: CardData;\r\n identity?: IdentityData;\r\n fields?: FieldData[];\r\n attachments?: AttachmentData[];\r\n passwordHistory?: PasswordHistoryData[];\r\n collectionIds?: string[];\r\n\r\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.id = response.id;\r\n this.organizationId = response.organizationId;\r\n this.folderId = response.folderId;\r\n this.userId = userId;\r\n this.edit = response.edit;\r\n this.organizationUseTotp = response.organizationUseTotp;\r\n this.favorite = response.favorite;\r\n this.revisionDate = response.revisionDate;\r\n this.type = response.type;\r\n this.name = response.name;\r\n this.notes = response.notes;\r\n\r\n if (collectionIds != null) {\r\n this.collectionIds = collectionIds;\r\n } else {\r\n this.collectionIds = response.collectionIds;\r\n }\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new LoginData(response.login);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNoteData(response.secureNote);\r\n break;\r\n case CipherType.Card:\r\n this.card = new CardData(response.card);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new IdentityData(response.identity);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (response.fields != null) {\r\n this.fields = [];\r\n response.fields.forEach((field) => {\r\n this.fields.push(new FieldData(field));\r\n });\r\n }\r\n\r\n if (response.attachments != null) {\r\n this.attachments = [];\r\n response.attachments.forEach((attachment) => {\r\n this.attachments.push(new AttachmentData(attachment));\r\n });\r\n }\r\n\r\n if (response.passwordHistory != null) {\r\n this.passwordHistory = [];\r\n response.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push(new PasswordHistoryData(ph));\r\n });\r\n }\r\n }\r\n}\r\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(response: CollectionDetailsResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.name = response.name;\n this.readOnly = response.readOnly;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-two-factor-verify',\n templateUrl: 'two-factor-verify.component.html',\n})\nexport class TwoFactorVerifyComponent {\n @Input() type: TwoFactorProviderType;\n @Input() organizationId: string;\n @Output() onAuthed = new EventEmitter();\n\n masterPassword: string;\n formPromise: Promise;\n\n private masterPasswordHash: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash =\n await this.cryptoService.hashPassword(this.masterPassword, null);\n\n try {\n switch (this.type) {\n case -1:\n this.formPromise = this.apiService.getTwoFactorRecover(request);\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.organizationId != null) {\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.getTwoFactorDuo(request);\n }\n break;\n case TwoFactorProviderType.Email:\n this.formPromise = this.apiService.getTwoFactorEmail(request);\n break;\n case TwoFactorProviderType.U2f:\n this.formPromise = this.apiService.getTwoFactorU2f(request);\n break;\n case TwoFactorProviderType.Authenticator:\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\n break;\n case TwoFactorProviderType.Yubikey:\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\n break;\n }\n\n const response = await this.formPromise;\n this.onAuthed.emit({\n response: response,\n masterPasswordHash: this.masterPasswordHash,\n });\n } catch { }\n }\n}\n","export enum DeviceType {\n Android = 0,\n iOS = 1,\n ChromeExtension = 2,\n FirefoxExtension = 3,\n OperaExtension = 4,\n EdgeExtension = 5,\n WindowsDesktop = 6,\n MacOsDesktop = 7,\n LinuxDesktop = 8,\n ChromeBrowser = 9,\n FirefoxBrowser = 10,\n OperaBrowser = 11,\n EdgeBrowser = 12,\n IEBrowser = 13,\n UnknownBrowser = 14,\n AndroidAmazon = 15,\n UWP = 16,\n SafariBrowser = 17,\n VivaldiBrowser = 18,\n VivaldiExtension = 19,\n SafariExtension = 20,\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nimport { CardApi } from '../api/cardApi';\r\nimport { FieldApi } from '../api/fieldApi';\r\nimport { IdentityApi } from '../api/identityApi';\r\nimport { LoginApi } from '../api/loginApi';\r\nimport { LoginUriApi } from '../api/loginUriApi';\r\nimport { SecureNoteApi } from '../api/secureNoteApi';\r\n\r\nimport { AttachmentRequest } from './attachmentRequest';\r\nimport { PasswordHistoryRequest } from './passwordHistoryRequest';\r\n\r\nexport class CipherRequest {\r\n type: CipherType;\r\n folderId: string;\r\n organizationId: string;\r\n name: string;\r\n notes: string;\r\n favorite: boolean;\r\n login: LoginApi;\r\n secureNote: SecureNoteApi;\r\n card: CardApi;\r\n identity: IdentityApi;\r\n fields: FieldApi[];\r\n passwordHistory: PasswordHistoryRequest[];\r\n // Deprecated, remove at some point and rename attachments2 to attachments\r\n attachments: { [id: string]: string; };\r\n attachments2: { [id: string]: AttachmentRequest; };\r\n\r\n constructor(cipher: Cipher) {\r\n this.type = cipher.type;\r\n this.folderId = cipher.folderId;\r\n this.organizationId = cipher.organizationId;\r\n this.name = cipher.name ? cipher.name.encryptedString : null;\r\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\r\n this.favorite = cipher.favorite;\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new LoginApi();\r\n this.login.uris = null;\r\n this.login.username = cipher.login.username ? cipher.login.username.encryptedString : null;\r\n this.login.password = cipher.login.password ? cipher.login.password.encryptedString : null;\r\n this.login.passwordRevisionDate = cipher.login.passwordRevisionDate != null ?\r\n cipher.login.passwordRevisionDate.toISOString() : null;\r\n this.login.totp = cipher.login.totp ? cipher.login.totp.encryptedString : null;\r\n\r\n if (cipher.login.uris != null) {\r\n this.login.uris = cipher.login.uris.map((u) => {\r\n const uri = new LoginUriApi();\r\n uri.uri = u.uri != null ? u.uri.encryptedString : null;\r\n uri.match = u.match != null ? u.match : null;\r\n return uri;\r\n });\r\n }\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNoteApi();\r\n this.secureNote.type = cipher.secureNote.type;\r\n break;\r\n case CipherType.Card:\r\n this.card = new CardApi();\r\n this.card.cardholderName = cipher.card.cardholderName != null ?\r\n cipher.card.cardholderName.encryptedString : null;\r\n this.card.brand = cipher.card.brand != null ? cipher.card.brand.encryptedString : null;\r\n this.card.number = cipher.card.number != null ? cipher.card.number.encryptedString : null;\r\n this.card.expMonth = cipher.card.expMonth != null ? cipher.card.expMonth.encryptedString : null;\r\n this.card.expYear = cipher.card.expYear != null ? cipher.card.expYear.encryptedString : null;\r\n this.card.code = cipher.card.code != null ? cipher.card.code.encryptedString : null;\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new IdentityApi();\r\n this.identity.title = cipher.identity.title != null ? cipher.identity.title.encryptedString : null;\r\n this.identity.firstName = cipher.identity.firstName != null ?\r\n cipher.identity.firstName.encryptedString : null;\r\n this.identity.middleName = cipher.identity.middleName != null ?\r\n cipher.identity.middleName.encryptedString : null;\r\n this.identity.lastName = cipher.identity.lastName != null ?\r\n cipher.identity.lastName.encryptedString : null;\r\n this.identity.address1 = cipher.identity.address1 != null ?\r\n cipher.identity.address1.encryptedString : null;\r\n this.identity.address2 = cipher.identity.address2 != null ?\r\n cipher.identity.address2.encryptedString : null;\r\n this.identity.address3 = cipher.identity.address3 != null ?\r\n cipher.identity.address3.encryptedString : null;\r\n this.identity.city = cipher.identity.city != null ? cipher.identity.city.encryptedString : null;\r\n this.identity.state = cipher.identity.state != null ? cipher.identity.state.encryptedString : null;\r\n this.identity.postalCode = cipher.identity.postalCode != null ?\r\n cipher.identity.postalCode.encryptedString : null;\r\n this.identity.country = cipher.identity.country != null ?\r\n cipher.identity.country.encryptedString : null;\r\n this.identity.company = cipher.identity.company != null ?\r\n cipher.identity.company.encryptedString : null;\r\n this.identity.email = cipher.identity.email != null ? cipher.identity.email.encryptedString : null;\r\n this.identity.phone = cipher.identity.phone != null ? cipher.identity.phone.encryptedString : null;\r\n this.identity.ssn = cipher.identity.ssn != null ? cipher.identity.ssn.encryptedString : null;\r\n this.identity.username = cipher.identity.username != null ?\r\n cipher.identity.username.encryptedString : null;\r\n this.identity.passportNumber = cipher.identity.passportNumber != null ?\r\n cipher.identity.passportNumber.encryptedString : null;\r\n this.identity.licenseNumber = cipher.identity.licenseNumber != null ?\r\n cipher.identity.licenseNumber.encryptedString : null;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (cipher.fields != null) {\r\n this.fields = cipher.fields.map((f) => {\r\n const field = new FieldApi();\r\n field.type = f.type;\r\n field.name = f.name ? f.name.encryptedString : null;\r\n field.value = f.value ? f.value.encryptedString : null;\r\n return field;\r\n });\r\n }\r\n\r\n if (cipher.passwordHistory != null) {\r\n this.passwordHistory = [];\r\n cipher.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push({\r\n lastUsedDate: ph.lastUsedDate,\r\n password: ph.password ? ph.password.encryptedString : null,\r\n });\r\n });\r\n }\r\n\r\n if (cipher.attachments != null) {\r\n this.attachments = {};\r\n this.attachments2 = {};\r\n cipher.attachments.forEach((attachment) => {\r\n const fileName = attachment.fileName ? attachment.fileName.encryptedString : null;\r\n this.attachments[attachment.id] = fileName;\r\n const attachmentRequest = new AttachmentRequest();\r\n attachmentRequest.fileName = fileName;\r\n if (attachment.key != null) {\r\n attachmentRequest.key = attachment.key.encryptedString;\r\n }\r\n this.attachments2[attachment.id] = attachmentRequest;\r\n });\r\n }\r\n }\r\n}\r\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { Field } from '../domain/field';\r\n\r\nexport class FieldView implements View {\r\n name: string = null;\r\n value: string = null;\r\n type: FieldType = null;\r\n\r\n constructor(f?: Field) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.type = f.type;\r\n }\r\n\r\n get maskedValue(): string {\r\n return this.value != null ? '••••••••' : null;\r\n }\r\n}\r\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n readOnly: boolean;\n\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n organizationId: null,\n name: null,\n readOnly: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'readOnly']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Injectable()\r\nexport class RouterService {\r\n private previousUrl: string = undefined;\r\n private currentUrl: string = undefined;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\r\n private titleService: Title, i18nService: I18nService) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n let title = i18nService.t('pageTitle', 'Bitwarden');\r\n let titleId: string = null;\r\n let rawTitle: string = null;\r\n let child = this.activatedRoute.firstChild;\r\n while (child != null) {\r\n if (child.firstChild != null) {\r\n child = child.firstChild;\r\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\r\n rawTitle = child.snapshot.data.title;\r\n break;\r\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\r\n titleId = child.snapshot.data.titleId;\r\n break;\r\n } else {\r\n titleId = null;\r\n rawTitle = null;\r\n break;\r\n }\r\n }\r\n\r\n if (titleId != null || rawTitle != null) {\r\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\r\n if (newTitle != null && newTitle !== '') {\r\n title = (newTitle + ' | ' + title);\r\n }\r\n }\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n\r\n setPreviousUrl(url: string) {\r\n this.previousUrl = url;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class CipherString {\r\n encryptedString?: string;\r\n encryptionType?: EncryptionType;\r\n decryptedValue?: string;\r\n data?: string;\r\n iv?: string;\r\n mac?: string;\r\n\r\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\r\n if (data != null) {\r\n // data and header\r\n const encType = encryptedStringOrType as EncryptionType;\r\n this.encryptedString = encType + '.' + data;\r\n\r\n // iv\r\n if (iv != null) {\r\n this.encryptedString += ('|' + iv);\r\n }\r\n\r\n // mac\r\n if (mac != null) {\r\n this.encryptedString += ('|' + mac);\r\n }\r\n\r\n this.encryptionType = encType;\r\n this.data = data;\r\n this.iv = iv;\r\n this.mac = mac;\r\n\r\n return;\r\n }\r\n\r\n this.encryptedString = encryptedStringOrType as string;\r\n if (!this.encryptedString) {\r\n return;\r\n }\r\n\r\n const headerPieces = this.encryptedString.split('.');\r\n let encPieces: string[] = null;\r\n\r\n if (headerPieces.length === 2) {\r\n try {\r\n this.encryptionType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) {\r\n return;\r\n }\r\n } else {\r\n encPieces = this.encryptedString.split('|');\r\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\r\n EncryptionType.AesCbc256_B64;\r\n }\r\n\r\n switch (this.encryptionType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encPieces.length !== 3) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n this.mac = encPieces[2];\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encPieces.length !== 2) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n return;\r\n }\r\n\r\n this.data = encPieces[0];\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n if (this.decryptedValue) {\r\n return Promise.resolve(this.decryptedValue);\r\n }\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n this.decryptedValue = await cryptoService.decryptToUtf8(this, orgKey);\r\n } catch (e) {\r\n this.decryptedValue = '[error: cannot decrypt]';\r\n }\r\n return this.decryptedValue;\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-organizations',\n templateUrl: 'organizations.component.html',\n})\nexport class OrganizationsComponent implements OnInit {\n @Input() vault = false;\n\n organizations: Organization[];\n loaded: boolean = false;\n actionPromise: Promise;\n\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private syncService: SyncService) { }\n\n async ngOnInit() {\n if (!this.vault) {\n await this.load();\n }\n }\n\n async load() {\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.organizations = orgs;\n this.loaded = true;\n }\n\n async leave(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Left Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\n await this.load();\n } catch { }\n }\n}\n","export abstract class TotpService {\n getCode: (key: string) => Promise;\n getTimeInterval: (key: string) => number;\n isAutoCopyEnabled: () => Promise;\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { LoginUri } from '../domain/loginUri';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nconst CanLaunchWhitelist = [\r\n 'https://',\r\n 'http://',\r\n 'ssh://',\r\n 'ftp://',\r\n 'sftp://',\r\n 'irc://',\r\n 'vnc://',\r\n 'chrome://',\r\n];\r\n\r\nexport class LoginUriView implements View {\r\n match: UriMatchType = null;\r\n\r\n // tslint:disable\r\n private _uri: string = null;\r\n private _domain: string = null;\r\n private _hostname: string = null;\r\n private _canLaunch: boolean = null;\r\n // tslint:enable\r\n\r\n constructor(u?: LoginUri) {\r\n if (!u) {\r\n return;\r\n }\r\n\r\n this.match = u.match;\r\n }\r\n\r\n get uri(): string {\r\n return this._uri;\r\n }\r\n set uri(value: string) {\r\n this._uri = value;\r\n this._domain = null;\r\n this._canLaunch = null;\r\n }\r\n\r\n get domain(): string {\r\n if (this._domain == null && this.uri != null) {\r\n this._domain = Utils.getDomain(this.uri);\r\n if (this._domain === '') {\r\n this._domain = null;\r\n }\r\n }\r\n\r\n return this._domain;\r\n }\r\n\r\n get hostname(): string {\r\n if (this._hostname == null && this.uri != null) {\r\n this._hostname = Utils.getHostname(this.uri);\r\n if (this._hostname === '') {\r\n this._hostname = null;\r\n }\r\n }\r\n\r\n return this._hostname;\r\n }\r\n\r\n get hostnameOrUri(): string {\r\n return this.hostname != null ? this.hostname : this.uri;\r\n }\r\n\r\n get isWebsite(): boolean {\r\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0 ||\r\n (this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri)));\r\n }\r\n\r\n get canLaunch(): boolean {\r\n if (this._canLaunch != null) {\r\n return this._canLaunch;\r\n }\r\n if (this.uri != null && this.match !== UriMatchType.RegularExpression) {\r\n const uri = this.launchUri;\r\n for (let i = 0; i < CanLaunchWhitelist.length; i++) {\r\n if (uri.indexOf(CanLaunchWhitelist[i]) === 0) {\r\n this._canLaunch = true;\r\n return this._canLaunch;\r\n }\r\n }\r\n }\r\n this._canLaunch = false;\r\n return this._canLaunch;\r\n }\r\n\r\n get launchUri(): string {\r\n return this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri) ? ('http://' + this.uri) : this.uri;\r\n }\r\n}\r\n","import {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\n\nexport abstract class TwoFactorBaseComponent {\n @Output() onUpdated = new EventEmitter();\n\n type: TwoFactorProviderType;\n organizationId: string;\n twoFactorProviderType = TwoFactorProviderType;\n enabled = false;\n authed = false;\n\n protected masterPasswordHash: string;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n protected auth(authResponse: any) {\n this.masterPasswordHash = authResponse.masterPasswordHash;\n this.authed = true;\n }\n\n protected async enable(enableFunction: () => Promise) {\n try {\n await enableFunction();\n this.analytics.eventTrack.next({\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.onUpdated.emit(true);\n } catch { }\n }\n\n protected async disable(promise: Promise) {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n const request = new TwoFactorProviderRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.type = this.type;\n if (this.organizationId != null) {\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\n } else {\n promise = this.apiService.putTwoFactorDisable(request);\n }\n await promise;\n this.enabled = false;\n this.analytics.eventTrack.next({\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\n this.onUpdated.emit(false);\n } catch { }\n }\n}\n","import { Importer } from '../importers/importer';\r\n\r\nexport interface ImportOption {\r\n id: string;\r\n name: string;\r\n}\r\nexport abstract class ImportService {\r\n featuredImportOptions: ImportOption[];\r\n regularImportOptions: ImportOption[];\r\n getImportOptions: () => ImportOption[];\r\n import: (importer: Importer, fileContents: string, organizationId?: string) => Promise;\r\n getImporter: (format: string, organization?: boolean) => Importer;\r\n}\r\n","export abstract class ExportService {\r\n getExport: (format?: 'csv' | 'json') => Promise;\r\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json') => Promise;\r\n getFileName: (prefix?: string, extension?: string) => string;\r\n}\r\n","import {\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\nimport { AddEditComponent as OrgAddEditComponent } from '../organizations/vault/add-edit.component';\nimport { AddEditComponent } from '../vault/add-edit.component';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nexport class CipherReportComponent {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n\n loading = false;\n hasLoaded = false;\n ciphers: CipherView[] = [];\n organization: Organization;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, protected userService: UserService,\n protected messagingService: MessagingService, public requiresPaid: boolean) { }\n\n async load() {\n this.loading = true;\n await this.setCiphers();\n this.loading = false;\n this.hasLoaded = true;\n }\n\n selectCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n let childComponent: OrgAddEditComponent | AddEditComponent;\n if (this.organization != null) {\n childComponent = this.modal.show(OrgAddEditComponent, this.cipherAddEditModalRef);\n (childComponent as OrgAddEditComponent).organization = this.organization;\n } else {\n childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n }\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n if (this.organization != null) {\n childComponent.organizationId = this.organization.id;\n }\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n protected async checkAccess(): Promise {\n if (this.organization != null) {\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n if (this.requiresPaid && !this.organization.useTotp) {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n return false;\n }\n } else {\n const accessPremium = await this.userService.canAccessPremium();\n if (this.requiresPaid && !accessPremium) {\n this.messagingService.send('premiumRequired');\n this.loading = false;\n return false;\n }\n }\n return true;\n }\n\n protected async setCiphers() {\n this.ciphers = [];\n }\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { CipherData } from '../data/cipherData';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Attachment } from './attachment';\nimport { Card } from './card';\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { Password } from './password';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher extends Domain {\n id: string;\n organizationId: string;\n folderId: string;\n name: CipherString;\n notes: CipherString;\n type: CipherType;\n favorite: boolean;\n organizationUseTotp: boolean;\n edit: boolean;\n revisionDate: Date;\n localData: any;\n login: Login;\n identity: Identity;\n card: Card;\n secureNote: SecureNote;\n attachments: Attachment[];\n fields: Field[];\n passwordHistory: Password[];\n collectionIds: string[];\n\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n userId: null,\n organizationId: null,\n folderId: null,\n name: null,\n notes: null,\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\n\n this.type = obj.type;\n this.favorite = obj.favorite;\n this.organizationUseTotp = obj.organizationUseTotp;\n this.edit = obj.edit;\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new Login(obj.login, alreadyEncrypted);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\n break;\n case CipherType.Card:\n this.card = new Card(obj.card, alreadyEncrypted);\n break;\n case CipherType.Identity:\n this.identity = new Identity(obj.identity, alreadyEncrypted);\n break;\n default:\n break;\n }\n\n if (obj.attachments != null) {\n this.attachments = [];\n obj.attachments.forEach((attachment) => {\n this.attachments.push(new Attachment(attachment, alreadyEncrypted));\n });\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = [];\n obj.fields.forEach((field) => {\n this.fields.push(new Field(field, alreadyEncrypted));\n });\n } else {\n this.fields = null;\n }\n\n if (obj.passwordHistory != null) {\n this.passwordHistory = [];\n obj.passwordHistory.forEach((ph) => {\n this.passwordHistory.push(new Password(ph, alreadyEncrypted));\n });\n } else {\n this.passwordHistory = null;\n }\n }\n\n async decrypt(): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId);\n break;\n default:\n break;\n }\n\n const orgId = this.organizationId;\n\n if (this.attachments != null && this.attachments.length > 0) {\n const attachments: any[] = [];\n await this.attachments.reduce((promise, attachment) => {\n return promise.then(() => {\n return attachment.decrypt(orgId);\n }).then((decAttachment) => {\n attachments.push(decAttachment);\n });\n }, Promise.resolve());\n model.attachments = attachments;\n }\n\n if (this.fields != null && this.fields.length > 0) {\n const fields: any[] = [];\n await this.fields.reduce((promise, field) => {\n return promise.then(() => {\n return field.decrypt(orgId);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n if (this.passwordHistory != null && this.passwordHistory.length > 0) {\n const passwordHistory: any[] = [];\n await this.passwordHistory.reduce((promise, ph) => {\n return promise.then(() => {\n return ph.decrypt(orgId);\n }).then((decPh) => {\n passwordHistory.push(decPh);\n });\n }, Promise.resolve());\n model.passwordHistory = passwordHistory;\n }\n\n return model;\n }\n\n toCipherData(userId: string): CipherData {\n const c = new CipherData();\n c.id = this.id;\n c.organizationId = this.organizationId;\n c.folderId = this.folderId;\n c.userId = this.organizationId != null ? userId : null;\n c.edit = this.edit;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate != null ? this.revisionDate.toISOString() : null;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n\n this.buildDataModel(this, c, {\n name: null,\n notes: null,\n });\n\n switch (c.type) {\n case CipherType.Login:\n c.login = this.login.toLoginData();\n break;\n case CipherType.SecureNote:\n c.secureNote = this.secureNote.toSecureNoteData();\n break;\n case CipherType.Card:\n c.card = this.card.toCardData();\n break;\n case CipherType.Identity:\n c.identity = this.identity.toIdentityData();\n break;\n default:\n break;\n }\n\n if (this.fields != null) {\n c.fields = [];\n this.fields.forEach((field) => {\n c.fields.push(field.toFieldData());\n });\n }\n\n if (this.attachments != null) {\n c.attachments = [];\n this.attachments.forEach((attachment) => {\n c.attachments.push(attachment.toAttachmentData());\n });\n }\n\n if (this.passwordHistory != null) {\n c.passwordHistory = [];\n this.passwordHistory.forEach((ph) => {\n c.passwordHistory.push(ph.toPasswordHistoryData());\n });\n }\n return c;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\n\n@Injectable()\nexport class EventService {\n constructor(private i18nService: I18nService) { }\n\n getDefaultDateFilters() {\n const d = new Date();\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\n d.setDate(d.getDate() - 30);\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\n }\n\n formatDateFilters(filterStart: string, filterEnd: string) {\n const start: Date = new Date(filterStart);\n const end: Date = new Date(filterEnd + ':59.999');\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\n throw new Error('Invalid date range.');\n }\n return [start.toISOString(), end.toISOString()];\n }\n\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\n const appInfo = this.getAppInfo(ev.deviceType);\n return {\n message: this.getEventMessage(ev, options),\n appIcon: appInfo[0],\n appName: appInfo[1],\n };\n }\n\n private getEventMessage(ev: EventResponse, options: EventOptions) {\n let msg = '';\n switch (ev.type) {\n // User\n case EventType.User_LoggedIn:\n msg = this.i18nService.t('loggedIn');\n break;\n case EventType.User_ChangedPassword:\n msg = this.i18nService.t('changedPassword');\n break;\n case EventType.User_Updated2fa:\n msg = this.i18nService.t('enabledUpdated2fa');\n break;\n case EventType.User_Disabled2fa:\n msg = this.i18nService.t('disabled2fa');\n break;\n case EventType.User_Recovered2fa:\n msg = this.i18nService.t('recovered2fa');\n break;\n case EventType.User_FailedLogIn:\n msg = this.i18nService.t('failedLogin');\n break;\n case EventType.User_FailedLogIn2fa:\n msg = this.i18nService.t('failedLogin2fa');\n break;\n // Cipher\n case EventType.Cipher_Created:\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Updated:\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Deleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentCreated:\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentDeleted:\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Shared:\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_UpdatedCollections:\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\n break;\n // Collection\n case EventType.Collection_Created:\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Updated:\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Deleted:\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\n break;\n // Group\n case EventType.Group_Created:\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Updated:\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Deleted:\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\n break;\n // Org user\n case EventType.OrganizationUser_Invited:\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Confirmed:\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Updated:\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Removed:\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UpdatedGroups:\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\n break;\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n case EventType.Organization_PurgedVault:\n msg = this.i18nService.t('purgedOrganizationVault');\n break;\n default:\n break;\n }\n return msg === '' ? null : msg;\n }\n\n private getAppInfo(deviceType: DeviceType): [string, string] {\n switch (deviceType) {\n case DeviceType.Android:\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\n case DeviceType.iOS:\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\n case DeviceType.UWP:\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\n case DeviceType.ChromeExtension:\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\n case DeviceType.FirefoxExtension:\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\n case DeviceType.OperaExtension:\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\n case DeviceType.EdgeExtension:\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\n case DeviceType.VivaldiExtension:\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\n case DeviceType.SafariExtension:\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\n case DeviceType.WindowsDesktop:\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\n case DeviceType.MacOsDesktop:\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\n case DeviceType.LinuxDesktop:\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\n case DeviceType.ChromeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\n case DeviceType.FirefoxBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\n case DeviceType.OperaBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\n case DeviceType.SafariBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\n case DeviceType.VivaldiBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\n case DeviceType.EdgeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\n case DeviceType.IEBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\n case DeviceType.UnknownBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\n default:\n return ['fa-globe', this.i18nService.t('unknown')];\n }\n }\n\n private formatCipherId(ev: EventResponse, options: EventOptions) {\n const shortId = this.getShortId(ev.cipherId);\n if (ev.organizationId == null || !options.cipherInfo) {\n return '' + shortId + '';\n }\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\n '&viewEvents=' + ev.cipherId);\n return a.outerHTML;\n }\n\n private formatGroupId(ev: EventResponse) {\n const shortId = this.getShortId(ev.groupId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatCollectionId(ev: EventResponse) {\n const shortId = this.getShortId(ev.collectionId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatOrgUserId(ev: EventResponse) {\n const shortId = this.getShortId(ev.organizationUserId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\n '&viewEvents=' + ev.organizationUserId);\n return a.outerHTML;\n }\n\n private makeAnchor(shortId: string) {\n const a = document.createElement('a');\n a.title = this.i18nService.t('view');\n a.innerHTML = '' + shortId + '';\n return a;\n }\n\n private getShortId(id: string) {\n return id.substring(0, 8);\n }\n\n private toDateTimeLocalString(date: Date) {\n return date.getFullYear() +\n '-' + this.pad(date.getMonth() + 1) +\n '-' + this.pad(date.getDate()) +\n 'T' + this.pad(date.getHours()) +\n ':' + this.pad(date.getMinutes());\n }\n\n private pad(num: number) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n }\n}\n\nexport class EventInfo {\n message: string;\n appIcon: string;\n appName: string;\n}\n\nexport class EventOptions {\n cipherInfo = true;\n}\n","export enum OrganizationUserType {\r\n Owner = 0,\r\n Admin = 1,\r\n User = 2,\r\n Manager = 3,\r\n}\r\n","import { KdfType } from '../enums/kdfType';\nimport { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { DeviceRequest } from '../models/request/deviceRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\n\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\n\nexport const TwoFactorProviders = {\n [TwoFactorProviderType.Authenticator]: {\n type: TwoFactorProviderType.Authenticator,\n name: null as string,\n description: null as string,\n priority: 1,\n sort: 1,\n premium: false,\n },\n [TwoFactorProviderType.Yubikey]: {\n type: TwoFactorProviderType.Yubikey,\n name: null as string,\n description: null as string,\n priority: 3,\n sort: 2,\n premium: true,\n },\n [TwoFactorProviderType.Duo]: {\n type: TwoFactorProviderType.Duo,\n name: 'Duo',\n description: null as string,\n priority: 2,\n sort: 3,\n premium: true,\n },\n [TwoFactorProviderType.OrganizationDuo]: {\n type: TwoFactorProviderType.OrganizationDuo,\n name: 'Duo (Organization)',\n description: null as string,\n priority: 10,\n sort: 4,\n premium: false,\n },\n [TwoFactorProviderType.U2f]: {\n type: TwoFactorProviderType.U2f,\n name: null as string,\n description: null as string,\n priority: 4,\n sort: 5,\n premium: true,\n },\n [TwoFactorProviderType.Email]: {\n type: TwoFactorProviderType.Email,\n name: null as string,\n description: null as string,\n priority: 0,\n sort: 6,\n premium: false,\n },\n};\n\nexport class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\n\n private key: SymmetricCryptoKey;\n private kdf: KdfType;\n private kdfIterations: number;\n\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\n private userService: UserService, private tokenService: TokenService,\n private appIdService: AppIdService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\n private setCryptoKeys = true) { }\n\n init() {\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\n this.i18nService.t('authenticatorAppDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\n\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\n 'Duo (' + this.i18nService.t('organization') + ')';\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\n this.i18nService.t('duoOrganizationDesc');\n\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\n }\n\n async logIn(email: string, masterPassword: string): Promise {\n this.selectedTwoFactorProviderType = null;\n const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.key, twoFactorProvider,\n twoFactorToken, remember);\n }\n\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key, twoFactorProvider, twoFactorToken, remember);\n }\n\n logOut(callback: Function) {\n callback();\n this.messagingService.send('loggedOut');\n }\n\n getSupportedTwoFactorProviders(win: Window): any[] {\n const providers: any[] = [];\n if (this.twoFactorProviders == null) {\n return providers;\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProviders == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProviders.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProviders.forEach((value, type) => {\n const provider = (TwoFactorProviders as any)[type];\n if (provider != null && provider.priority > providerPriority) {\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\n return;\n }\n\n providerType = type;\n providerPriority = provider.priority;\n }\n });\n\n return providerType;\n }\n\n async makePreloginKey(masterPassword: string, email: string): Promise {\n email = email.trim().toLowerCase();\n this.kdf = null;\n this.kdfIterations = null;\n try {\n const preloginResponse = await this.apiService.postPrelogin(new PreloginRequest(email));\n if (preloginResponse != null) {\n this.kdf = preloginResponse.kdf;\n this.kdfIterations = preloginResponse.kdfIterations;\n }\n } catch (e) {\n if (e == null || e.statusCode !== 404) {\n throw e;\n }\n }\n return this.cryptoService.makeKey(masterPassword, email, this.kdf, this.kdfIterations);\n }\n\n private async logInHelper(email: string, hashedPassword: string, key: SymmetricCryptoKey,\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\n const appId = await this.appIdService.getAppId();\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(email, hashedPassword, twoFactorProvider, twoFactorToken, remember,\n deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(email, hashedPassword, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(email, hashedPassword, null, null, false, deviceRequest);\n }\n\n const response = await this.apiService.postIdentityToken(request);\n\n this.clearState();\n const result = new AuthResult();\n result.twoFactor = !(response as any).accessToken;\n\n if (result.twoFactor) {\n // two factor required\n const twoFactorResponse = response as IdentityTwoFactorResponse;\n this.email = email;\n this.masterPasswordHash = hashedPassword;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n if (tokenResponse.twoFactorToken != null) {\n this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setInformation(this.tokenService.getUserId(), this.tokenService.getEmail(),\n this.kdf, this.kdfIterations);\n if (this.setCryptoKeys) {\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(hashedPassword);\n await this.cryptoService.setEncKey(tokenResponse.key);\n\n // User doesn't have a key pair yet (old account), let's generate one for them\n if (tokenResponse.privateKey == null) {\n try {\n const keyPair = await this.cryptoService.makeKeyPair();\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\n tokenResponse.privateKey = keyPair[1].encryptedString;\n } catch (e) {\n // tslint:disable-next-line\n console.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.email = null;\n this.masterPasswordHash = null;\n this.twoFactorProviders = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\n\n@Component({\n selector: 'app-vault-groupings',\n templateUrl: 'groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n @Output() onSearchTextChanged = new EventEmitter();\n\n searchText: string = '';\n searchPlaceholder: string = null;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n searchTextChanged() {\n this.onSearchTextChanged.emit(this.searchText);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\n\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nconst MaxCheckedCount = 500;\n\n@Component({\n selector: 'app-vault-ciphers',\n templateUrl: 'ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent implements OnDestroy {\n @Input() showAddNew = true;\n @Output() onAttachmentsClicked = new EventEmitter();\n @Output() onShareClicked = new EventEmitter();\n @Output() onCollectionsClicked = new EventEmitter();\n\n cipherType = CipherType;\n actionPromise: Promise;\n\n constructor(searchService: SearchService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected cipherService: CipherService) {\n super(searchService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n checkCipher(c: CipherView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n if (select) {\n this.selectAll(false);\n }\n const selectCount = select && this.ciphers.length > MaxCheckedCount ? MaxCheckedCount : this.ciphers.length;\n for (let i = 0; i < selectCount; i++) {\n this.checkCipher(this.ciphers[i], select);\n }\n }\n\n getSelected(): CipherView[] {\n if (this.ciphers == null) {\n return [];\n }\n return this.ciphers.filter((c) => !!(c as any).checked);\n }\n\n getSelectedIds(): string[] {\n return this.getSelected().map((c) => c.id);\n }\n\n attachments(c: CipherView) {\n this.onAttachmentsClicked.emit(c);\n }\n\n share(c: CipherView) {\n this.onShareClicked.emit(c);\n }\n\n collections(c: CipherView) {\n this.onCollectionsClicked.emit(c);\n }\n\n async delete(c: CipherView): Promise {\n if (this.actionPromise != null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.deleteCipher(c.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n protected deleteCipher(id: string) {\n return this.cipherService.deleteWithServer(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return c.hasOldAttachments && c.organizationId == null;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\n\n@Component({\n selector: 'app-vault-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent {\n canAccessPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n showRevisionDate = false;\n hasPasswordHistory = false;\n viewingPasswordHistory = false;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n protected totpService: TotpService, protected passwordGenerationService: PasswordGenerationService,\n protected messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, messagingService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n await this.load();\n this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null;\n this.hasPasswordHistory = this.cipher.hasPasswordHistory;\n this.cleanUp();\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.canAccessPremium)) {\n await this.totpUpdateCode();\n const interval = this.totpService.getTimeInterval(this.cipher.login.totp);\n await this.totpTick(interval);\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick(interval);\n }, 1000);\n }\n }\n\n toggleFavorite() {\n this.cipher.favorite = !this.cipher.favorite;\n }\n\n launch(uri: LoginUriView) {\n if (!uri.canLaunch) {\n return;\n }\n\n this.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri.launchUri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.platformUtilsService.eventTrack('Copied ' + aType);\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = await this.passwordGenerationService.getOptions();\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n viewHistory() {\n this.viewingPasswordHistory = !this.viewingPasswordHistory;\n }\n\n protected cleanUp() {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n\n protected async totpUpdateCode() {\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n return;\n }\n\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\n if (this.totpCode != null) {\n if (this.totpCode.length > 4) {\n const half = Math.floor(this.totpCode.length / 2);\n this.totpCodeFormatted = this.totpCode.substring(0, half) + ' ' + this.totpCode.substring(half);\n } else {\n this.totpCodeFormatted = this.totpCode;\n }\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n private async totpTick(intervalSeconds: number) {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % intervalSeconds;\n\n this.totpSec = intervalSeconds - mod;\n this.totpDash = +(Math.round((((78.6 / intervalSeconds) * mod) + 'e+2') as any) + 'e-2');\n this.totpLow = this.totpSec <= 7;\n if (mod === 0) {\n await this.totpUpdateCode();\n }\n }\n}\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\n","export enum UriMatchType {\r\n Domain = 0,\r\n Host = 1,\r\n StartsWith = 2,\r\n Exact = 3,\r\n RegularExpression = 4,\r\n Never = 5,\r\n}\r\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: 'two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent implements OnInit {\n @ViewChild('recoveryTemplate', { read: ViewContainerRef }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n canAccessPremium: boolean;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected userService: UserService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n\n for (const key in TwoFactorProviders) {\n if (!TwoFactorProviders.hasOwnProperty(key)) {\n continue;\n }\n\n const p = (TwoFactorProviders as any)[key];\n if (this.filterProvider(p.type)) {\n continue;\n }\n\n this.providers.push({\n type: p.type,\n name: p.name,\n description: p.description,\n enabled: false,\n premium: p.premium,\n sort: p.sort,\n });\n }\n\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\n await this.load();\n }\n\n async load() {\n this.loading = true;\n const providerList = await this.getTwoFactorProviders();\n providerList.data.forEach((p) => {\n this.providers.forEach((p2) => {\n if (p.type === p2.type) {\n p2.enabled = p.enabled;\n }\n });\n });\n this.loading = false;\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.Authenticator:\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\n authComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\n });\n break;\n case TwoFactorProviderType.Yubikey:\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\n });\n break;\n case TwoFactorProviderType.Duo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\n });\n break;\n case TwoFactorProviderType.Email:\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\n emailComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Email);\n });\n break;\n case TwoFactorProviderType.U2f:\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\n });\n break;\n default:\n break;\n }\n }\n\n recoveryCode() {\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\n }\n\n async premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorProviders();\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type === TwoFactorProviderType.OrganizationDuo;\n }\n\n protected openModal(ref: ViewContainerRef, type: Type): T {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = ref.createComponent(factory).instance;\n const childComponent = this.modal.show(type, ref);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return childComponent;\n }\n\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\n if (!enabled && this.modal != null) {\n this.modal.close();\n }\n this.providers.forEach((p) => {\n if (p.type === type) {\n p.enabled = enabled;\n }\n });\n }\n}\n","export enum PaymentMethodType {\r\n Card = 0,\r\n BankAccount = 1,\r\n PayPal = 2,\r\n BitPay = 3,\r\n Credit = 4,\r\n WireTransfer = 5,\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { TransactionType } from 'jslib/enums/transactionType';\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\n\n@Component({\n selector: 'app-user-billing',\n templateUrl: 'user-billing.component.html',\n})\nexport class UserBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n showAdjustPayment = false;\n showAddCredit = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n transactionType = TransactionType;\n organizationId: string;\n verifyAmount1: number;\n verifyAmount2: number;\n\n verifyBankPromise: Promise;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService) { }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n if (this.organizationId != null) {\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n } else {\n this.billing = await this.apiService.getUserBilling();\n }\n this.loading = false;\n }\n\n async verifyBank() {\n if (this.loading) {\n return;\n }\n\n try {\n const request = new VerifyBankRequest();\n request.amount1 = this.verifyAmount1;\n request.amount2 = this.verifyAmount2;\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\n await this.verifyBankPromise;\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\n this.load();\n } catch { }\n }\n\n addCredit() {\n this.showAddCredit = true;\n }\n\n closeAddCredit(load: boolean) {\n this.showAddCredit = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n get isCreditBalance() {\n return this.billing == null || this.billing.balance <= 0;\n }\n\n get creditOrBalance() {\n return Math.abs(this.billing != null ? this.billing.balance : 0);\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get invoices() {\n return this.billing != null ? this.billing.invoices : null;\n }\n\n get transactions() {\n return this.billing != null ? this.billing.transactions : null;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportOption, ImportService } from 'jslib/abstractions/import.service';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: ImportOption[];\n importOptions: ImportOption[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected organizationId: string = null;\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected importService: ImportService,\n protected router: Router) { }\n\n ngOnInit() {\n this.setImportOptions();\n this.importOptions.sort((a, b) => {\n if (a.name == null && b.name != null) {\n return -1;\n }\n if (a.name != null && b.name == null) {\n return 1;\n }\n if (a.name == null && b.name == null) {\n return 0;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\n a.name.localeCompare(b.name);\n });\n }\n\n async submit() {\n const importer = this.importService.getImporter(this.format, this.organizationId != null);\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n let fileContents = this.fileContents;\n if (files != null && files.length > 0) {\n try {\n const content = await this.getFileContents(files[0]);\n if (content != null) {\n fileContents = content;\n }\n } catch { }\n }\n\n if (fileContents == null || fileContents === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n this.formPromise = this.importService.import(importer, fileContents, this.organizationId);\n const error = await this.formPromise;\n if (error != null) {\n this.error(error);\n return;\n }\n this.analytics.eventTrack.next({\n action: 'Imported Data',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\n this.router.navigate(this.successNavigate);\n } catch { }\n }\n\n getFormatInstructionTitle() {\n if (this.format == null) {\n return null;\n }\n\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\n if (results.length > 0) {\n return this.i18nService.t('instructionsFor', results[0].name);\n }\n return null;\n }\n\n protected setImportOptions() {\n this.featuredImportOptions = [{\n id: null,\n name: '-- ' + this.i18nService.t('select') + ' --',\n }, ...this.importService.featuredImportOptions];\n this.importOptions = this.importService.regularImportOptions;\n }\n\n private error(error: Error) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error.message);\n }\n\n private getFileContents(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = (evt) => {\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\n const parser = new DOMParser();\n const doc = parser.parseFromString((evt.target as any).result, 'text/html');\n const pre = doc.querySelector('pre');\n if (pre != null) {\n resolve(pre.textContent);\n return;\n }\n reject();\n return;\n }\n\n resolve((evt.target as any).result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\n}\n","import { Component } from '@angular/core';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\n\n@Component({\n selector: 'app-export',\n templateUrl: 'export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService) {\n super(cryptoService, i18nService, platformUtilsService, exportService, window);\n }\n\n protected saved() {\n super.saved();\n this.masterPassword = null;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('exportSuccess'));\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: 'reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordUseMap: Map;\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const ciphersWithPasswords: CipherView[] = [];\n this.passwordUseMap = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '') {\n return;\n }\n ciphersWithPasswords.push(c);\n if (this.passwordUseMap.has(c.login.password)) {\n this.passwordUseMap.set(c.login.password, this.passwordUseMap.get(c.login.password) + 1);\n } else {\n this.passwordUseMap.set(c.login.password, 1);\n }\n });\n const reusedPasswordCiphers = ciphersWithPasswords.filter((c) =>\n this.passwordUseMap.has(c.login.password) && this.passwordUseMap.get(c.login.password) > 1);\n this.ciphers = reusedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: 'unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends CipherReportComponent implements OnInit {\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const unsecuredCiphers = allCiphers.filter((c) => {\n if (c.type !== CipherType.Login || !c.login.hasUris) {\n return false;\n }\n return c.login.uris.some((u) => u.uri != null && u.uri.indexOf('http://') === 0);\n });\n this.ciphers = unsecuredCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: 'weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordStrengthMap = new Map();\n\n private passwordStrengthCache = new Map();\n\n constructor(protected cipherService: CipherService, protected passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const weakPasswordCiphers: CipherView[] = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '') {\n return;\n }\n const hasUsername = c.login.username != null && c.login.username.trim() !== '';\n const cacheKey = c.login.password + '_____' + (hasUsername ? c.login.username : '');\n if (!this.passwordStrengthCache.has(cacheKey)) {\n let userInput: string[] = [];\n if (hasUsername) {\n const atPosition = c.login.username.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(\n c.login.username.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/))\n .filter((i) => i.length >= 3);\n } else {\n userInput = c.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/)\n .filter((i) => i.length >= 3);\n }\n }\n const result = this.passwordGenerationService.passwordStrength(c.login.password,\n userInput.length > 0 ? userInput : null);\n this.passwordStrengthCache.set(cacheKey, result.score);\n }\n const score = this.passwordStrengthCache.get(cacheKey);\n if (score != null && score <= 3) {\n this.passwordStrengthMap.set(c.id, this.scoreKey(score));\n weakPasswordCiphers.push(c);\n }\n });\n this.ciphers = weakPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n private scoreKey(score: number): [string, string] {\n switch (score) {\n case 4:\n return ['strong', 'success'];\n case 3:\n return ['good', 'primary'];\n case 2:\n return ['weak', 'warning'];\n default:\n return ['veryWeak', 'danger'];\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: 'exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n exposedPasswordMap = new Map();\n\n constructor(protected cipherService: CipherService, protected auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n ngOnInit() {\n this.checkAccess();\n }\n\n async load() {\n if (await this.checkAccess()) {\n super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const exposedPasswordCiphers: CipherView[] = [];\n const promises: Array> = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '') {\n return;\n }\n const promise = this.auditService.passwordLeaked(c.login.password).then((exposedCount) => {\n if (exposedCount > 0) {\n exposedPasswordCiphers.push(c);\n this.exposedPasswordMap.set(c.id, exposedCount);\n }\n });\n promises.push(promise);\n });\n await Promise.all(promises);\n this.ciphers = exposedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: 'inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends CipherReportComponent implements OnInit {\n services = new Map();\n cipherDocs = new Map();\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n try {\n await this.load2fa();\n } catch { }\n if (this.services.size > 0) {\n const allCiphers = await this.getAllCiphers();\n const inactive2faCiphers: CipherView[] = [];\n const promises: Array> = [];\n const docs = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || (c.login.totp != null && c.login.totp !== '') || !c.login.hasUris) {\n return;\n }\n for (let i = 0; i < c.login.uris.length; i++) {\n const u = c.login.uris[i];\n if (u.uri != null && u.uri !== '') {\n const hostname = Utils.getHostname(u.uri);\n if (hostname != null && this.services.has(hostname)) {\n if (this.services.get(hostname) != null) {\n docs.set(c.id, this.services.get(hostname));\n }\n inactive2faCiphers.push(c);\n break;\n }\n }\n }\n });\n await Promise.all(promises);\n this.ciphers = inactive2faCiphers;\n this.cipherDocs = docs;\n }\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n private async load2fa() {\n if (this.services.size > 0) {\n return;\n }\n const response = await fetch(new Request('https://twofactorauth.org/data.json'));\n if (response.status !== 200) {\n throw new Error();\n }\n const responseJson = await response.json();\n for (const categoryName in responseJson) {\n if (responseJson.hasOwnProperty(categoryName)) {\n const category = responseJson[categoryName];\n for (const serviceName in category) {\n if (category.hasOwnProperty(serviceName)) {\n const service = category[serviceName];\n if (service.tfa && service.url != null) {\n const hostname = Utils.getHostname(service.url);\n if (hostname != null) {\n this.services.set(hostname, service.doc);\n }\n }\n }\n }\n }\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n@Pipe({\n name: 'search',\n})\nexport class SearchPipe implements PipeTransform {\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\n if (items == null || items.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return items;\n }\n\n searchText = searchText.trim().toLowerCase();\n return items.filter((i) => {\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n return false;\n });\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n\n constructor(id: string, readOnly: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n }\n}\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class SelectionReadOnlyResponse extends BaseResponse {\r\n id: string;\r\n readOnly: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.readOnly = this.getResponseProperty('ReadOnly');\r\n }\r\n}\r\n","import { EnvironmentService } from './environment.service';\r\n\r\nexport abstract class NotificationsService {\r\n init: (environmentService: EnvironmentService) => Promise;\r\n updateConnection: (sync?: boolean) => Promise;\r\n reconnectFromActivity: () => Promise;\r\n disconnectFromInactivity: () => Promise;\r\n}\r\n","export abstract class SettingsService {\r\n clearCache: () => void;\r\n getEquivalentDomains: () => Promise;\r\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\r\n clear: (userId: string) => Promise;\r\n}\r\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-frontend-layout',\n templateUrl: 'frontend-layout.component.html',\n})\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n document.body.classList.add('layout_frontend');\n }\n\n ngOnDestroy() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: 'login.component.html',\n})\nexport class LoginComponent extends BaseLoginComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, private stateService: StateService,\n platformUtilsService: PlatformUtilsService) {\n super(authService, router, platformUtilsService, i18nService, storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n await super.ngOnInit();\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\n\n@Component({\n selector: 'app-two-factor',\n templateUrl: 'two-factor.component.html',\n})\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\n @ViewChild('twoFactorOptions', { read: ViewContainerRef }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, private stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n anotherMethod() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\n const childComponent = modal.show(TwoFactorOptionsComponent,\n this.twoFactorOptionsModal);\n\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\n modal.close();\n this.selectedProviderType = provider;\n await this.init();\n });\n childComponent.onRecoverSelected.subscribe(() => {\n modal.close();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-password-strength',\n templateUrl: 'password-strength.component.html',\n})\nexport class PasswordStrengthComponent implements OnChanges {\n @Input() score?: number;\n @Input() showText = false;\n\n scoreWidth = 0;\n color = 'bg-danger';\n text: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnChanges(): void {\n this.scoreWidth = this.score == null ? 0 : (this.score + 1) * 20;\n switch (this.score) {\n case 4:\n this.color = 'bg-success';\n this.text = this.i18nService.t('strong');\n break;\n case 3:\n this.color = 'bg-primary';\n this.text = this.i18nService.t('good');\n break;\n case 2:\n this.color = 'bg-warning';\n this.text = this.i18nService.t('weak');\n break;\n default:\n this.color = 'bg-danger';\n this.text = this.score != null ? this.i18nService.t('weak') : null;\n break;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n showTerms = true;\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService,\n passwordGenerationService: PasswordGenerationService) {\n super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService,\n passwordGenerationService);\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe((qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.showCreateOrgMessage = true;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n}\n","export enum KdfType {\r\n PBKDF2_SHA256 = 0,\r\n}\r\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\n\n@Component({\n selector: 'app-hint',\n templateUrl: 'hint.component.html',\n})\nexport class HintComponent extends BaseHintComponent {\n constructor(router: Router, i18nService: I18nService,\n apiService: ApiService, platformUtilsService: PlatformUtilsService) {\n super(router, i18nService, apiService, platformUtilsService);\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { LockService } from 'jslib/abstractions/lock.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { RouterService } from '../services/router.service';\r\n\r\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\r\n\r\n@Component({\r\n selector: 'app-lock',\r\n templateUrl: 'lock.component.html',\r\n})\r\nexport class LockComponent extends BaseLockComponent {\r\n constructor(router: Router, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\r\n userService: UserService, cryptoService: CryptoService,\r\n storageService: StorageService, lockService: LockService,\r\n private routerService: RouterService) {\r\n super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService,\r\n storageService, lockService);\r\n }\r\n\r\n async ngOnInit() {\r\n await super.ngOnInit();\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n this.router.navigate(['/']);\r\n } else if (await this.cryptoService.hasKey()) {\r\n this.router.navigate(['vault']);\r\n }\r\n\r\n this.onSuccessfulSubmit = () => {\r\n const previousUrl = this.routerService.getPreviousUrl();\r\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\r\n this.successRoute = previousUrl;\r\n }\r\n this.router.navigate([this.successRoute]);\r\n };\r\n }\r\n}\r\n","export enum EncryptionType {\r\n AesCbc256_B64 = 0,\r\n AesCbc128_HmacSha256_B64 = 1,\r\n AesCbc256_HmacSha256_B64 = 2,\r\n Rsa2048_OaepSha256_B64 = 3,\r\n Rsa2048_OaepSha1_B64 = 4,\r\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\r\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\n\n@Component({\n selector: 'app-verify-email-token',\n templateUrl: 'verify-email-token.component.html',\n})\nexport class VerifyEmailTokenComponent implements OnInit {\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null) {\n try {\n await this.apiService.postAccountVerifyEmailToken(\n new VerifyEmailRequest(qParams.userId, qParams.token));\n const authed = await this.userService.isAuthenticated();\n if (authed) {\n await this.apiService.refreshIdentityToken();\n }\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\n this.router.navigate(['/']);\n return;\n } catch { }\n }\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\n this.router.navigate(['/']);\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport {\r\n Toast,\r\n ToasterService,\r\n} from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\r\n\r\n@Component({\r\n selector: 'app-accept-organization',\r\n templateUrl: 'accept-organization.component.html',\r\n})\r\nexport class AcceptOrganizationComponent implements OnInit {\r\n loading = true;\r\n authed = false;\r\n orgName: string;\r\n email: string;\r\n actionPromise: Promise;\r\n\r\n constructor(private router: Router, private toasterService: ToasterService,\r\n private i18nService: I18nService, private route: ActivatedRoute,\r\n private apiService: ApiService, private userService: UserService,\r\n private stateService: StateService) { }\r\n\r\n ngOnInit() {\r\n let fired = false;\r\n this.route.queryParams.subscribe(async (qParams) => {\r\n if (fired) {\r\n return;\r\n }\r\n fired = true;\r\n await this.stateService.remove('orgInvitation');\r\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\r\n if (!error) {\r\n this.authed = await this.userService.isAuthenticated();\r\n if (this.authed) {\r\n const request = new OrganizationUserAcceptRequest();\r\n request.token = qParams.token;\r\n try {\r\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\r\n qParams.organizationUserId, request);\r\n await this.actionPromise;\r\n const toast: Toast = {\r\n type: 'success',\r\n title: this.i18nService.t('inviteAccepted'),\r\n body: this.i18nService.t('inviteAcceptedDesc'),\r\n timeout: 10000,\r\n };\r\n this.toasterService.popAsync(toast);\r\n this.router.navigate(['/vault']);\r\n } catch {\r\n error = true;\r\n }\r\n } else {\r\n await this.stateService.save('orgInvitation', qParams);\r\n this.email = qParams.email;\r\n this.orgName = qParams.organizationName;\r\n if (this.orgName != null) {\r\n // Fix URL encoding of space issue with Angular\r\n this.orgName = this.orgName.replace(/\\+/g, ' ');\r\n }\r\n }\r\n }\r\n\r\n if (error) {\r\n this.toasterService.popAsync('error', null, this.i18nService.t('inviteAcceptFailed'));\r\n this.router.navigate(['/']);\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\n\n@Component({\n selector: 'app-recover-two-factor',\n templateUrl: 'recover-two-factor.component.html',\n})\nexport class RecoverTwoFactorComponent {\n email: string;\n masterPassword: string;\n recoveryCode: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private cryptoService: CryptoService,\n private authService: AuthService) { }\n\n async submit() {\n try {\n const request = new TwoFactorRecoveryRequest();\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\n request.email = this.email.trim().toLowerCase();\n const key = await this.authService.makePreloginKey(this.masterPassword, request.email);\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n this.formPromise = this.apiService.postTwoFactorRecover(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\n\n@Component({\n selector: 'app-recover-delete',\n templateUrl: 'recover-delete.component.html',\n})\nexport class RecoverDeleteComponent {\n email: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService) {\n }\n\n async submit() {\n try {\n const request = new DeleteRecoverRequest();\n request.email = this.email.trim().toLowerCase();\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\n\n@Component({\n selector: 'app-verify-recover-delete',\n templateUrl: 'verify-recover-delete.component.html',\n})\nexport class VerifyRecoverDeleteComponent implements OnInit {\n email: string;\n formPromise: Promise;\n\n private userId: string;\n private token: string;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\n this.userId = qParams.userId;\n this.token = qParams.token;\n this.email = qParams.email;\n } else {\n this.router.navigate(['/']);\n }\n });\n }\n\n async submit() {\n try {\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: 'navbar.component.html',\n})\nexport class NavbarComponent implements OnInit {\n selfHosted = false;\n name: string;\n email: string;\n\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\n private tokenService: TokenService) {\n this.selfHosted = this.platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.name = await this.tokenService.getName();\n this.email = await this.tokenService.getEmail();\n if (this.name == null || this.name.trim() === '') {\n this.name = this.email;\n }\n }\n\n lock() {\n this.messagingService.send('lockVault');\n }\n\n logOut() {\n this.messagingService.send('logout');\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n})\nexport class FooterComponent implements OnInit {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-layout',\r\n templateUrl: 'user-layout.component.html',\r\n})\r\nexport class UserLayoutComponent implements OnInit {\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { OrganizationsComponent } from '../settings/organizations.component';\nimport { UpdateKeyComponent } from '../settings/update-key.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { FolderAddEditComponent } from './folder-add-edit.component';\nimport { GroupingsComponent } from './groupings.component';\nimport { ShareComponent } from './share.component';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'VaultComponent';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef }) bulkShareModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef }) updateKeyModalRef: ViewContainerRef;\n\n favorites: boolean = false;\n type: CipherType = null;\n folderId: string = null;\n collectionId: string = null;\n showVerifyEmail = false;\n showBrowserOutdated = false;\n showUpdateKey = false;\n showPremiumCallout = false;\n\n private modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private tokenService: TokenService, private cryptoService: CryptoService,\n private messagingService: MessagingService, private userService: UserService,\n private platformUtilsService: PlatformUtilsService, private toasterService: ToasterService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n\n this.showUpdateKey = !(await this.cryptoService.hasEncKey());\n const canAccessPremium = await this.userService.canAccessPremium();\n this.showPremiumCallout = !this.showVerifyEmail && !canAccessPremium &&\n !this.platformUtilsService.isSelfHost();\n\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (params.favorites) {\n this.groupingsComponent.selectedFavorites = true;\n await this.filterFavorites();\n } else if (params.type) {\n const t = parseInt(params.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t);\n } else if (params.folderId) {\n this.groupingsComponent.selectedFolder = true;\n this.groupingsComponent.selectedFolderId = params.folderId;\n await this.filterFolder(params.folderId);\n } else if (params.collectionId) {\n this.groupingsComponent.selectedCollectionId = params.collectionId;\n await this.filterCollection(params.collectionId);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n this.ciphersComponent.load(this.ciphersComponent.filter),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.load();\n this.clearFilters();\n this.go();\n }\n\n async filterFavorites() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\n await this.ciphersComponent.load((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterCipherType(type: CipherType) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n await this.ciphersComponent.load((c) => c.type === type);\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterFolder(folderId: string) {\n this.ciphersComponent.showAddNew = true;\n folderId = folderId === 'none' ? null : folderId;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\n await this.ciphersComponent.load((c) => c.folderId === folderId);\n this.clearFilters();\n this.folderId = folderId == null ? 'none' : folderId;\n this.go();\n }\n\n async filterCollection(collectionId: string) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.load((c) => c.collectionIds != null && c.collectionIds.indexOf(collectionId) > -1);\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n this.ciphersComponent.search(200);\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const canAccessPremium = await this.userService.canAccessPremium();\n if (cipher.organizationId == null && !canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n } else if (cipher.organizationId != null) {\n const org = await this.userService.getOrganization(cipher.organizationId);\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onReuploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n shareCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.shareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSharedCipher.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async addFolder() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = null;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async editFolder(folderId: string) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = folderId;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n childComponent.onDeletedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n await this.filterFolder('none');\n this.groupingsComponent.selectedFolderId = null;\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n component.folderId = this.folderId === 'none' ? null : this.folderId;\n if (this.collectionId != null) {\n const collection = this.groupingsComponent.collections.filter((c) => c.id === this.collectionId);\n if (collection.length > 0) {\n component.organizationId = collection[0].organizationId;\n component.collectionIds = [this.collectionId];\n }\n }\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n bulkDelete() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onDeleted.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkShare() {\n const selectedCiphers = this.ciphersComponent.getSelected();\n if (selectedCiphers.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\n\n childComponent.ciphers = selectedCiphers;\n childComponent.onShared.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n bulkMove() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onMoved.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n selectAll(select: boolean) {\n this.ciphersComponent.selectAll(select);\n }\n\n updateKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.folderId = null;\n this.collectionId = null;\n this.favorites = false;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n favorites: this.favorites ? true : null,\n type: this.type,\n folderId: this.folderId,\n collectionId: this.collectionId,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherWithIdRequest extends CipherRequest {\n id: string;\n\n constructor(cipher: Cipher) {\n super(cipher);\n this.id = cipher.id;\n }\n}\n","import { Folder } from '../domain/folder';\r\n\r\nexport class FolderRequest {\r\n name: string;\r\n\r\n constructor(folder: Folder) {\r\n this.name = folder.name ? folder.name.encryptedString : null;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\n\n@Component({\n selector: 'app-vault-attachments',\n templateUrl: 'attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService, window);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.showFixOldAttachments(attachment)) {\n await this.reuploadCipherAttachment(attachment, false);\n }\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.cipher.organizationId == null;\n }\n}\n","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from 'jslib/angular/components/collections.component';\n\n@Component({\n selector: 'app-vault-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n this.collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'SettingsComponent';\n\n@Component({\n selector: 'app-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent implements OnInit, OnDestroy {\n premium: boolean;\n selfHosted: boolean;\n\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\n private ngZone: NgZone, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'purchasedPremium':\n await this.load();\n break;\n default:\n }\n });\n });\n\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n await this.load();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.premium = await this.tokenService.getPremium();\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './delete-account.component';\r\nimport { PurgeVaultComponent } from './purge-vault.component';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef }) deauthModalRef: ViewContainerRef;\r\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n deauthorizeSessions() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deauthModalRef.createComponent(factory).instance;\r\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n deleteAccount() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import {\n Component,\n Input,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-purge-vault',\n templateUrl: 'purge-vault.component.html',\n})\nexport class PurgeVaultComponent {\n @Input() organizationId?: string = null;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postPurgeCiphers(request, this.organizationId);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.organizationId != null ? 'Purged Organization Vault' : 'Purged Vault',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\n if (this.organizationId != null) {\n this.router.navigate(['organizations', this.organizationId, 'vault']);\n } else {\n this.router.navigate(['vault']);\n }\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-options',\n templateUrl: 'options.component.html',\n})\nexport class OptionsComponent implements OnInit {\n lockOption: number = null;\n disableIcons: boolean;\n enableGravatars: boolean;\n locale: string;\n lockOptions: any[];\n localeOptions: any[];\n\n private startingLocale: string;\n\n constructor(private storageService: StorageService, private stateService: StateService,\n private analytics: Angulartics2, private i18nService: I18nService,\n private toasterService: ToasterService, private lockService: LockService,\n private platformUtilsService: PlatformUtilsService) {\n this.lockOptions = [\n { name: i18nService.t('oneMinute'), value: 1 },\n { name: i18nService.t('fiveMinutes'), value: 5 },\n { name: i18nService.t('fifteenMinutes'), value: 15 },\n { name: i18nService.t('thirtyMinutes'), value: 30 },\n { name: i18nService.t('oneHour'), value: 60 },\n { name: i18nService.t('fourHours'), value: 240 },\n { name: i18nService.t('onRefresh'), value: -1 },\n ];\n if (this.platformUtilsService.isDev()) {\n this.lockOptions.push({ name: i18nService.t('never'), value: null });\n }\n\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n localeOptions.push({ name: locale, value: locale });\n });\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\n this.localeOptions = localeOptions;\n }\n\n async ngOnInit() {\n this.lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.enableGravatars = await this.storageService.get('enableGravatars');\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.lockService.setLockOption(this.lockOption != null ? this.lockOption : null);\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save('enableGravatars', this.enableGravatars);\n await this.stateService.save('enableGravatars', this.enableGravatars);\n await this.storageService.save(ConstantsService.localeKey, this.locale);\n this.analytics.eventTrack.next({ action: 'Saved Options' });\n if (this.locale !== this.startingLocale) {\n window.location.reload();\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\n }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\n\n@Component({\n selector: 'app-domain-rules',\n templateUrl: 'domain-rules.component.html',\n})\nexport class DomainRulesComponent implements OnInit {\n loading = true;\n custom: string[] = [];\n global: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const response = await this.apiService.getSettingsDomains();\n this.loading = false;\n if (response.equivalentDomains != null) {\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\n }\n if (response.globalEquivalentDomains != null) {\n this.global = response.globalEquivalentDomains.map((d) => {\n return {\n domains: d.domains.join(', '),\n excluded: d.excluded,\n key: d.type,\n };\n });\n }\n }\n\n toggleExcluded(globalDomain: any) {\n globalDomain.excluded = !globalDomain.excluded;\n }\n\n customize(globalDomain: any) {\n globalDomain.excluded = true;\n this.custom.push(globalDomain.domains);\n }\n\n remove(index: number) {\n this.custom.splice(index, 1);\n }\n\n add() {\n this.custom.push('');\n }\n\n async submit() {\n const request = new UpdateDomainsRequest();\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\n .map((d) => d.key);\n if (request.excludedGlobalEquivalentDomains.length === 0) {\n request.excludedGlobalEquivalentDomains = null;\n }\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\n .map((d) => d.split(',').map((d2) => d2.trim()));\n if (request.equivalentDomains.length === 0) {\n request.equivalentDomains = null;\n }\n\n try {\n this.formPromise = this.apiService.putSettingsDomains(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\n } catch { }\n }\n\n indexTrackBy(index: number, obj: any): any {\n return index;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-duo',\n templateUrl: 'two-factor-duo.component.html',\n})\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Duo;\n ikey: string;\n skey: string;\n host: string;\n formPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorDuoRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.integrationKey = this.ikey;\n request.secretKey = this.skey;\n request.host = this.host;\n\n return super.enable(async () => {\n if (this.organizationId != null) {\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.putTwoFactorDuo(request);\n }\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private processResponse(response: TwoFactorDuoResponse) {\n this.ikey = response.integrationKey;\n this.skey = response.secretKey;\n this.host = response.host;\n this.enabled = response.enabled;\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n
\n
\n
\n \"Visa,\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n\n \n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'makeSureEnoughCredit' | i18n}}\n \n\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-premium',\n templateUrl: 'premium.component.html',\n})\nexport class PremiumComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n canAccessPremium = false;\n selfHosted = false;\n premiumPrice = 10;\n storageGbPrice = 4;\n additionalStorage = 0;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\n private router: Router, private messagingService: MessagingService,\n private syncService: SyncService, private userService: UserService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/subscription']);\n return;\n }\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n if (this.selfHosted) {\n if (!this.tokenService.getEmailVerified()) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verifyEmailFirst'));\n return;\n }\n\n const fd = new FormData();\n fd.append('license', files[0]);\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\n return this.finalizePremium();\n });\n } else {\n this.formPromise = this.paymentComponent.createPaymentToken().then((result) => {\n const fd = new FormData();\n fd.append('paymentMethodType', result[1].toString());\n if (result[0] != null) {\n fd.append('paymentToken', result[0]);\n }\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n return this.apiService.postPremium(fd);\n }).then(() => {\n return this.finalizePremium();\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\n this.messagingService.send('purchasedPremium');\n this.router.navigate(['/settings/subscription']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * this.additionalStorage;\n }\n\n get total(): number {\n return this.additionalStorageTotal + this.premiumPrice;\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { BitPayInvoiceRequest } from 'jslib/models/request/bitPayInvoiceRequest';\n\nimport { WebConstants } from '../../services/webConstants';\n\n@Component({\n selector: 'app-add-credit',\n templateUrl: 'add-credit.component.html',\n})\nexport class AddCreditComponent implements OnInit {\n @Input() creditAmount: string;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.PayPal;\n @Input() organizationId: string;\n @Output() onAdded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n @ViewChild('ppButtonForm', { read: ElementRef }) ppButtonFormRef: ElementRef;\n\n paymentMethodType = PaymentMethodType;\n ppButtonFormAction = WebConstants.paypal.buttonActionProduction;\n ppButtonBusinessId = WebConstants.paypal.businessIdProduction;\n ppButtonCustomField: string;\n ppLoading = false;\n subject: string;\n returnUrl: string;\n formPromise: Promise;\n\n private userId: string;\n private name: string;\n private email: string;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) {\n if (platformUtilsService.isDev()) {\n this.ppButtonFormAction = WebConstants.paypal.buttonActionSandbox;\n this.ppButtonBusinessId = WebConstants.paypal.businessIdSandbox;\n }\n }\n\n async ngOnInit() {\n if (this.organizationId != null) {\n if (this.creditAmount == null) {\n this.creditAmount = '20.00';\n }\n this.ppButtonCustomField = 'organization_id:' + this.organizationId;\n const org = await this.userService.getOrganization(this.organizationId);\n if (org != null) {\n this.subject = org.name;\n this.name = org.name;\n }\n } else {\n if (this.creditAmount == null) {\n this.creditAmount = '10.00';\n }\n this.userId = await this.userService.getUserId();\n this.subject = await this.userService.getEmail();\n this.email = this.subject;\n this.ppButtonCustomField = 'user_id:' + this.userId;\n }\n this.ppButtonCustomField += ',account_credit:1';\n this.returnUrl = window.location.href;\n }\n\n async submit() {\n if (this.creditAmount == null || this.creditAmount === '') {\n return;\n }\n\n if (this.method === PaymentMethodType.PayPal) {\n this.ppButtonFormRef.nativeElement.submit();\n this.ppLoading = true;\n return;\n }\n if (this.method === PaymentMethodType.BitPay) {\n try {\n const req = new BitPayInvoiceRequest();\n req.email = this.email;\n req.name = this.name;\n req.credit = true;\n req.amount = this.creditAmountNumber;\n req.organizationId = this.organizationId;\n req.userId = this.userId;\n req.returnUrl = this.returnUrl;\n this.formPromise = this.apiService.postBitPayInvoice(req);\n const bitPayUrl: string = await this.formPromise;\n this.platformUtilsService.launchUri(bitPayUrl);\n } catch { }\n return;\n }\n try {\n this.analytics.eventTrack.next({\n action: 'Added Credit',\n });\n this.onAdded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n formatAmount() {\n try {\n if (this.creditAmount != null && this.creditAmount !== '') {\n const floatAmount = Math.abs(parseFloat(this.creditAmount));\n if (floatAmount > 0) {\n this.creditAmount = parseFloat((Math.round(floatAmount * 100) / 100).toString())\n .toFixed(2).toString();\n return;\n }\n }\n } catch { }\n this.creditAmount = '';\n }\n\n get creditAmountNumber(): number {\n if (this.creditAmount != null && this.creditAmount !== '') {\n try {\n return parseFloat(this.creditAmount);\n } catch { }\n }\n return null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n @Input() currentType?: PaymentMethodType;\n @Input() organizationId: string;\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n paymentMethodType = PaymentMethodType;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new PaymentRequest();\n this.formPromise = this.paymentComponent.createPaymentToken().then((result) => {\n request.paymentToken = result[0];\n request.paymentMethodType = result[1];\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n return this.apiService.postOrganizationPayment(this.organizationId, request);\n }\n });\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\n this.onAdjusted.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-update-license',\n templateUrl: 'update-license.component.html',\n})\nexport class UpdateLicenseComponent {\n @Input() organizationId: string;\n @Output() onUpdated = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n const fd = new FormData();\n fd.append('license', files[0]);\n\n let updatePromise: Promise = null;\n if (this.organizationId == null) {\n updatePromise = this.apiService.postAccountLicense(fd);\n } else {\n updatePromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n this.formPromise = updatePromise.then(() => {\n return this.apiService.refreshIdentityToken();\n });\n\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated License' });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\n this.onUpdated.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\n\n@Component({\n selector: 'app-adjust-storage',\n templateUrl: 'adjust-storage.component.html',\n})\nexport class AdjustStorageComponent {\n @Input() storageGbPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new StorageRequest();\n request.storageGbAdjustment = this.storageAdjustment;\n if (!this.add) {\n request.storageGbAdjustment *= -1;\n }\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n this.onAdjusted.emit(this.storageAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedStorageTotal(): number {\n return this.storageGbPrice * this.storageAdjustment;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { SubscriptionResponse } from 'jslib/models/response/subscriptionResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\n@Component({\n selector: 'app-user-subscription',\n templateUrl: 'user-subscription.component.html',\n})\nexport class UserSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n sub: SubscriptionResponse;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n\n if (this.tokenService.getPremium()) {\n this.loading = true;\n this.sub = await this.apiService.getUserSubscription();\n } else {\n this.router.navigate(['/settings/premium']);\n return;\n }\n\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postReinstatePremium();\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postCancelPremium();\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const licenseString = JSON.stringify(this.sub.license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n ownedBusiness = false;\n premiumAccessAddon = false;\n storageGbPriceMonthly = 0.33;\n additionalStorage = 0;\n additionalSeats = 0;\n plan = 'free';\n interval = 'year';\n name: string;\n billingEmail: string;\n businessName: string;\n\n storageGb: any = {\n price: 0.33,\n monthlyPrice: 0.50,\n yearlyPrice: 4,\n };\n\n plans: any = {\n free: {\n basePrice: 0,\n noAdditionalSeats: true,\n noPayment: true,\n },\n families: {\n basePrice: 1,\n annualBasePrice: 12,\n baseSeats: 5,\n noAdditionalSeats: true,\n annualPlanType: PlanType.FamiliesAnnually,\n canBuyPremiumAccessAddon: true,\n },\n teams: {\n basePrice: 5,\n annualBasePrice: 60,\n monthlyBasePrice: 8,\n baseSeats: 5,\n seatPrice: 2,\n annualSeatPrice: 24,\n monthlySeatPrice: 2.5,\n monthPlanType: PlanType.TeamsMonthly,\n annualPlanType: PlanType.TeamsAnnually,\n },\n enterprise: {\n seatPrice: 3,\n annualSeatPrice: 36,\n monthlySeatPrice: 4,\n monthPlanType: PlanType.EnterpriseMonthly,\n annualPlanType: PlanType.EnterpriseAnnually,\n },\n };\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private router: Router, private syncService: SyncService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families' || qParams.plan === 'teams' || qParams.plan === 'enterprise') {\n this.plan = qParams.plan;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n let key: string = null;\n let collectionCt: string = null;\n\n try {\n this.formPromise = this.cryptoService.makeShareKey().then((shareKey) => {\n key = shareKey[0].encryptedString;\n return this.cryptoService.encrypt(this.i18nService.t('defaultCollection'), shareKey[1]);\n }).then((collection) => {\n collectionCt = collection.encryptedString;\n if (this.selfHosted || this.plan === 'free') {\n return null;\n } else {\n return this.paymentComponent.createPaymentToken();\n }\n }).then((tokenResult) => {\n if (this.selfHosted) {\n const fd = new FormData();\n fd.append('license', files[0]);\n fd.append('key', key);\n fd.append('collectionName', collectionCt);\n return this.apiService.postOrganizationLicense(fd);\n } else {\n const request = new OrganizationCreateRequest();\n request.key = key;\n request.collectionName = collectionCt;\n request.name = this.name;\n request.billingEmail = this.billingEmail;\n\n if (this.plan === 'free') {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = tokenResult[0];\n request.paymentMethodType = tokenResult[1];\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.plans[this.plan].canBuyPremiumAccessAddon &&\n this.premiumAccessAddon;\n if (this.interval === 'month') {\n request.planType = this.plans[this.plan].monthPlanType;\n } else {\n request.planType = this.plans[this.plan].annualPlanType;\n }\n }\n return this.apiService.postOrganization(request);\n }\n }).then((response) => {\n return this.finalize(response.id);\n });\n await this.formPromise;\n } catch { }\n }\n\n async finalize(orgId: string) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationCreated'),\n this.i18nService.t('organizationReadyToGo'));\n this.router.navigate(['/organizations/' + orgId]);\n }\n\n changedPlan() {\n if (!this.plans[this.plan].canBuyPremiumAccessAddon) {\n this.premiumAccessAddon = false;\n }\n\n if (this.plans[this.plan].monthPlanType == null) {\n this.interval = 'year';\n }\n\n if (this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.plans[this.plan].baseSeats &&\n !this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.plan === 'teams' || this.plan === 'enterprise') {\n return;\n }\n this.plan = 'teams';\n }\n\n additionalStorageTotal(annual: boolean): number {\n if (annual) {\n return (this.additionalStorage || 0) * this.storageGb.yearlyPrice;\n } else {\n return (this.additionalStorage || 0) * this.storageGb.monthlyPrice;\n }\n }\n\n seatTotal(annual: boolean): number {\n if (this.plans[this.plan].noAdditionalSeats) {\n return 0;\n }\n\n if (annual) {\n return this.plans[this.plan].annualSeatPrice * (this.additionalSeats || 0);\n } else {\n return this.plans[this.plan].monthlySeatPrice * (this.additionalSeats || 0);\n }\n }\n\n baseTotal(annual: boolean): number {\n if (annual) {\n return (this.plans[this.plan].annualBasePrice || 0);\n } else {\n return (this.plans[this.plan].monthlyBasePrice || 0);\n }\n }\n\n premiumAccessTotal(annual: boolean): number {\n if (this.plans[this.plan].canBuyPremiumAccessAddon && this.premiumAccessAddon) {\n if (annual) {\n return 40;\n }\n }\n return 0;\n }\n\n get total(): number {\n const annual = this.interval === 'year';\n return this.baseTotal(annual) + this.seatTotal(annual) + this.additionalStorageTotal(annual) +\n this.premiumAccessTotal(annual);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent implements OnInit {\n canAccessPremium = false;\n\n constructor(private userService: UserService, private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\n} from 'jslib/angular/components/password-generator.component';\n\nimport { ModalComponent } from '../modal.component';\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator',\n templateUrl: 'password-generator.component.html',\n})\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\n @ViewChild('historyTemplate', { read: ViewContainerRef }) historyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n\n history() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.historyModalRef.createComponent(factory).instance;\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\r\n\r\n@Component({\r\n selector: 'app-breach-report',\r\n templateUrl: 'breach-report.component.html',\r\n})\r\nexport class BreachReportComponent implements OnInit {\r\n error = false;\r\n username: string;\r\n checkedUsername: string;\r\n breachedAccounts: BreachAccountResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private auditService: AuditService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.username = await this.userService.getEmail();\r\n }\r\n\r\n async submit() {\r\n this.error = false;\r\n this.username = this.username.toLowerCase();\r\n try {\r\n this.formPromise = this.auditService.breachedAccounts(this.username);\r\n this.breachedAccounts = await this.formPromise;\r\n } catch {\r\n this.error = true;\r\n }\r\n this.checkedUsername = this.username;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCreateRequest } from 'jslib/models/request/cipherCreateRequest';\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../../vault/add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent {\n organization: Organization;\n originalCipher: Cipher = null;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n private apiService: ApiService, messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService);\n }\n\n protected loadCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n const data = new CipherData(response);\n this.originalCipher = new Cipher(data);\n return new Cipher(data);\n }\n\n protected encryptCipher() {\n if (!this.organization.isAdmin) {\n return super.encryptCipher();\n }\n return this.cipherService.encrypt(this.cipher, null, this.originalCipher);\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.isAdmin) {\n return super.saveCipher(cipher);\n }\n if (this.editMode) {\n const request = new CipherRequest(cipher);\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n const request = new CipherCreateRequest(cipher);\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.isAdmin) {\n return super.deleteCipher();\n }\n return this.apiService.deleteCipherAdmin(this.cipherId);\n }\n}\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nconst BroadcasterSubscriptionId = 'OrganizationLayoutComponent';\n\n@Component({\n selector: 'app-organization-layout',\n templateUrl: 'organization-layout.component.html',\n})\nexport class OrganizationLayoutComponent implements OnInit, OnDestroy {\n organization: Organization;\n\n private organizationId: string;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n ngOnInit() {\n document.body.classList.remove('layout_frontend');\n this.route.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n });\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'updatedOrgLicense':\n await this.load();\n break;\n }\n });\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.organization = await this.userService.getOrganization(this.organizationId);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\n\n@Component({\n selector: 'app-org-vault-groupings',\n templateUrl: '../../vault/groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService,\n private apiService: ApiService, private i18nService: I18nService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n async loadCollections() {\n if (!this.organization.isAdmin) {\n await super.loadCollections(this.organization.id);\n return;\n }\n\n const collections = await this.apiService.getCollections(this.organization.id);\n if (collections != null && collections.data != null && collections.data.length) {\n const collectionDomains = collections.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collectionDomains);\n } else {\n this.collections = [];\n }\n\n const unassignedCollection = new CollectionView();\n unassignedCollection.name = this.i18nService.t('unassigned');\n unassignedCollection.id = 'unassigned';\n unassignedCollection.organizationId = this.organization.id;\n unassignedCollection.readOnly = true;\n this.collections.push(unassignedCollection);\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n collapse(grouping: CollectionView) {\n super.collapse(grouping, 'org_');\n }\n\n isCollapsed(grouping: CollectionView) {\n return super.isCollapsed(grouping, 'org_');\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\n\n@Component({\n selector: 'app-org-vault-ciphers',\n templateUrl: '../../vault/ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent {\n @Output() onEventsClicked = new EventEmitter();\n\n organization: Organization;\n accessEvents = false;\n\n protected allCiphers: CipherView[] = [];\n\n constructor(searchService: SearchService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, cipherService: CipherService,\n private apiService: ApiService) {\n super(searchService, analytics, toasterService, i18nService, platformUtilsService, cipherService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.isAdmin) {\n await super.load(filter);\n return;\n }\n this.accessEvents = this.organization.useEvents;\n this.allCiphers = await this.cipherService.getAllFromApiForOrganization(this.organization.id);\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.isAdmin) {\n await super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n await super.applyFilter(f);\n }\n }\n\n search(timeout: number = null) {\n if (!this.organization.isAdmin) {\n return super.search(timeout);\n }\n this.searchPending = false;\n let filteredCiphers = this.allCiphers;\n if (this.filter != null) {\n filteredCiphers = filteredCiphers.filter(this.filter);\n }\n if (this.searchText == null || this.searchText.trim().length < 2) {\n this.ciphers = filteredCiphers;\n } else {\n this.ciphers = this.searchService.searchCiphersBasic(filteredCiphers, this.searchText);\n }\n }\n\n checkCipher(c: CipherView) {\n // do nothing\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n\n protected deleteCipher(id: string) {\n if (!this.organization.isAdmin) {\n return super.deleteCipher(id);\n }\n return this.apiService.deleteCipherAdmin(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return this.organization.isAdmin && c.hasOldAttachments;\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { EntityEventsComponent } from '../manage/entity-events.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { GroupingsComponent } from './groupings.component';\n\nconst BroadcasterSubscriptionId = 'OrgVaultComponent';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string;\n type: CipherType;\n\n private modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.groupingsComponent.organization = this.organization;\n this.ciphersComponent.organization = this.organization;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (!this.organization.isAdmin) {\n await this.syncService.fullSync(false);\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.ciphersComponent.refresh(),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (qParams.type) {\n const t = parseInt(qParams.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t, true);\n } else if (qParams.collectionId) {\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\n await this.filterCollection(qParams.collectionId, true);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n if (qParams.viewEvents != null) {\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\n if (cipher.length > 0) {\n this.viewEvents(cipher[0]);\n }\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.applyFilter();\n this.clearFilters();\n this.go();\n }\n\n async filterCipherType(type: CipherType, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterCollection(collectionId: string, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n const filter = (c: CipherView) => {\n if (collectionId === 'unassigned') {\n return c.collectionIds == null || c.collectionIds.length === 0;\n } else {\n return c.collectionIds != null && c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n this.ciphersComponent.search(200);\n }\n\n editCipherAttachments(cipher: CipherView) {\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n if (this.organization.isAdmin) {\n childComponent.collectionIds = cipher.collectionIds;\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.organizationId = this.organization.id;\n component.type = this.type;\n if (this.organization.isAdmin) {\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n if (this.collectionId != null) {\n component.collectionIds = [this.collectionId];\n }\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async viewEvents(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = cipher.name;\n childComponent.organizationId = this.organization.id;\n childComponent.entityId = cipher.id;\n childComponent.showUser = true;\n childComponent.entity = 'cipher';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.collectionId = null;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-entity-events',\n templateUrl: 'entity-events.component.html',\n})\nexport class EntityEventsComponent implements OnInit {\n @Input() name: string;\n @Input() entity: 'user' | 'cipher';\n @Input() entityId: string;\n @Input() organizationId: string;\n @Input() showUser = false;\n\n loading = true;\n loaded = false;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private eventService: EventService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n }\n\n async load() {\n if (this.showUser) {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n }\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n let promise: Promise;\n if (this.entity === 'user') {\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n } else {\n promise = this.apiService.getEventsCipher(this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n }\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\n userEmail: user != null ? user.email : this.showUser ? '' : null,\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent {\n organization: Organization;\n accessReports = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n this.accessReports = this.organization.useTotp;\n });\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n }\n}\n","import { Component } from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { ImportService } from 'jslib/abstractions/import.service';\r\n\r\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\r\n\r\n@Component({\r\n selector: 'app-org-import',\r\n templateUrl: '../../tools/import.component.html',\r\n})\r\nexport class ImportComponent extends BaseImportComponent {\r\n constructor(i18nService: I18nService, analytics: Angulartics2,\r\n toasterService: ToasterService, importService: ImportService,\r\n router: Router, private route: ActivatedRoute) {\r\n super(i18nService, analytics, toasterService, importService, router);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\r\n super.ngOnInit();\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\n\n@Component({\n selector: 'app-org-export',\n templateUrl: '../../tools/export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n organizationId: string;\n\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n private route: ActivatedRoute) {\n super(cryptoService, i18nService, platformUtilsService, exportService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n });\n }\n\n getExportData() {\n return this.exportService.getOrganizationExport(this.organizationId, this.format);\n }\n\n getFileName() {\n return super.getFileName('org');\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ExposedPasswordsReportComponent as BaseExposedPasswordsReportComponent,\n} from '../../tools/exposed-passwords-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: '../../tools/exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends BaseExposedPasswordsReportComponent {\n constructor(cipherService: CipherService, auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, auditService, componentFactoryResolver, messagingService, userService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n InactiveTwoFactorReportComponent as BaseInactiveTwoFactorReportComponent,\n} from '../../tools/inactive-two-factor-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: '../../tools/inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends BaseInactiveTwoFactorReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n ReusedPasswordsReportComponent as BaseReusedPasswordsReportComponent,\n} from '../../tools/reused-passwords-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: '../../tools/reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends BaseReusedPasswordsReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n UnsecuredWebsitesReportComponent as BaseUnsecuredWebsitesReportComponent,\n} from '../../tools/unsecured-websites-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: '../../tools/unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends BaseUnsecuredWebsitesReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n WeakPasswordsReportComponent as BaseWeakPasswordsReportComponent,\n} from '../../tools/weak-passwords-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: '../../tools/weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends BaseWeakPasswordsReportComponent {\n constructor(cipherService: CipherService, passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, passwordGenerationService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-org-manage',\n templateUrl: 'manage.component.html',\n})\nexport class ManageComponent implements OnInit {\n organization: Organization;\n accessGroups = false;\n accessEvents = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.accessEvents = this.organization.useEvents;\n this.accessGroups = this.organization.useGroups;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport {\n CollectionDetailsResponse,\n CollectionResponse,\n} from 'jslib/models/response/collectionResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ModalComponent } from '../../modal.component';\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\nimport { EntityUsersComponent } from './entity-users.component';\n\n@Component({\n selector: 'app-org-manage-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService,\n private userService: UserService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const organization = await this.userService.getOrganization(this.organizationId);\n let response: ListResponse;\n if (organization.isAdmin) {\n response = await this.apiService.getCollections(this.organizationId);\n } else {\n response = await this.apiService.getUserCollections();\n }\n const collections = response.data.filter((c) => c.organizationId === this.organizationId).map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.loading = false;\n }\n\n edit(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n CollectionAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.collectionId = collection != null ? collection.id : null;\n childComponent.onSavedCollection.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedCollection.subscribe(() => {\n this.modal.close();\n this.removeCollection(collection);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(collection: CollectionView) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteCollection(this.organizationId, collection.id);\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\n this.removeCollection(collection);\n } catch { }\n }\n\n users(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'collection';\n childComponent.entityId = collection.id;\n childComponent.entityName = collection.name;\n\n childComponent.onEditedUsers.subscribe(() => {\n this.load();\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeCollection(collection: CollectionView) {\n const index = this.collections.indexOf(collection);\n if (index > -1) {\n this.collections.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-entity-users',\n templateUrl: 'entity-users.component.html',\n})\nexport class EntityUsersComponent implements OnInit {\n @Input() entity: 'group' | 'collection';\n @Input() entityId: string;\n @Input() entityName: string;\n @Input() organizationId: string;\n @Output() onEditedUsers = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n showSelected = false;\n loading = true;\n formPromise: Promise;\n selectedCount = 0;\n searchText: string;\n\n private allUsers: OrganizationUserUserDetailsResponse[] = [];\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n get users() {\n if (this.showSelected) {\n return this.allUsers.filter((u) => (u as any).checked);\n } else {\n return this.allUsers;\n }\n }\n\n async loadUsers() {\n const users = await this.apiService.getOrganizationUsers(this.organizationId);\n this.allUsers = users.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'email'));\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => u.id === s);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n }\n });\n }\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => !u.accessAll && u.id === s.id);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n (user[0] as any).readOnly = s.readOnly;\n }\n });\n }\n }\n\n this.allUsers.forEach((u) => {\n if (this.entity === 'collection' && u.accessAll) {\n (u as any).checked = true;\n }\n if ((u as any).checked) {\n this.selectedCount++;\n }\n });\n }\n\n check(u: OrganizationUserUserDetailsResponse) {\n if (this.entity === 'collection' && u.accessAll) {\n return;\n }\n (u as any).checked = !(u as any).checked;\n this.selectedChanged(u);\n }\n\n selectedChanged(u: OrganizationUserUserDetailsResponse) {\n if ((u as any).checked) {\n this.selectedCount++;\n } else {\n if (this.entity === 'collection') {\n (u as any).readOnly = false;\n }\n this.selectedCount--;\n }\n }\n\n filterSelected(showSelected: boolean) {\n this.showSelected = showSelected;\n }\n\n async submit() {\n try {\n if (this.entity === 'group') {\n const selections = this.users.filter((u) => (u as any).checked).map((u) => u.id);\n this.formPromise = this.apiService.putGroupUsers(this.organizationId, this.entityId, selections);\n } else {\n const selections = this.users.filter((u) => (u as any).checked && !u.accessAll)\n .map((u) => new SelectionReadOnlyRequest(u.id, !!(u as any).readOnly));\n this.formPromise = this.apiService.putCollectionUsers(this.organizationId, this.entityId, selections);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.entity === 'group' ? 'Edited Group Users' : 'Edited Collection Users',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedUsers'));\n this.onEditedUsers.emit();\n } catch { }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-org-events',\r\n templateUrl: 'events.component.html',\r\n})\r\nexport class EventsComponent implements OnInit {\r\n loading = true;\r\n loaded = false;\r\n organizationId: string;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private eventService: EventService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useEvents) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\r\n clearExisting ? null : this.continuationToken);\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.i18nService.t('unknown'),\r\n userEmail: user != null ? user.email : '',\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityUsersComponent } from './entity-users.component';\nimport { GroupAddEditComponent } from './group-add-edit.component';\n\n@Component({\n selector: 'app-org-groups',\n templateUrl: 'groups.component.html',\n})\nexport class GroupsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useGroups) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n await this.load();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getGroups(this.organizationId);\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n this.loading = false;\n }\n\n edit(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n GroupAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.groupId = group != null ? group.id : null;\n childComponent.onSavedGroup.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedGroup.subscribe(() => {\n this.modal.close();\n this.removeGroup(group);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(group: GroupResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), group.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteGroup(this.organizationId, group.id);\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\n this.removeGroup(group);\n } catch { }\n }\n\n users(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'group';\n childComponent.entityId = group.id;\n childComponent.entityName = group.name;\n\n childComponent.onEditedUsers.subscribe(() => {\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGroup(group: GroupResponse) {\n const index = this.groups.indexOf(group);\n if (index > -1) {\n this.groups.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityEventsComponent } from './entity-events.component';\nimport { UserAddEditComponent } from './user-add-edit.component';\nimport { UserConfirmComponent } from './user-confirm.component';\nimport { UserGroupsComponent } from './user-groups.component';\n\n@Component({\n selector: 'app-org-people',\n templateUrl: 'people.component.html',\n})\nexport class PeopleComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef }) confirmModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n searchText: string;\n status: OrganizationUserStatusType = null;\n statusMap = new Map();\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n actionPromise: Promise;\n accessEvents = false;\n accessGroups = false;\n\n private modal: ModalComponent = null;\n private allUsers: OrganizationUserUserDetailsResponse[];\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private userService: UserService, private router: Router,\n private storageService: StorageService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (!organization.isAdmin) {\n this.router.navigate(['../collections'], { relativeTo: this.route });\n return;\n }\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\n this.events(user[0]);\n }\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n this.statusMap.clear();\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.allUsers.forEach((u) => {\n if (!this.statusMap.has(u.status)) {\n this.statusMap.set(u.status, [u]);\n } else {\n this.statusMap.get(u.status).push(u);\n }\n });\n this.filter(this.status);\n this.loading = false;\n }\n\n filter(status: OrganizationUserStatusType) {\n this.status = status;\n if (this.status != null) {\n this.users = this.statusMap.get(this.status);\n } else {\n this.users = this.allUsers;\n }\n }\n\n get invitedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\n }\n\n get acceptedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\n }\n\n get confirmedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Confirmed) ?\n this.statusMap.get(OrganizationUserStatusType.Confirmed).length : 0;\n }\n\n get showConfirmUsers(): boolean {\n return this.allUsers != null && this.statusMap != null && this.allUsers.length > 1 &&\n this.confirmedCount > 0 && this.confirmedCount < 3 && this.acceptedCount > 0;\n }\n\n edit(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserAddEditComponent, this.addEditModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedUser.subscribe(() => {\n this.modal.close();\n this.removeUser(user);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n groups(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserGroupsComponent, this.groupsModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async remove(user: OrganizationUserUserDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\n this.removeUser(user);\n } catch { }\n }\n\n async reinvite(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\n this.actionPromise = null;\n }\n\n async confirm(user: OrganizationUserUserDetailsResponse) {\n function updateUser(self: PeopleComponent) {\n user.status = OrganizationUserStatusType.Confirmed;\n const mapIndex = self.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (mapIndex > -1) {\n self.statusMap.get(OrganizationUserStatusType.Accepted).splice(mapIndex, 1);\n self.statusMap.get(OrganizationUserStatusType.Confirmed).push(user);\n }\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserConfirmComponent, this.confirmModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.userId = user != null ? user.userId : null;\n childComponent.onConfirmedUser.subscribe(() => {\n this.modal.close();\n updateUser(this);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n updateUser(this);\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\n this.actionPromise = null;\n }\n\n async events(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = user.name || user.email;\n childComponent.organizationId = this.organizationId;\n childComponent.entityId = user.id;\n childComponent.showUser = false;\n childComponent.entity = 'user';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(user.userId, publicKey.buffer)).join('-'));\n } catch { }\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\n }\n\n private removeUser(user: OrganizationUserUserDetailsResponse) {\n let index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n if (this.statusMap.has(OrganizationUserStatusType.Accepted)) {\n index = this.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Accepted).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Invited)) {\n index = this.statusMap.get(OrganizationUserStatusType.Invited).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Invited).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Confirmed)) {\n index = this.statusMap.get(OrganizationUserStatusType.Confirmed).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Confirmed).splice(index, 1);\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent {\n access2fa = false;\n selfHosted: boolean;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\n\nimport { ModalComponent } from '../../modal.component';\nimport { PurgeVaultComponent } from '../../settings/purge-vault.component';\nimport { DeleteOrganizationComponent } from './delete-organization.component';\n\n@Component({\n selector: 'app-org-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\n @ViewChild('purgeOrganizationTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\n\n loading = true;\n org: OrganizationResponse;\n formPromise: Promise;\n\n private organizationId: string;\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n try {\n this.org = await this.apiService.getOrganization(this.organizationId);\n } catch { }\n });\n this.loading = false;\n }\n\n async submit() {\n try {\n const request = new OrganizationUpdateRequest();\n request.name = this.org.name;\n request.businessName = this.org.businessName;\n request.billingEmail = this.org.billingEmail;\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\n } catch { }\n }\n\n deleteOrganization() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n DeleteOrganizationComponent, this.deleteModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: '../../settings/two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\n constructor(apiService: ApiService, userService: UserService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n private route: ActivatedRoute) {\n super(apiService, userService, componentFactoryResolver, messagingService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await super.ngOnInit();\n });\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.OrganizationDuo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\n duoComp.organizationId = this.organizationId;\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\n });\n break;\n default:\n break;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type !== TwoFactorProviderType.OrganizationDuo;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UserBillingComponent } from '../../settings/user-billing.component';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: '../../settings/user-billing.component.html',\n})\nexport class OrganizationBillingComponent extends UserBillingComponent implements OnInit {\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private route: ActivatedRoute) {\n super(apiService, i18nService, analytics, toasterService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { OrganizationSubscriptionResponse } from 'jslib/models/response/organizationSubscriptionResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-subscription',\n templateUrl: 'organization-subscription.component.html',\n})\nexport class OrganizationSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n sub: OrganizationSubscriptionResponse;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n licensePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private messagingService: MessagingService, private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n this.sub = await this.apiService.getOrganizationSubscription(this.organizationId);\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n async changePlan() {\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\n if (contactSupport) {\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\n }\n }\n\n async downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const installationId = window.prompt(this.i18nService.t('enterInstallationId'));\n if (installationId == null || installationId === '') {\n return;\n }\n\n try {\n this.licensePromise = this.apiService.getOrganizationLicense(this.organizationId, installationId);\n const license = await this.licensePromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n } catch { }\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(updated: boolean) {\n this.showUpdateLicense = false;\n if (updated) {\n this.load();\n this.messagingService.send('updatedOrgLicense');\n }\n }\n\n adjustSeats(add: boolean) {\n this.adjustSeatsAdd = add;\n this.showAdjustSeats = true;\n }\n\n closeSeats(load: boolean) {\n this.showAdjustSeats = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n get isExpired() {\n return this.sub != null && this.sub.expiration != null &&\n new Date(this.sub.expiration) < new Date();\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get billingInterval() {\n const monthly = this.sub.planType === PlanType.EnterpriseMonthly ||\n this.sub.planType === PlanType.TeamsMonthly;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.billingInterval === 'month' ? 0.5 : 4;\n }\n\n get seatPrice() {\n switch (this.sub.planType) {\n case PlanType.EnterpriseMonthly:\n return 4;\n case PlanType.EnterpriseAnnually:\n return 36;\n case PlanType.TeamsMonthly:\n return 2.5;\n case PlanType.TeamsAnnually:\n return 24;\n default:\n return 0;\n }\n }\n\n get canAdjustSeats() {\n return this.sub.planType === PlanType.EnterpriseMonthly ||\n this.sub.planType === PlanType.EnterpriseAnnually ||\n this.sub.planType === PlanType.TeamsMonthly || this.sub.planType === PlanType.TeamsAnnually;\n }\n\n get canDownloadLicense() {\n return (this.sub.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 525;","import * as jq from 'jquery';\r\nimport * as _swal from 'sweetalert';\r\nimport { SweetAlert } from 'sweetalert/typings/core';\r\n\r\nimport {\r\n BodyOutputType,\r\n Toast,\r\n ToasterConfig,\r\n ToasterContainerComponent,\r\n ToasterService,\r\n} from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\r\n\r\nimport {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n SecurityContext,\r\n} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport {\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { LockService } from 'jslib/abstractions/lock.service';\r\nimport { NotificationsService } from 'jslib/abstractions/notifications.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SearchService } from 'jslib/abstractions/search.service';\r\nimport { SettingsService } from 'jslib/abstractions/settings.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\n\r\nimport { RouterService } from './services/router.service';\r\n\r\nconst BroadcasterSubscriptionId = 'AppComponent';\r\n// Hack due to Angular 5.2 bug\r\nconst swal: SweetAlert = _swal as any;\r\nconst IdleTimeout = 60000 * 10; // 10 minutes\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n})\r\nexport class AppComponent implements OnDestroy, OnInit {\r\n toasterConfig: ToasterConfig = new ToasterConfig({\r\n showCloseButton: true,\r\n mouseoverTimerStop: true,\r\n animation: 'flyRight',\r\n limit: 5,\r\n });\r\n\r\n private lastActivity: number = null;\r\n private idleTimer: number = null;\r\n private isIdle = false;\r\n\r\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\r\n private broadcasterService: BroadcasterService, private userService: UserService,\r\n private tokenService: TokenService, private folderService: FolderService,\r\n private settingsService: SettingsService, private syncService: SyncService,\r\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\r\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\r\n private lockService: LockService, private storageService: StorageService,\r\n private cryptoService: CryptoService, private collectionService: CollectionService,\r\n private sanitizer: DomSanitizer, private searchService: SearchService,\r\n private notificationsService: NotificationsService, private routerService: RouterService) { }\r\n\r\n ngOnInit() {\r\n this.ngZone.runOutsideAngular(() => {\r\n window.onmousemove = () => this.recordActivity();\r\n window.onmousedown = () => this.recordActivity();\r\n window.ontouchstart = () => this.recordActivity();\r\n window.onclick = () => this.recordActivity();\r\n window.onscroll = () => this.recordActivity();\r\n window.onkeypress = () => this.recordActivity();\r\n });\r\n\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'loggedIn':\r\n case 'loggedOut':\r\n case 'unlocked':\r\n this.notificationsService.updateConnection(false);\r\n break;\r\n case 'logout':\r\n this.logOut(!!message.expired);\r\n break;\r\n case 'lockVault':\r\n await this.lockService.lock();\r\n break;\r\n case 'locked':\r\n this.notificationsService.updateConnection(false);\r\n this.router.navigate(['lock']);\r\n break;\r\n case 'lockedUrl':\r\n window.setTimeout(() => this.routerService.setPreviousUrl(message.url), 500);\r\n break;\r\n case 'syncStarted':\r\n break;\r\n case 'syncCompleted':\r\n break;\r\n case 'upgradeOrganization':\r\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\r\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\r\n if (upgradeConfirmed) {\r\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\r\n }\r\n break;\r\n case 'premiumRequired':\r\n const premiumConfirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\r\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\r\n if (premiumConfirmed) {\r\n this.router.navigate(['settings/premium']);\r\n }\r\n break;\r\n case 'showToast':\r\n this.showToast(message);\r\n break;\r\n case 'analyticsEventTrack':\r\n this.analytics.eventTrack.next({\r\n action: message.action,\r\n properties: { label: message.label },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n });\r\n\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n for (const modal of modals) {\r\n (jq(modal) as any).modal('hide');\r\n }\r\n\r\n if (document.querySelector('.swal-modal') != null) {\r\n swal.close(undefined);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n private async logOut(expired: boolean) {\r\n const userId = await this.userService.getUserId();\r\n\r\n await Promise.all([\r\n this.syncService.setLastSync(new Date(0)),\r\n this.tokenService.clearToken(),\r\n this.cryptoService.clearKeys(),\r\n this.userService.clear(),\r\n this.settingsService.clear(userId),\r\n this.cipherService.clear(userId),\r\n this.folderService.clear(userId),\r\n this.collectionService.clear(userId),\r\n this.passwordGenerationService.clear(),\r\n ]);\r\n\r\n this.searchService.clearIndex();\r\n this.authService.logOut(async () => {\r\n this.analytics.eventTrack.next({ action: 'Logged Out' });\r\n if (expired) {\r\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\r\n this.i18nService.t('loginExpired'));\r\n }\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n private async recordActivity() {\r\n const now = (new Date()).getTime();\r\n if (this.lastActivity != null && now - this.lastActivity < 250) {\r\n return;\r\n }\r\n\r\n this.lastActivity = now;\r\n this.storageService.save(ConstantsService.lastActiveKey, now);\r\n\r\n // Idle states\r\n if (this.isIdle) {\r\n this.isIdle = false;\r\n this.idleStateChanged();\r\n }\r\n if (this.idleTimer != null) {\r\n window.clearTimeout(this.idleTimer);\r\n this.idleTimer = null;\r\n }\r\n this.idleTimer = window.setTimeout(() => {\r\n if (!this.isIdle) {\r\n this.isIdle = true;\r\n this.idleStateChanged();\r\n }\r\n }, IdleTimeout);\r\n }\r\n\r\n private showToast(msg: any) {\r\n const toast: Toast = {\r\n type: msg.type,\r\n title: msg.title,\r\n };\r\n if (typeof (msg.text) === 'string') {\r\n toast.body = msg.text;\r\n } else if (msg.text.length === 1) {\r\n toast.body = msg.text[0];\r\n } else {\r\n let message = '';\r\n msg.text.forEach((t: string) =>\r\n message += ('

' + this.sanitizer.sanitize(SecurityContext.HTML, t) + '

'));\r\n toast.body = message;\r\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\r\n }\r\n if (msg.options != null) {\r\n if (msg.options.trustedHtml === true) {\r\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\r\n }\r\n if (msg.options.timeout != null && msg.options.timeout > 0) {\r\n toast.timeout = msg.options.timeout;\r\n }\r\n }\r\n this.toasterService.popAsync(toast);\r\n }\r\n\r\n private idleStateChanged() {\r\n if (this.isIdle) {\r\n this.notificationsService.disconnectFromInactivity();\r\n } else {\r\n this.notificationsService.reconnectFromActivity();\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\n} from 'jslib/angular/components/two-factor-options.component';\n\n@Component({\n selector: 'app-two-factor-options',\n templateUrl: 'two-factor-options.component.html',\n})\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, i18nService, platformUtilsService, window);\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\n email: string;\n\n constructor(email: string, masterPasswordHash: string) {\n super();\n this.masterPasswordHash = masterPasswordHash;\n this.email = email;\n }\n}\n","export class KeysRequest {\n publicKey: string;\n encryptedPrivateKey: string;\n\n constructor(publicKey: string, encryptedPrivateKey: string) {\n this.publicKey = publicKey;\n this.encryptedPrivateKey = encryptedPrivateKey;\n }\n}\n","
\n
\n \n {{text}}\n \n
\n
\n","\n","
\n
\n
\n © {{year}}, 8bit Solutions LLC\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-verify-email',\n templateUrl: 'verify-email.component.html',\n})\nexport class VerifyEmailComponent {\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async send() {\n if (this.actionPromise != null) {\n return;\n }\n try {\n this.actionPromise = this.apiService.postAccountVerifyEmail();\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\n } catch { }\n this.actionPromise = null;\n }\n}\n","\n

\n \n

\n \n \n

{{'noOrganizationsList' | i18n}}

\n
\n \n \n {{'newOrganization' | i18n}}\n \n
\n\n
\n

\n {{'organizations' | i18n}}\n \n \n \n

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n

{{'noOrganizationsList' | i18n}}

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n \n \n \n \n \n
\n \n \n {{o.name}}\n \n \n
\n \n \n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-update-key',\n templateUrl: 'update-key.component.html',\n})\nexport class UpdateKeyComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private syncService: SyncService, private folderService: FolderService,\n private cipherService: CipherService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (hasEncKey) {\n return;\n }\n\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.makeRequest().then((request) => {\n return this.apiService.postAccountKey(request);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Key Updated' });\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('keyUpdated'),\n body: this.i18nService.t('logBackInOthersToo'),\n timeout: 15000,\n };\n this.toasterService.popAsync(toast);\n this.messagingService.send('logout');\n } catch { }\n }\n\n private async makeRequest(): Promise {\n const key = await this.cryptoService.getKey();\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n\n await this.syncService.fullSync(true);\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n return request;\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nexport class CardApi extends BaseResponse {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.cardholderName = this.getResponseProperty('CardholderName');\r\n this.brand = this.getResponseProperty('Brand');\r\n this.number = this.getResponseProperty('Number');\r\n this.expMonth = this.getResponseProperty('ExpMonth');\r\n this.expYear = this.getResponseProperty('ExpYear');\r\n this.code = this.getResponseProperty('Code');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { FieldType } from '../../enums/fieldType';\r\n\r\nexport class FieldApi extends BaseResponse {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.type = this.getResponseProperty('Type');\r\n this.name = this.getResponseProperty('Name');\r\n this.value = this.getResponseProperty('Value');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nexport class IdentityApi extends BaseResponse {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.title = this.getResponseProperty('Title');\r\n this.firstName = this.getResponseProperty('FirstName');\r\n this.middleName = this.getResponseProperty('MiddleName');\r\n this.lastName = this.getResponseProperty('LastName');\r\n this.address1 = this.getResponseProperty('Address1');\r\n this.address2 = this.getResponseProperty('Address2');\r\n this.address3 = this.getResponseProperty('Address3');\r\n this.city = this.getResponseProperty('City');\r\n this.state = this.getResponseProperty('State');\r\n this.postalCode = this.getResponseProperty('PostalCode');\r\n this.country = this.getResponseProperty('Country');\r\n this.company = this.getResponseProperty('Company');\r\n this.email = this.getResponseProperty('Email');\r\n this.phone = this.getResponseProperty('Phone');\r\n this.ssn = this.getResponseProperty('SSN');\r\n this.username = this.getResponseProperty('Username');\r\n this.passportNumber = this.getResponseProperty('PassportNumber');\r\n this.licenseNumber = this.getResponseProperty('LicenseNumber');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { LoginUriApi } from './loginUriApi';\r\n\r\nexport class LoginApi extends BaseResponse {\r\n uris: LoginUriApi[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate: string;\r\n totp: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.username = this.getResponseProperty('Username');\r\n this.password = this.getResponseProperty('Password');\r\n this.passwordRevisionDate = this.getResponseProperty('PasswordRevisionDate');\r\n this.totp = this.getResponseProperty('Totp');\r\n\r\n const uris = this.getResponseProperty('Uris');\r\n if (uris != null) {\r\n this.uris = uris.map((u: any) => new LoginUriApi(u));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nexport class LoginUriApi extends BaseResponse {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.uri = this.getResponseProperty('Uri');\r\n const match = this.getResponseProperty('Match');\r\n this.match = match != null ? match : null;\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nexport class SecureNoteApi extends BaseResponse {\r\n type: SecureNoteType;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.type = this.getResponseProperty('Type');\r\n }\r\n}\r\n","import { FolderRequest } from './folderRequest';\n\nimport { Folder } from '../domain/folder';\n\nexport class FolderWithIdRequest extends FolderRequest {\n id: string;\n\n constructor(folder: Folder) {\n super(folder);\n this.id = folder.id;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\nimport { FolderWithIdRequest } from './folderWithIdRequest';\n\nexport class UpdateKeyRequest {\n ciphers: CipherWithIdRequest[] = [];\n folders: FolderWithIdRequest[] = [];\n masterPasswordHash: string;\n privateKey: string;\n key: string;\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-delete',\r\n templateUrl: 'bulk-delete.component.html',\r\n})\r\nexport class BulkDeleteComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onDeleted = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.deleteManyWithServer(this.cipherIds);\r\n await this.formPromise;\r\n this.onDeleted.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItems'));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { FolderView } from 'jslib/models/view/folderView';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-move',\r\n templateUrl: 'bulk-move.component.html',\r\n})\r\nexport class BulkMoveComponent implements OnInit {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onMoved = new EventEmitter();\r\n\r\n folderId: string = null;\r\n folders: FolderView[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private folderService: FolderService) { }\r\n\r\n async ngOnInit() {\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.folderId = this.folders[0].id;\r\n }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\r\n await this.formPromise;\r\n this.onMoved.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-vault-bulk-share',\n templateUrl: 'bulk-share.component.html',\n})\nexport class BulkShareComponent implements OnInit {\n @Input() ciphers: CipherView[] = [];\n @Input() organizationId: string;\n @Output() onShared = new EventEmitter();\n\n nonShareableCount = 0;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n shareableCiphers: CipherView[] = [];\n formPromise: Promise;\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private collectionService: CollectionService, private userService: UserService) { }\n\n async ngOnInit() {\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasOldAttachments && c.organizationId == null);\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n try {\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\n checkedCollectionIds);\n await this.formPromise;\n this.onShared.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\n } catch { }\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n\n get canSave() {\n if (this.shareableCiphers != null && this.shareableCiphers.length > 0 && this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n FolderAddEditComponent as BaseFolderAddEditComponent,\n} from 'jslib/angular/components/folder-add-edit.component';\n\n@Component({\n selector: 'app-folder-add-edit',\n templateUrl: 'folder-add-edit.component.html',\n})\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\n constructor(folderService: FolderService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService) {\n super(folderService, i18nService, platformUtilsService);\n }\n}\n","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ShareComponent as BaseShareComponent } from 'jslib/angular/components/share.component';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent extends BaseShareComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, userService: UserService,\n cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, userService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\n\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\n\n@Component({\n selector: 'app-profile',\n templateUrl: 'profile.component.html',\n})\nexport class ProfileComponent implements OnInit {\n loading = true;\n profile: ProfileResponse;\n fingerprint: string;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private userService: UserService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.profile = await this.apiService.getProfile();\n this.loading = false;\n const fingerprint = await this.cryptoService.getFingerprint(await this.userService.getUserId());\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n\n async submit() {\n try {\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\n this.formPromise = this.apiService.putProfile(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\n } catch { }\n }\n}\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: 'change-email.component.html',\n})\nexport class ChangeEmailComponent {\n masterPassword: string;\n newEmail: string;\n token: string;\n tokenSent = false;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n this.newEmail = this.newEmail.trim().toLowerCase();\n if (!this.tokenSent) {\n const request = new EmailTokenRequest();\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postEmailToken(request);\n await this.formPromise;\n this.tokenSent = true;\n } catch { }\n } else {\n const request = new EmailRequest();\n request.token = this.token;\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail, kdf, kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].encryptedString;\n try {\n this.formPromise = this.apiService.postEmail(request);\n await this.formPromise;\n this.reset();\n this.analytics.eventTrack.next({ action: 'Changed Email' });\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n }\n\n reset() {\n this.token = this.newEmail = this.masterPassword = null;\n this.tokenSent = false;\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit {\n currentMasterPassword: string;\n newMasterPassword: string;\n confirmNewMasterPassword: string;\n formPromise: Promise;\n masterPasswordScore: number;\n rotateEncKey = false;\n\n private masterPasswordStrengthTimeout: any;\n private email: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService, private passwordGenerationService: PasswordGenerationService,\n private platformUtilsService: PlatformUtilsService, private folderService: FolderService,\n private cipherService: CipherService, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.email = await this.userService.getEmail();\n }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n if (this.currentMasterPassword == null || this.currentMasterPassword === '' ||\n this.newMasterPassword == null || this.newMasterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.newMasterPassword.length < 8) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.newMasterPassword !== this.confirmNewMasterPassword) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.newMasterPassword,\n this.getPasswordStrengthUserInput());\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return;\n }\n }\n\n if (this.rotateEncKey) {\n await this.syncService.fullSync(true);\n }\n\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n const email = await this.userService.getEmail();\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n const newKey = await this.cryptoService.makeKey(this.newMasterPassword, email.trim().toLowerCase(),\n kdf, kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.newMasterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].encryptedString;\n try {\n if (this.rotateEncKey) {\n this.formPromise = this.apiService.postPassword(request).then(() => {\n return this.updateKey(newKey, request.newMasterPasswordHash);\n });\n } else {\n this.formPromise = this.apiService.postPassword(request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed Password' });\n this.toasterService.popAsync('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.newMasterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n async rotateEncKeyClicked() {\n if (this.rotateEncKey) {\n const ciphers = await this.cipherService.getAllDecrypted();\n let hasOldAttachments = false;\n if (ciphers != null) {\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId == null && ciphers[i].hasOldAttachments) {\n hasOldAttachments = true;\n break;\n }\n }\n }\n\n if (hasOldAttachments) {\n const learnMore = await this.platformUtilsService.showDialog(\n this.i18nService.t('oldAttachmentsNeedFixDesc'), null,\n this.i18nService.t('learnMore'), this.i18nService.t('close'), 'warning');\n if (learnMore) {\n this.platformUtilsService.launchUri(\n 'https://help.bitwarden.com/article/attachments/#fixing-old-attachments');\n }\n this.rotateEncKey = false;\n return;\n }\n\n const result = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateEncryptionKeyWarning') + ' ' +\n this.i18nService.t('rotateEncKeyConfirmation'), this.i18nService.t('rotateEncKeyTitle'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!result) {\n this.rotateEncKey = false;\n }\n }\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n return userInput;\n }\n\n private async updateKey(key: SymmetricCryptoKey, masterPasswordHash: string) {\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = masterPasswordHash;\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n await this.apiService.postAccountKey(request);\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { KdfRequest } from 'jslib/models/request/kdfRequest';\r\n\r\nimport { KdfType } from 'jslib/enums/kdfType';\r\n\r\n@Component({\r\n selector: 'app-change-kdf',\r\n templateUrl: 'change-kdf.component.html',\r\n})\r\nexport class ChangeKdfComponent implements OnInit {\r\n masterPassword: string;\r\n kdfIterations: number;\r\n kdf = KdfType.PBKDF2_SHA256;\r\n kdfOptions: any[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService,\r\n private userService: UserService) {\r\n this.kdfOptions = [\r\n { name: 'PBKDF2 SHA-256', value: KdfType.PBKDF2_SHA256 },\r\n ];\r\n }\r\n\r\n async ngOnInit() {\r\n this.kdf = await this.userService.getKdf();\r\n this.kdfIterations = await this.userService.getKdfIterations();\r\n }\r\n\r\n async submit() {\r\n const hasEncKey = await this.cryptoService.hasEncKey();\r\n if (!hasEncKey) {\r\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\r\n return;\r\n }\r\n\r\n const request = new KdfRequest();\r\n request.kdf = this.kdf;\r\n request.kdfIterations = this.kdfIterations;\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n const email = await this.userService.getEmail();\r\n const newKey = await this.cryptoService.makeKey(this.masterPassword, email, this.kdf, this.kdfIterations);\r\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\r\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\r\n request.key = newEncKey[1].encryptedString;\r\n try {\r\n this.formPromise = this.apiService.postAccountKdf(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Changed KDF' });\r\n this.toasterService.popAsync('success', this.i18nService.t('encKeySettingsChanged'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-deauthorize-sessions',\r\n templateUrl: 'deauthorize-sessions.component.html',\r\n})\r\nexport class DeauthorizeSessionsComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postSecurityStamp(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\r\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-account',\n templateUrl: 'delete-account.component.html',\n})\nexport class DeleteAccountComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteAccount(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-authenticator',\n templateUrl: 'two-factor-authenticator.component.html',\n})\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.Authenticator;\n key: string;\n token: string;\n formPromise: Promise;\n\n private qrScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.qrScript = window.document.createElement('script');\n this.qrScript.src = 'scripts/qrious.min.js';\n this.qrScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.qrScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.qrScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorAuthenticatorRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.token = this.token;\n request.key = this.key;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\n this.token = null;\n this.enabled = response.enabled;\n this.key = response.key;\n const email = await this.userService.getEmail();\n window.setTimeout(() => {\n const qr = new (window as any).QRious({\n element: document.getElementById('qr'),\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\n size: 160,\n });\n }, 100);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-email',\n templateUrl: 'two-factor-email.component.html',\n})\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Email;\n email: string;\n token: string;\n sentEmail: string;\n formPromise: Promise;\n emailPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n async sendEmail() {\n try {\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\n await this.emailPromise;\n this.sentEmail = this.email;\n } catch { }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorEmailRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.email = this.email;\n request.token = this.token;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorEmail(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorEmailResponse) {\n this.token = null;\n this.email = response.email;\n this.enabled = response.enabled;\n if (!this.enabled && (this.email == null || this.email === '')) {\n this.email = await this.userService.getEmail();\n }\n }\n}\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\n@Component({\n selector: 'app-two-factor-recovery',\n templateUrl: 'two-factor-recovery.component.html',\n})\nexport class TwoFactorRecoveryComponent {\n type = -1;\n code: string;\n authed: boolean;\n twoFactorProviderType = TwoFactorProviderType;\n\n constructor(private i18nService: I18nService) { }\n\n auth(authResponse: any) {\n this.authed = true;\n this.processResponse(authResponse.response);\n }\n\n print() {\n const w = window.open();\n w.document.write('
' +\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\n '' +\n this.code + '
' +\n '

' + new Date() + '

');\n w.print();\n w.close();\n }\n\n private formatString(s: string) {\n if (s == null) {\n return null;\n }\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\n }\n\n private processResponse(response: TwoFactorRecoverResponse) {\n this.code = this.formatString(response.code);\n }\n}\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from 'jslib/models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from 'jslib/models/response/twoFactorU2fResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-u2f',\n templateUrl: 'two-factor-u2f.component.html',\n})\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.U2f;\n name: string;\n keys: any[];\n keyIdAvailable: number = null;\n keysConfiguredCount = 0;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n challengePromise: Promise;\n formPromise: Promise;\n\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private ngZone: NgZone) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.u2fScript = window.document.createElement('script');\n this.u2fScript.src = 'scripts/u2f.js';\n this.u2fScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.u2fScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.u2fResponse == null || this.keyIdAvailable == null) {\n // Should never happen.\n return Promise.reject();\n }\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n request.id = this.keyIdAvailable;\n request.name = this.name;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorU2f(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n disable() {\n return super.disable(this.formPromise);\n }\n\n async remove(key: any) {\n if (this.keysConfiguredCount <= 1 || key.removePromise != null) {\n return;\n }\n const name = key.name != null ? key.name : this.i18nService.t('u2fkeyX', key.id);\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeU2fConfirmation'), name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n const request = new UpdateTwoFactorU2fDeleteRequest();\n request.id = key.id;\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n key.removePromise = this.apiService.deleteTwoFactorU2f(request);\n const response = await key.removePromise;\n key.removePromise = null;\n await this.processResponse(response);\n } catch { }\n }\n\n async readKey() {\n if (this.keyIdAvailable == null) {\n return;\n }\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n this.challengePromise = this.apiService.getTwoFactorU2fChallenge(request);\n const challenge = await this.challengePromise;\n this.readDevice(challenge);\n } catch { }\n }\n\n private readDevice(u2fChallenge: ChallengeResponse) {\n // tslint:disable-next-line\n console.log('listening for key...');\n this.resetU2f(true);\n (window as any).u2f.register(u2fChallenge.appId, [{\n version: u2fChallenge.version,\n challenge: u2fChallenge.challenge,\n }], [], (data: any) => {\n this.ngZone.run(() => {\n this.u2fListening = false;\n if (data.errorCode) {\n this.u2fError = true;\n // tslint:disable-next-line\n console.log('error: ' + data.errorCode);\n return;\n }\n this.u2fResponse = JSON.stringify(data);\n });\n }, 15);\n }\n\n private resetU2f(listening = false) {\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = listening;\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.resetU2f();\n this.keys = [];\n this.keyIdAvailable = null;\n this.name = null;\n this.keysConfiguredCount = 0;\n for (let i = 1; i <= 5; i++) {\n if (response.keys != null) {\n const key = response.keys.filter((k) => k.id === i);\n if (key.length > 0) {\n this.keysConfiguredCount++;\n this.keys.push({\n id: i, name: key[0].name,\n configured: true,\n compromised: key[0].compromised,\n removePromise: null,\n });\n continue;\n }\n }\n this.keys.push({ id: i, name: null, configured: false, compromised: false, removePromise: null });\n if (this.keyIdAvailable == null) {\n this.keyIdAvailable = i;\n }\n }\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-yubikey',\n templateUrl: 'two-factor-yubikey.component.html',\n})\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Yubikey;\n keys: any[];\n nfc = false;\n\n formPromise: Promise;\n disablePromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n const request = new UpdateTwoFactorYubioOtpRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\n request.nfc = this.nfc;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\n });\n }\n\n disable() {\n return super.disable(this.disablePromise);\n }\n\n remove(key: any) {\n key.existingKey = null;\n key.key = null;\n }\n\n private processResponse(response: TwoFactorYubiKeyResponse) {\n this.enabled = response.enabled;\n this.keys = [\n { key: response.key1, existingKey: this.padRight(response.key1) },\n { key: response.key2, existingKey: this.padRight(response.key2) },\n { key: response.key3, existingKey: this.padRight(response.key3) },\n { key: response.key4, existingKey: this.padRight(response.key4) },\n { key: response.key5, existingKey: this.padRight(response.key5) },\n ];\n this.nfc = response.nfc || !response.enabled;\n }\n\n private padRight(str: string, character = '•', size = 44) {\n if (str == null || character == null || str.length >= size) {\n return str;\n }\n const max = (size - str.length) / character.length;\n for (let i = 0; i < max; i++) {\n str += character;\n }\n return str;\n }\n}\n","export class WebConstants {\n static readonly stripeTestKey = 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD';\n static readonly stripeLiveKey = 'pk_live_bpN0P37nMxrMQkcaHXtAybJk';\n static readonly btSandboxKey = 'sandbox_r72q8jq6_9pnxkwm75f87sdc2';\n static readonly btProductionKey = 'production_qfbsv8kc_njj2zjtyngtjmbjd';\n static readonly paypal = {\n businessIdProduction: '4ZDA7DLUUJGMN',\n businessIdSandbox: 'AD3LAUZSNVPJY',\n buttonActionProduction: 'https://www.paypal.com/cgi-bin/webscr',\n buttonActionSandbox: 'https://www.sandbox.paypal.com/cgi-bin/webscr',\n };\n}\n","
\n
\n

{{'addCredit' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
$USD
\n \n
\n
\n
\n {{'creditDelayed' | i18n}}\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n","
\n
\n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\n \n \n \n
\n
\n","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","
\n
\n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}}\n = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\n \n
\n
\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually = 1,\n TeamsMonthly = 2,\n TeamsAnnually = 3,\n EnterpriseMonthly = 4,\n EnterpriseAnnually = 5,\n Custom = 6,\n}\n","import {\r\n Pipe,\r\n PipeTransform,\r\n} from '@angular/core';\r\n\r\n/**\r\n * A pipe that sanitizes HTML and highlights numbers and special characters (in different colors each).\r\n */\r\n@Pipe({ name: 'colorPassword' })\r\nexport class ColorPasswordPipe implements PipeTransform {\r\n transform(password: string) {\r\n let colorizedPassword = '';\r\n for (let i = 0; i < password.length; i++) {\r\n let character = password[i];\r\n let isSpecial = false;\r\n // Sanitize HTML first.\r\n switch (character) {\r\n case '&':\r\n character = '&';\r\n isSpecial = true;\r\n break;\r\n case '<':\r\n character = '<';\r\n isSpecial = true;\r\n break;\r\n case '>':\r\n character = '>';\r\n isSpecial = true;\r\n break;\r\n case ' ':\r\n character = ' ';\r\n isSpecial = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n let type = 'letter';\r\n if (isSpecial || character.match(/[^\\w ]/)) {\r\n type = 'special';\r\n } else if (character.match(/\\d/)) {\r\n type = 'number';\r\n }\r\n colorizedPassword += '' + character + '';\r\n }\r\n return colorizedPassword;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\n@Directive({\r\n selector: '[appFlexCopy]',\r\n})\r\nexport class FlexCopyDirective {\r\n constructor(private el: ElementRef, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n @HostListener('copy') onCopy() {\r\n if (window == null) {\r\n return;\r\n }\r\n let copyText = '';\r\n const selection = window.getSelection();\r\n for (let i = 0; i < selection.rangeCount; i++) {\r\n const range = selection.getRangeAt(i);\r\n const text = range.toString();\r\n copyText += text;\r\n }\r\n this.platformUtilsService.copyToClipboard(copyText, { window: window });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\n} from 'jslib/angular/components/password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator-history',\n templateUrl: 'password-generator-history.component.html',\n})\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\r\n\r\nexport class AttachmentData {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n key: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response?: AttachmentResponse) {\r\n if (response == null) {\r\n return;\r\n }\r\n this.id = response.id;\r\n this.url = response.url;\r\n this.fileName = response.fileName;\r\n this.key = response.key;\r\n this.size = response.size;\r\n this.sizeName = response.sizeName;\r\n }\r\n}\r\n","import { CardApi } from '../api/cardApi';\n\nexport class CardData {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data?: CardApi) {\n if (data == null) {\n return;\n }\n\n this.cardholderName = data.cardholderName;\n this.brand = data.brand;\n this.number = data.number;\n this.expMonth = data.expMonth;\n this.expYear = data.expYear;\n this.code = data.code;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldApi } from '../api/fieldApi';\n\nexport class FieldData {\n type: FieldType;\n name: string;\n value: string;\n\n constructor(response?: FieldApi) {\n if (response == null) {\n return;\n }\n this.type = response.type;\n this.name = response.name;\n this.value = response.value;\n }\n}\n","import { IdentityApi } from '../api/identityApi';\n\nexport class IdentityData {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data?: IdentityApi) {\n if (data == null) {\n return;\n }\n\n this.title = data.title;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.address1 = data.address1;\n this.address2 = data.address2;\n this.address3 = data.address3;\n this.city = data.city;\n this.state = data.state;\n this.postalCode = data.postalCode;\n this.country = data.country;\n this.company = data.company;\n this.email = data.email;\n this.phone = data.phone;\n this.ssn = data.ssn;\n this.username = data.username;\n this.passportNumber = data.passportNumber;\n this.licenseNumber = data.licenseNumber;\n }\n}\n","import { LoginApi } from '../api/loginApi';\r\n\r\nimport { LoginUriData } from './loginUriData';\r\n\r\nexport class LoginData {\r\n uris: LoginUriData[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate: string;\r\n totp: string;\r\n\r\n constructor(data?: LoginApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.username = data.username;\r\n this.password = data.password;\r\n this.passwordRevisionDate = data.passwordRevisionDate;\r\n this.totp = data.totp;\r\n\r\n if (data.uris) {\r\n this.uris = [];\r\n data.uris.forEach((u) => {\r\n this.uris.push(new LoginUriData(u));\r\n });\r\n }\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriApi } from '../api/loginUriApi';\n\nexport class LoginUriData {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data?: LoginUriApi) {\n if (data == null) {\n return;\n }\n this.uri = data.uri;\n this.match = data.match;\n }\n}\n","import { PasswordHistoryResponse } from '../response/passwordHistoryResponse';\r\n\r\nexport class PasswordHistoryData {\r\n password: string;\r\n lastUsedDate: string;\r\n\r\n constructor(response?: PasswordHistoryResponse) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.password = response.password;\r\n this.lastUsedDate = response.lastUsedDate;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class SecureNoteData {\n type: SecureNoteType;\n\n constructor(data?: SecureNoteApi) {\n if (data == null) {\n return;\n }\n\n this.type = data.type;\n }\n}\n","import { AttachmentData } from '../data/attachmentData';\r\n\r\nimport { AttachmentView } from '../view/attachmentView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class Attachment extends Domain {\r\n id: string;\r\n url: string;\r\n size: number;\r\n sizeName: string;\r\n key: CipherString;\r\n fileName: CipherString;\r\n\r\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.size = obj.size;\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n url: null,\r\n sizeName: null,\r\n fileName: null,\r\n key: null,\r\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n const view = await this.decryptObj(new AttachmentView(this), {\r\n fileName: null,\r\n }, orgId);\r\n\r\n if (this.key != null) {\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n const decValue = await cryptoService.decryptToBytes(this.key, orgKey);\r\n view.key = new SymmetricCryptoKey(decValue);\r\n } catch (e) {\r\n // TODO: error?\r\n }\r\n }\r\n\r\n return view;\r\n }\r\n\r\n toAttachmentData(): AttachmentData {\r\n const a = new AttachmentData();\r\n this.buildDataModel(this, a, {\r\n id: null,\r\n url: null,\r\n sizeName: null,\r\n fileName: null,\r\n key: null,\r\n }, ['id', 'url', 'sizeName']);\r\n return a;\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Attachment } from '../domain/attachment';\r\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\r\n\r\nexport class AttachmentView implements View {\r\n id: string = null;\r\n url: string = null;\r\n size: number = null;\r\n sizeName: string = null;\r\n fileName: string = null;\r\n key: SymmetricCryptoKey = null;\r\n\r\n constructor(a?: Attachment) {\r\n if (!a) {\r\n return;\r\n }\r\n\r\n this.id = a.id;\r\n this.url = a.url;\r\n this.size = a.size;\r\n this.sizeName = a.sizeName;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { Utils } from '../../misc/utils';\n\nexport class SymmetricCryptoKey {\n key: ArrayBuffer;\n encKey?: ArrayBuffer;\n macKey?: ArrayBuffer;\n encType: EncryptionType;\n\n keyB64: string;\n encKeyB64: string;\n macKeyB64: string;\n\n meta: any;\n\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\n if (key == null) {\n throw new Error('Must provide key');\n }\n\n if (encType == null) {\n if (key.byteLength === 32) {\n encType = EncryptionType.AesCbc256_B64;\n } else if (key.byteLength === 64) {\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\n } else {\n throw new Error('Unable to determine encType.');\n }\n }\n\n this.key = key;\n this.encType = encType;\n\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\n this.encKey = key;\n this.macKey = null;\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\n this.encKey = key.slice(0, 16);\n this.macKey = key.slice(16, 32);\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\n this.encKey = key.slice(0, 32);\n this.macKey = key.slice(32, 64);\n } else {\n throw new Error('Unsupported encType/key length.');\n }\n\n if (this.key != null) {\n this.keyB64 = Utils.fromBufferToB64(this.key);\n }\n if (this.encKey != null) {\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\n }\n if (this.macKey != null) {\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\n }\n }\n}\n","import { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { CardView } from '../view/cardView';\n\nexport class Card extends Domain {\n cardholderName: CipherString;\n brand: CipherString;\n number: CipherString;\n expMonth: CipherString;\n expYear: CipherString;\n code: CipherString;\n\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new CardView(this), {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, orgId);\n }\n\n toCardData(): CardData {\n const c = new CardData();\n this.buildDataModel(this, c, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n });\n return c;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { FieldView } from '../view/fieldView';\n\nexport class Field extends Domain {\n name: CipherString;\n value: CipherString;\n type: FieldType;\n\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n this.buildDomainModel(this, obj, {\n name: null,\n value: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId);\n }\n\n toFieldData(): FieldData {\n const f = new FieldData();\n this.buildDataModel(this, f, {\n name: null,\n value: null,\n type: null,\n }, ['type']);\n return f;\n }\n}\n","import { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { IdentityView } from '../view/identityView';\n\nexport class Identity extends Domain {\n title: CipherString;\n firstName: CipherString;\n middleName: CipherString;\n lastName: CipherString;\n address1: CipherString;\n address2: CipherString;\n address3: CipherString;\n city: CipherString;\n state: CipherString;\n postalCode: CipherString;\n country: CipherString;\n company: CipherString;\n email: CipherString;\n phone: CipherString;\n ssn: CipherString;\n username: CipherString;\n passportNumber: CipherString;\n licenseNumber: CipherString;\n\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new IdentityView(this), {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, orgId);\n }\n\n toIdentityData(): IdentityData {\n const i = new IdentityData();\n this.buildDataModel(this, i, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n });\n return i;\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n passwordRevisionDate?: Date;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.passwordRevisionDate = obj.passwordRevisionDate != null ? new Date(obj.passwordRevisionDate) : null;\n this.buildDomainModel(this, obj, {\n username: null,\n password: null,\n totp: null,\n }, alreadyEncrypted, []);\n\n if (obj.uris) {\n this.uris = [];\n obj.uris.forEach((u) => {\n this.uris.push(new LoginUri(u, alreadyEncrypted));\n });\n }\n }\n\n async decrypt(orgId: string): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId);\n\n if (this.uris != null) {\n view.uris = [];\n for (let i = 0; i < this.uris.length; i++) {\n const uri = await this.uris[i].decrypt(orgId);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n l.passwordRevisionDate = this.passwordRevisionDate != null ? this.passwordRevisionDate.toISOString() : null;\n this.buildDataModel(this, l, {\n username: null,\n password: null,\n totp: null,\n });\n\n if (this.uris != null && this.uris.length > 0) {\n l.uris = [];\n this.uris.forEach((u) => {\n l.uris.push(u.toLoginUriData());\n });\n }\n\n return l;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class LoginUri extends Domain {\n uri: CipherString;\n match: UriMatchType;\n\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.match = obj.match;\n this.buildDomainModel(this, obj, {\n uri: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId);\n }\n\n toLoginUriData(): LoginUriData {\n const u = new LoginUriData();\n this.buildDataModel(this, u, {\n uri: null,\n }, ['match']);\n return u;\n }\n}\n","import { PasswordHistoryData } from '../data/passwordHistoryData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { PasswordHistoryView } from '../view/passwordHistoryView';\n\nexport class Password extends Domain {\n password: CipherString;\n lastUsedDate: Date;\n\n constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n password: null,\n }, alreadyEncrypted);\n this.lastUsedDate = new Date(obj.lastUsedDate);\n }\n\n async decrypt(orgId: string): Promise {\n const view = await this.decryptObj(new PasswordHistoryView(this), {\n password: null,\n }, orgId);\n return view;\n }\n\n toPasswordHistoryData(): PasswordHistoryData {\n const ph = new PasswordHistoryData();\n ph.lastUsedDate = this.lastUsedDate.toISOString();\n this.buildDataModel(this, ph, {\n password: null,\n });\n return ph;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Password } from '../domain/password';\r\n\r\nexport class PasswordHistoryView implements View {\r\n password: string = null;\r\n lastUsedDate: Date = null;\r\n\r\n constructor(ph?: Password) {\r\n if (!ph) {\r\n return;\r\n }\r\n\r\n this.lastUsedDate = ph.lastUsedDate;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domainBase';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nexport class SecureNote extends Domain {\n type: SecureNoteType;\n\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n }\n\n decrypt(orgId: string): Promise {\n return Promise.resolve(new SecureNoteView(this));\n }\n\n toSecureNoteData(): SecureNoteData {\n const n = new SecureNoteData();\n n.type = this.type;\n return n;\n }\n}\n","import { CipherRequest } from './cipherRequest';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nexport class CipherCreateRequest {\r\n cipher: CipherRequest;\r\n collectionIds: string[];\r\n\r\n constructor(cipher: Cipher) {\r\n this.cipher = new CipherRequest(cipher);\r\n this.collectionIds = cipher.collectionIds;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\n\n@Component({\n selector: 'app-org-vault-attachments',\n templateUrl: '../../vault/attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n organization: Organization;\n\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.organization.isAdmin && this.showFixOldAttachments(attachment)) {\n await super.reuploadCipherAttachment(attachment, true);\n }\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.isAdmin);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n if (!this.organization.isAdmin) {\n return super.deleteCipherAttachment(attachmentId);\n }\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.organization.isAdmin;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\n\n@Component({\n selector: 'app-org-vault-collections',\n templateUrl: '../../vault/collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService,\n private apiService: ApiService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected loadCipherCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCipherCollections();\n }\n return this.collectionIds;\n }\n\n protected loadCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected saveCollections() {\n if (this.organization.isAdmin) {\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\n } else {\n return super.saveCollections();\n }\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-collection-add-edit',\n templateUrl: 'collection-add-edit.component.html',\n})\nexport class CollectionAddEditComponent implements OnInit {\n @Input() collectionId: string;\n @Input() organizationId: string;\n @Output() onSavedCollection = new EventEmitter();\n @Output() onDeletedCollection = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n accessGroups: boolean = false;\n title: string;\n name: string;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n private orgKey: SymmetricCryptoKey;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessGroups = organization.useGroups;\n this.editMode = this.loading = this.collectionId != null;\n if (this.accessGroups) {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editCollection');\n try {\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\n if (collection.groups != null && this.groups.length > 0) {\n collection.groups.forEach((s) => {\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n (group[0] as any).readOnly = s.readOnly;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addCollection');\n }\n\n this.groups.forEach((g) => {\n if (g.accessAll) {\n (g as any).checked = true;\n }\n });\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n if (g.accessAll) {\n return;\n }\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n if (this.orgKey == null) {\n throw new Error('No encryption key for this organization.');\n }\n\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly));\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\n } else {\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\n this.onSavedCollection.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\n this.onDeletedCollection.emit();\n } catch { }\n }\n}\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n groups: SelectionReadOnlyRequest[] = [];\n\n constructor(collection?: Collection) {\n if (collection == null) {\n return;\n }\n this.name = collection.name ? collection.name.encryptedString : null;\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\n@Component({\r\n selector: 'app-group-add-edit',\r\n templateUrl: 'group-add-edit.component.html',\r\n})\r\nexport class GroupAddEditComponent implements OnInit {\r\n @Input() groupId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedGroup = new EventEmitter();\r\n @Output() onDeletedGroup = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.groupId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editGroup');\r\n try {\r\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\r\n this.access = group.accessAll ? 'all' : 'selected';\r\n this.name = group.name;\r\n this.externalId = group.externalId;\r\n if (group.collections != null && this.collections != null) {\r\n group.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addGroup');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n const request = new GroupRequest();\r\n request.name = this.name;\r\n request.externalId = this.externalId;\r\n request.accessAll = this.access === 'all';\r\n if (!request.accessAll) {\r\n request.collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\r\n } else {\r\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\r\n this.onSavedGroup.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\r\n this.onDeletedGroup.emit();\r\n } catch { }\r\n }\r\n}\r\n","export class OrganizationUserConfirmRequest {\n key: string;\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Component({\r\n selector: 'app-user-add-edit',\r\n templateUrl: 'user-add-edit.component.html',\r\n})\r\nexport class UserAddEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n @Output() onDeletedUser = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n emails: string;\r\n type: OrganizationUserType = OrganizationUserType.User;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n organizationUserType = OrganizationUserType;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.organizationUserId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editUser');\r\n try {\r\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\r\n this.access = user.accessAll ? 'all' : 'selected';\r\n this.type = user.type;\r\n if (user.collections != null && this.collections != null) {\r\n user.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('inviteUser');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n let collections: SelectionReadOnlyRequest[] = null;\r\n if (this.access !== 'all') {\r\n collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n const request = new OrganizationUserUpdateRequest();\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\r\n request);\r\n } else {\r\n const request = new OrganizationUserInviteRequest();\r\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\r\n this.onDeletedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-confirm',\n templateUrl: 'user-confirm.component.html',\n})\nexport class UserConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onConfirmedUser = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n formPromise: Promise;\n\n private publicKey: Uint8Array = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n this.publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, this.publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.formPromise = this.doConfirmation();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', this.name));\n this.onConfirmedUser.emit();\n } catch { }\n }\n\n private async doConfirmation() {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, this.publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, this.organizationUserId, request);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-groups',\n templateUrl: 'user-groups.component.html',\n})\nexport class UserGroupsComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n\n loading = true;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n const groups = groupsResponse.data.map((r) => r);\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n\n try {\n const userGroups = await this.apiService.getOrganizationUserGroups(\n this.organizationId, this.organizationUserId);\n if (userGroups != null && this.groups != null) {\n userGroups.forEach((ug) => {\n const group = this.groups.filter((g) => g.id === ug);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n }\n });\n }\n } catch { }\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new OrganizationUserUpdateGroupsRequest();\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\n\n try {\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\n request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-organization',\n templateUrl: 'delete-organization.component.html',\n})\nexport class DeleteOrganizationComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\n this.i18nService.t('organizationDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\n\n@Component({\n selector: 'app-adjust-seats',\n templateUrl: 'adjust-seats.component.html',\n})\nexport class AdjustSeatsComponent {\n @Input() seatPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new SeatRequest();\n request.seatAdjustment = this.seatAdjustment;\n if (!this.add) {\n request.seatAdjustment *= -1;\n }\n\n this.formPromise = this.apiService.postOrganizationSeat(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n this.onAdjusted.emit(this.seatAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatPrice;\n }\n}\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBoxRow]',\r\n})\r\nexport class BoxRowDirective implements OnInit {\r\n el: HTMLElement = null;\r\n formEls: Element[];\r\n\r\n constructor(private elRef: ElementRef) {\r\n this.el = elRef.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\r\n this.formEls.forEach((formEl) => {\r\n formEl.addEventListener('focus', (event: Event) => {\r\n this.el.classList.add('active');\r\n }, false);\r\n\r\n formEl.addEventListener('blur', (event: Event) => {\r\n this.el.classList.remove('active');\r\n }, false);\r\n });\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: Event) {\r\n const target = event.target as HTMLElement;\r\n if (target !== this.el && !target.classList.contains('progress') &&\r\n !target.classList.contains('progress-bar')) {\r\n return;\r\n }\r\n\r\n if (this.formEls.length > 0) {\r\n const formEl = (this.formEls[0] as HTMLElement);\r\n if (formEl.tagName.toLowerCase() === 'input') {\r\n const inputEl = (formEl as HTMLInputElement);\r\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\r\n inputEl.click();\r\n return;\r\n }\r\n }\r\n formEl.focus();\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n NgControl,\r\n} from '@angular/forms';\r\n\r\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\r\n@Directive({\r\n selector: 'input[type=checkbox][appTrueFalseValue]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TrueFalseValueDirective),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TrueFalseValueDirective implements ControlValueAccessor {\r\n @Input() trueValue = true;\r\n @Input() falseValue = false;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('change', ['$event'])\r\n onHostChange(ev: any) {\r\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { /* nothing */ }\r\n\r\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\r\n\r\n private propagateChange = (_: any) => { /* nothing */ };\r\n}\r\n","import { DeviceType } from '../enums/deviceType';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { TokenService } from '../abstractions/token.service';\r\n\r\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KdfRequest } from '../models/request/kdfRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { PreloginRequest } from '../models/request/preloginRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { PreloginResponse } from '../models/response/preloginResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\r\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport {\r\n ChallengeResponse,\r\n TwoFactorU2fResponse,\r\n} from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport class ApiService implements ApiServiceAbstraction {\r\n urlsSet: boolean = false;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n\r\n private deviceType: string;\r\n private isWebClient = false;\r\n private isDesktopClient = false;\r\n private usingBaseUrl = false;\r\n\r\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\r\n private logoutCallback: (expired: boolean) => Promise) {\r\n const device = platformUtilsService.getDevice();\r\n this.deviceType = device.toString();\r\n this.isWebClient = device === DeviceType.IEBrowser || device === DeviceType.ChromeBrowser ||\r\n device === DeviceType.EdgeBrowser || device === DeviceType.FirefoxBrowser ||\r\n device === DeviceType.OperaBrowser || device === DeviceType.SafariBrowser ||\r\n device === DeviceType.UnknownBrowser || device === DeviceType.VivaldiBrowser;\r\n this.isDesktopClient = device === DeviceType.WindowsDesktop || device === DeviceType.MacOsDesktop ||\r\n device === DeviceType.LinuxDesktop;\r\n }\r\n\r\n setUrls(urls: EnvironmentUrls): void {\r\n this.urlsSet = true;\r\n\r\n if (urls.base != null) {\r\n this.usingBaseUrl = true;\r\n this.apiBaseUrl = urls.base + '/api';\r\n this.identityBaseUrl = urls.base + '/identity';\r\n return;\r\n }\r\n\r\n if (urls.api != null && urls.identity != null) {\r\n this.apiBaseUrl = urls.api;\r\n this.identityBaseUrl = urls.identity;\r\n return;\r\n }\r\n\r\n /* tslint:disable */\r\n // Local Dev\r\n //this.apiBaseUrl = 'http://localhost:4000';\r\n //this.identityBaseUrl = 'http://localhost:33656';\r\n\r\n // Production\r\n this.apiBaseUrl = 'https://api.bitwarden.com';\r\n this.identityBaseUrl = 'https://identity.bitwarden.com';\r\n /* tslint:enable */\r\n }\r\n\r\n // Auth APIs\r\n\r\n async postIdentityToken(request: TokenRequest): Promise {\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify(request.toIdentityToken(this.platformUtilsService.identityClientId)),\r\n credentials: this.getCredentials(),\r\n cache: 'no-cache',\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n if (responseJson != null) {\r\n if (response.status === 200) {\r\n return new IdentityTokenResponse(responseJson);\r\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\r\n Object.keys(responseJson.TwoFactorProviders2).length) {\r\n await this.tokenService.clearTwoFactorToken(request.email);\r\n return new IdentityTwoFactorResponse(responseJson);\r\n }\r\n }\r\n\r\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\r\n }\r\n\r\n async refreshIdentityToken(): Promise {\r\n try {\r\n await this.doRefreshToken();\r\n } catch (e) {\r\n return Promise.reject(null);\r\n }\r\n }\r\n\r\n // Account APIs\r\n\r\n async getProfile(): Promise {\r\n const r = await this.send('GET', '/accounts/profile', null, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n async getUserBilling(): Promise {\r\n const r = await this.send('GET', '/accounts/billing', null, true, true);\r\n return new BillingResponse(r);\r\n }\r\n\r\n async getUserSubscription(): Promise {\r\n const r = await this.send('GET', '/accounts/subscription', null, true, true);\r\n return new SubscriptionResponse(r);\r\n }\r\n\r\n async putProfile(request: UpdateProfileRequest): Promise {\r\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n async postPrelogin(request: PreloginRequest): Promise {\r\n const r = await this.send('POST', '/accounts/prelogin', request, false, true);\r\n return new PreloginResponse(r);\r\n }\r\n\r\n postEmailToken(request: EmailTokenRequest): Promise {\r\n return this.send('POST', '/accounts/email-token', request, true, false);\r\n }\r\n\r\n postEmail(request: EmailRequest): Promise {\r\n return this.send('POST', '/accounts/email', request, true, false);\r\n }\r\n\r\n postPassword(request: PasswordRequest): Promise {\r\n return this.send('POST', '/accounts/password', request, true, false);\r\n }\r\n\r\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/accounts/security-stamp', request, true, false);\r\n }\r\n\r\n deleteAccount(request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/accounts', request, true, false);\r\n }\r\n\r\n async getAccountRevisionDate(): Promise {\r\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\r\n return r as number;\r\n }\r\n\r\n postPasswordHint(request: PasswordHintRequest): Promise {\r\n return this.send('POST', '/accounts/password-hint', request, false, false);\r\n }\r\n\r\n postRegister(request: RegisterRequest): Promise {\r\n return this.send('POST', '/accounts/register', request, false, false);\r\n }\r\n\r\n postPremium(data: FormData): Promise {\r\n return this.send('POST', '/accounts/premium', data, true, false);\r\n }\r\n\r\n postReinstatePremium(): Promise {\r\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\r\n }\r\n\r\n postCancelPremium(): Promise {\r\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\r\n }\r\n\r\n postAccountStorage(request: StorageRequest): Promise {\r\n return this.send('POST', '/accounts/storage', request, true, false);\r\n }\r\n\r\n postAccountPayment(request: PaymentRequest): Promise {\r\n return this.send('POST', '/accounts/payment', request, true, false);\r\n }\r\n\r\n postAccountLicense(data: FormData): Promise {\r\n return this.send('POST', '/accounts/license', data, true, false);\r\n }\r\n\r\n postAccountKeys(request: KeysRequest): Promise {\r\n return this.send('POST', '/accounts/keys', request, true, false);\r\n }\r\n\r\n postAccountKey(request: UpdateKeyRequest): Promise {\r\n return this.send('POST', '/accounts/key', request, true, false);\r\n }\r\n\r\n postAccountVerifyEmail(): Promise {\r\n return this.send('POST', '/accounts/verify-email', null, true, false);\r\n }\r\n\r\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\r\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\r\n }\r\n\r\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover', request, false, false);\r\n }\r\n\r\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\r\n }\r\n\r\n postAccountKdf(request: KdfRequest): Promise {\r\n return this.send('POST', '/accounts/kdf', request, true, false);\r\n }\r\n\r\n // Folder APIs\r\n\r\n async getFolder(id: string): Promise {\r\n const r = await this.send('GET', '/folders/' + id, null, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n async postFolder(request: FolderRequest): Promise {\r\n const r = await this.send('POST', '/folders', request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n async putFolder(id: string, request: FolderRequest): Promise {\r\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n deleteFolder(id: string): Promise {\r\n return this.send('DELETE', '/folders/' + id, null, true, false);\r\n }\r\n\r\n // Cipher APIs\r\n\r\n async getCipher(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCipherAdmin(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCiphersOrganization(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\r\n null, true, true);\r\n return new ListResponse(r, CipherResponse);\r\n }\r\n\r\n async postCipher(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherCreate(request: CipherCreateRequest): Promise {\r\n const r = await this.send('POST', '/ciphers/create', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAdmin(request: CipherCreateRequest): Promise {\r\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipher(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipher(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\r\n }\r\n\r\n deleteCipherAdmin(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\r\n }\r\n\r\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('DELETE', '/ciphers', request, true, false);\r\n }\r\n\r\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\r\n return this.send('PUT', '/ciphers/move', request, true, false);\r\n }\r\n\r\n async putShareCipher(id: string, request: CipherShareRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id + '/share', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n putShareCiphers(request: CipherBulkShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/share', request, true, false);\r\n }\r\n\r\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\r\n }\r\n\r\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\r\n }\r\n\r\n postPurgeCiphers(request: PasswordVerificationRequest, organizationId: string = null): Promise {\r\n let path = '/ciphers/purge';\r\n if (organizationId != null) {\r\n path += '?organizationId=' + organizationId;\r\n }\r\n return this.send('POST', path, request, true, false);\r\n }\r\n\r\n postImportCiphers(request: ImportCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import', request, true, false);\r\n }\r\n\r\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\r\n }\r\n\r\n // Attachments APIs\r\n\r\n async postCipherAttachment(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\r\n }\r\n\r\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\r\n }\r\n\r\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\r\n organizationId: string): Promise {\r\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\r\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\r\n }\r\n\r\n // Collections APIs\r\n\r\n async getCollectionDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\r\n null, true, true);\r\n return new CollectionGroupDetailsResponse(r);\r\n }\r\n\r\n async getUserCollections(): Promise> {\r\n const r = await this.send('GET', '/collections', null, true, true);\r\n return new ListResponse(r, CollectionResponse);\r\n }\r\n\r\n async getCollections(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\r\n return new ListResponse(r, CollectionResponse);\r\n }\r\n\r\n async getCollectionUsers(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\r\n null, true, true);\r\n return r.map((dr: any) => new SelectionReadOnlyResponse(dr));\r\n }\r\n\r\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\r\n request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n async putCollectionUsers(organizationId: string, id: string, request: SelectionReadOnlyRequest[]): Promise {\r\n await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id + '/users',\r\n request, true, false);\r\n }\r\n\r\n deleteCollection(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\r\n }\r\n\r\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\r\n null, true, false);\r\n }\r\n\r\n // Groups APIs\r\n\r\n async getGroupDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\r\n null, true, true);\r\n return new GroupDetailsResponse(r);\r\n }\r\n\r\n async getGroups(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\r\n return new ListResponse(r, GroupResponse);\r\n }\r\n\r\n async getGroupUsers(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\r\n null, true, true);\r\n return r;\r\n }\r\n\r\n async postGroup(organizationId: string, request: GroupRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n async putGroupUsers(organizationId: string, id: string, request: string[]): Promise {\r\n await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id + '/users', request, true, false);\r\n }\r\n\r\n deleteGroup(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\r\n }\r\n\r\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\r\n }\r\n\r\n // Organization User APIs\r\n\r\n async getOrganizationUser(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\r\n return new OrganizationUserDetailsResponse(r);\r\n }\r\n\r\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\r\n null, true, true);\r\n return r;\r\n }\r\n\r\n async getOrganizationUsers(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\r\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\r\n }\r\n\r\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\r\n }\r\n\r\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\r\n }\r\n\r\n postOrganizationUserAccept(organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\r\n }\r\n\r\n postOrganizationUserConfirm(organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\r\n request, true, false);\r\n }\r\n\r\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\r\n }\r\n\r\n putOrganizationUserGroups(organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\r\n }\r\n\r\n deleteOrganizationUser(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\r\n }\r\n\r\n // Sync APIs\r\n\r\n async getSync(): Promise {\r\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\r\n const r = await this.send('GET', path, null, true, true);\r\n return new SyncResponse(r);\r\n }\r\n\r\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\r\n }\r\n\r\n // Settings APIs\r\n\r\n async getSettingsDomains(): Promise {\r\n const r = await this.send('GET', '/settings/domains', null, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\r\n const r = await this.send('PUT', '/settings/domains', request, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n // Two-factor APIs\r\n\r\n async getTwoFactorProviders(): Promise> {\r\n const r = await this.send('GET', '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorOrganizationDuo(organizationId: string,\r\n request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\r\n request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async getTwoFactorU2fChallenge(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-u2f-challenge', request, true, true);\r\n return new ChallengeResponse(r);\r\n }\r\n\r\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\r\n return new TwoFactorRecoverResponse(r);\r\n }\r\n\r\n async putTwoFactorAuthenticator(\r\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDuo(organizationId: string,\r\n request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async deleteTwoFactorU2f(request: UpdateTwoFactorU2fDeleteRequest): Promise {\r\n const r = await this.send('DELETE', '/two-factor/u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDisable(organizationId: string,\r\n request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\r\n request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\r\n return this.send('POST', '/two-factor/recover', request, false, false);\r\n }\r\n\r\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email', request, true, false);\r\n }\r\n\r\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\r\n }\r\n\r\n // Organization APIs\r\n\r\n async getOrganization(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async getOrganizationBilling(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\r\n return new BillingResponse(r);\r\n }\r\n\r\n async getOrganizationSubscription(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id + '/subscription', null, true, true);\r\n return new OrganizationSubscriptionResponse(r);\r\n }\r\n\r\n async getOrganizationLicense(id: string, installationId: string): Promise {\r\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\r\n null, true, true);\r\n }\r\n\r\n async postOrganization(request: OrganizationCreateRequest): Promise {\r\n const r = await this.send('POST', '/organizations', request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n postLeaveOrganization(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\r\n }\r\n\r\n async postOrganizationLicense(data: FormData): Promise {\r\n const r = await this.send('POST', '/organizations/license', data, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\r\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\r\n }\r\n\r\n postOrganizationSeat(id: string, request: SeatRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/seat', request, true, false);\r\n }\r\n\r\n postOrganizationStorage(id: string, request: StorageRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/storage', request, true, false);\r\n }\r\n\r\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\r\n }\r\n\r\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\r\n }\r\n\r\n postOrganizationCancel(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\r\n }\r\n\r\n postOrganizationReinstate(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\r\n }\r\n\r\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/organizations/' + id, request, true, false);\r\n }\r\n\r\n // Event APIs\r\n\r\n async getEvents(start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsCipher(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganization(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganizationUser(organizationId: string, id: string,\r\n start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET',\r\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n // User APIs\r\n\r\n async getUserPublicKey(id: string): Promise {\r\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\r\n return new UserKeyResponse(r);\r\n }\r\n\r\n // HIBP APIs\r\n\r\n async getHibpBreach(username: string): Promise {\r\n const r = await this.send('GET', '/hibp/breach?username=' + username, null, true, true);\r\n return r.map((a: any) => new BreachAccountResponse(a));\r\n }\r\n\r\n // Misc\r\n\r\n async postBitPayInvoice(request: BitPayInvoiceRequest): Promise {\r\n const r = await this.send('POST', '/bitpay-invoice', request, true, true);\r\n return r as string;\r\n }\r\n\r\n // Helpers\r\n\r\n async getActiveBearerToken(): Promise {\r\n let accessToken = await this.tokenService.getToken();\r\n if (this.tokenService.tokenNeedsRefresh()) {\r\n const tokenResponse = await this.doRefreshToken();\r\n accessToken = tokenResponse.accessToken;\r\n }\r\n return accessToken;\r\n }\r\n\r\n fetch(request: Request): Promise {\r\n if (request.method === 'GET') {\r\n request.headers.set('Cache-Control', 'no-cache');\r\n request.headers.set('Pragma', 'no-cache');\r\n }\r\n return fetch(request);\r\n }\r\n\r\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\r\n authed: boolean, hasResponse: boolean): Promise {\r\n const headers = new Headers({\r\n 'Device-Type': this.deviceType,\r\n });\r\n\r\n const requestInit: RequestInit = {\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n method: method,\r\n };\r\n\r\n if (authed) {\r\n const authHeader = await this.getActiveBearerToken();\r\n headers.set('Authorization', 'Bearer ' + authHeader);\r\n }\r\n if (body != null) {\r\n if (typeof body === 'string') {\r\n requestInit.body = body;\r\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\r\n } else if (typeof body === 'object') {\r\n if (body instanceof FormData) {\r\n requestInit.body = body;\r\n } else {\r\n headers.set('Content-Type', 'application/json; charset=utf-8');\r\n requestInit.body = JSON.stringify(body);\r\n }\r\n }\r\n }\r\n if (hasResponse) {\r\n headers.set('Accept', 'application/json');\r\n }\r\n\r\n requestInit.headers = headers;\r\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\r\n\r\n if (hasResponse && response.status === 200) {\r\n const responseJson = await response.json();\r\n return responseJson;\r\n } else if (response.status !== 200) {\r\n const error = await this.handleError(response, false);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private async handleError(response: Response, tokenError: boolean): Promise {\r\n if ((tokenError && response.status === 400) || response.status === 401 || response.status === 403) {\r\n await this.logoutCallback(true);\r\n return null;\r\n }\r\n\r\n let responseJson: any = null;\r\n const typeHeader = response.headers.get('content-type');\r\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\r\n responseJson = await response.json();\r\n }\r\n\r\n return new ErrorResponse(responseJson, response.status, tokenError);\r\n }\r\n\r\n private async doRefreshToken(): Promise {\r\n const refreshToken = await this.tokenService.getRefreshToken();\r\n if (refreshToken == null || refreshToken === '') {\r\n throw new Error();\r\n }\r\n\r\n const decodedToken = this.tokenService.decodeToken();\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify({\r\n grant_type: 'refresh_token',\r\n client_id: decodedToken.client_id,\r\n refresh_token: refreshToken,\r\n }),\r\n cache: 'no-cache',\r\n credentials: this.getCredentials(),\r\n headers: new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n }),\r\n method: 'POST',\r\n }));\r\n\r\n if (response.status === 200) {\r\n const responseJson = await response.json();\r\n const tokenResponse = new IdentityTokenResponse(responseJson);\r\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\r\n return tokenResponse;\r\n } else {\r\n const error = await this.handleError(response, true);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private qsStringify(params: any): string {\r\n return Object.keys(params).map((key) => {\r\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\r\n }).join('&');\r\n }\r\n\r\n private getCredentials(): RequestCredentials {\r\n if (!this.isWebClient || this.usingBaseUrl) {\r\n return 'include';\r\n }\r\n return undefined;\r\n }\r\n\r\n private addEventParameters(base: string, start: string, end: string, token: string) {\r\n if (start != null) {\r\n base += ('?start=' + start);\r\n }\r\n if (end != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('end=' + end);\r\n }\r\n if (token != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('continuationToken=' + token);\r\n }\r\n return base;\r\n }\r\n}\r\n","import { AttachmentResponse } from './attachmentResponse';\r\nimport { BaseResponse } from './baseResponse';\r\nimport { PasswordHistoryResponse } from './passwordHistoryResponse';\r\n\r\nimport { CardApi } from '../api/cardApi';\r\nimport { FieldApi } from '../api/fieldApi';\r\nimport { IdentityApi } from '../api/identityApi';\r\nimport { LoginApi } from '../api/loginApi';\r\nimport { SecureNoteApi } from '../api/secureNoteApi';\r\n\r\nexport class CipherResponse extends BaseResponse {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n type: number;\r\n name: string;\r\n notes: string;\r\n fields: FieldApi[];\r\n login: LoginApi;\r\n card: CardApi;\r\n identity: IdentityApi;\r\n secureNote: SecureNoteApi;\r\n favorite: boolean;\r\n edit: boolean;\r\n organizationUseTotp: boolean;\r\n revisionDate: string;\r\n attachments: AttachmentResponse[];\r\n passwordHistory: PasswordHistoryResponse[];\r\n collectionIds: string[];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.folderId = this.getResponseProperty('FolderId') || null;\r\n this.type = this.getResponseProperty('Type');\r\n this.name = this.getResponseProperty('Name');\r\n this.notes = this.getResponseProperty('Notes');\r\n this.favorite = this.getResponseProperty('Favorite') || false;\r\n this.edit = this.getResponseProperty('Edit') || true;\r\n this.organizationUseTotp = this.getResponseProperty('OrganizationUseTotp');\r\n this.revisionDate = this.getResponseProperty('RevisionDate');\r\n this.collectionIds = this.getResponseProperty('CollectionIds');\r\n\r\n const login = this.getResponseProperty('Login');\r\n if (login != null) {\r\n this.login = new LoginApi(login);\r\n }\r\n\r\n const card = this.getResponseProperty('Card');\r\n if (card != null) {\r\n this.card = new CardApi(card);\r\n }\r\n\r\n const identity = this.getResponseProperty('Identity');\r\n if (identity != null) {\r\n this.identity = new IdentityApi(identity);\r\n }\r\n\r\n const secureNote = this.getResponseProperty('SecureNote');\r\n if (secureNote != null) {\r\n this.secureNote = new SecureNoteApi(secureNote);\r\n }\r\n\r\n const fields = this.getResponseProperty('Fields');\r\n if (fields != null) {\r\n this.fields = fields.map((f: any) => new FieldApi(f));\r\n }\r\n\r\n const attachments = this.getResponseProperty('Attachments');\r\n if (attachments != null) {\r\n this.attachments = attachments.map((a: any) => new AttachmentResponse(a));\r\n }\r\n\r\n const passwordHistory = this.getResponseProperty('PasswordHistory');\r\n if (passwordHistory != null) {\r\n this.passwordHistory = passwordHistory.map((h: any) => new PasswordHistoryResponse(h));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\r\n\r\nexport class CollectionResponse extends BaseResponse {\r\n id: string;\r\n organizationId: string;\r\n name: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.name = this.getResponseProperty('Name');\r\n }\r\n}\r\n\r\nexport class CollectionDetailsResponse extends CollectionResponse {\r\n readOnly: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.readOnly = this.getResponseProperty('ReadOnly') || false;\r\n }\r\n}\r\n\r\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\r\n groups: SelectionReadOnlyResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n const groups = this.getResponseProperty('Groups');\r\n if (groups != null) {\r\n this.groups = groups.map((g: any) => new SelectionReadOnlyResponse(g));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { GlobalDomainResponse } from './globalDomainResponse';\r\n\r\nexport class DomainsResponse extends BaseResponse {\r\n equivalentDomains: string[][];\r\n globalEquivalentDomains: GlobalDomainResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.equivalentDomains = this.getResponseProperty('EquivalentDomains');\r\n const globalEquivalentDomains = this.getResponseProperty('GlobalEquivalentDomains');\r\n if (globalEquivalentDomains != null) {\r\n this.globalEquivalentDomains = globalEquivalentDomains.map((d: any) => new GlobalDomainResponse(d));\r\n } else {\r\n this.globalEquivalentDomains = [];\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class FolderResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.revisionDate = this.getResponseProperty('RevisionDate');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { PlanType } from '../../enums/planType';\r\n\r\nexport class OrganizationResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n businessName: string;\r\n businessAddress1: string;\r\n businessAddress2: string;\r\n businessAddress3: string;\r\n businessCountry: string;\r\n businessTaxNumber: string;\r\n billingEmail: string;\r\n plan: string;\r\n planType: PlanType;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb: number;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.businessName = this.getResponseProperty('BusinessName');\r\n this.businessAddress1 = this.getResponseProperty('BusinessAddress1');\r\n this.businessAddress2 = this.getResponseProperty('BusinessAddress2');\r\n this.businessAddress3 = this.getResponseProperty('BusinessAddress3');\r\n this.businessCountry = this.getResponseProperty('BusinessCountry');\r\n this.businessTaxNumber = this.getResponseProperty('BusinessTaxNumber');\r\n this.billingEmail = this.getResponseProperty('BillingEmail');\r\n this.plan = this.getResponseProperty('Plan');\r\n this.planType = this.getResponseProperty('PlanType');\r\n this.seats = this.getResponseProperty('Seats');\r\n this.maxCollections = this.getResponseProperty('MaxCollections');\r\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\r\n this.useGroups = this.getResponseProperty('UseGroups');\r\n this.useDirectory = this.getResponseProperty('UseDirectory');\r\n this.useEvents = this.getResponseProperty('UseEvents');\r\n this.useTotp = this.getResponseProperty('UseTotp');\r\n this.use2fa = this.getResponseProperty('Use2fa');\r\n this.useApi = this.getResponseProperty('UseApi');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class SubscriptionResponse extends BaseResponse {\r\n storageName: string;\r\n storageGb: number;\r\n maxStorageGb: number;\r\n subscription: BillingSubscriptionResponse;\r\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\r\n license: any;\r\n expiration: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.storageName = this.getResponseProperty('StorageName');\r\n this.storageGb = this.getResponseProperty('StorageGb');\r\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\r\n this.license = this.getResponseProperty('License');\r\n this.expiration = this.getResponseProperty('Expiration');\r\n const subscription = this.getResponseProperty('Subscription');\r\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\r\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\r\n this.upcomingInvoice = upcomingInvoice == null ? null :\r\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\r\n }\r\n}\r\n\r\nexport class BillingSubscriptionResponse extends BaseResponse {\r\n trialStartDate: string;\r\n trialEndDate: string;\r\n periodStartDate: string;\r\n periodEndDate: string;\r\n cancelledDate: string;\r\n cancelAtEndDate: boolean;\r\n status: string;\r\n cancelled: boolean;\r\n items: BillingSubscriptionItemResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.trialEndDate = this.getResponseProperty('TrialStartDate');\r\n this.trialEndDate = this.getResponseProperty('TrialEndDate');\r\n this.periodStartDate = this.getResponseProperty('PeriodStartDate');\r\n this.periodEndDate = this.getResponseProperty('PeriodEndDate');\r\n this.cancelledDate = this.getResponseProperty('CancelledDate');\r\n this.cancelAtEndDate = this.getResponseProperty('CancelAtEndDate');\r\n this.status = this.getResponseProperty('Status');\r\n this.cancelled = this.getResponseProperty('Cancelled');\r\n const items = this.getResponseProperty('Items');\r\n if (items != null) {\r\n this.items = items.map((i: any) => new BillingSubscriptionItemResponse(i));\r\n }\r\n }\r\n}\r\n\r\nexport class BillingSubscriptionItemResponse extends BaseResponse {\r\n name: string;\r\n amount: number;\r\n quantity: number;\r\n interval: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.name = this.getResponseProperty('Name');\r\n this.amount = this.getResponseProperty('Amount');\r\n this.quantity = this.getResponseProperty('Quantity');\r\n this.interval = this.getResponseProperty('Interval');\r\n }\r\n}\r\n\r\nexport class BillingSubscriptionUpcomingInvoiceResponse extends BaseResponse {\r\n date: string;\r\n amount: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.date = this.getResponseProperty('Date');\r\n this.amount = this.getResponseProperty('Amount');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { ProfileOrganizationResponse } from './profileOrganizationResponse';\r\n\r\nexport class ProfileResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n email: string;\r\n emailVerified: boolean;\r\n masterPasswordHint: string;\r\n premium: boolean;\r\n culture: string;\r\n twoFactorEnabled: boolean;\r\n key: string;\r\n privateKey: string;\r\n securityStamp: string;\r\n organizations: ProfileOrganizationResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.email = this.getResponseProperty('Email');\r\n this.emailVerified = this.getResponseProperty('EmailVerified');\r\n this.masterPasswordHint = this.getResponseProperty('MasterPasswordHint');\r\n this.premium = this.getResponseProperty('Premium');\r\n this.culture = this.getResponseProperty('Culture');\r\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\r\n this.key = this.getResponseProperty('Key');\r\n this.privateKey = this.getResponseProperty('PrivateKey');\r\n this.securityStamp = this.getResponseProperty('SecurityStamp');\r\n\r\n const organizations = this.getResponseProperty('Organizations');\r\n if (organizations != null) {\r\n this.organizations = organizations.map((o: any) => new ProfileOrganizationResponse(o));\r\n }\r\n }\r\n}\r\n","import { Utils } from '../misc/utils';\r\n\r\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class AppIdService implements AppIdServiceAbstraction {\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n getAppId(): Promise {\r\n return this.makeAndGetAppId('appId');\r\n }\r\n\r\n getAnonymousAppId(): Promise {\r\n return this.makeAndGetAppId('anonymousAppId');\r\n }\r\n\r\n private async makeAndGetAppId(key: string) {\r\n const existingId = await this.storageService.get(key);\r\n if (existingId != null) {\r\n return existingId;\r\n }\r\n\r\n const guid = Utils.newGuid();\r\n await this.storageService.save(key, guid);\r\n return guid;\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\n\r\nimport { throttle } from '../misc/throttle';\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\n\r\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\r\n\r\nexport class AuditService implements AuditServiceAbstraction {\r\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\r\n\r\n @throttle(100, () => 'passwordLeaked')\r\n async passwordLeaked(password: string): Promise {\r\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\r\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\r\n const hashStart = hash.substr(0, 5);\r\n const hashEnding = hash.substr(5);\r\n\r\n const response = await fetch(PwnedPasswordsApi + hashStart);\r\n const leakedHashes = await response.text();\r\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\r\n return v.split(':')[0] === hashEnding;\r\n });\r\n\r\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\r\n }\r\n\r\n async breachedAccounts(username: string): Promise {\r\n try {\r\n return await this.apiService.getHibpBreach(username);\r\n } catch (e) {\r\n const error = e as ErrorResponse;\r\n if (error.statusCode === 404) {\r\n return [];\r\n }\r\n throw new Error();\r\n }\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Attachment } from '../models/domain/attachment';\nimport { Card } from '../models/domain/card';\nimport { Cipher } from '../models/domain/cipher';\nimport { CipherString } from '../models/domain/cipherString';\nimport Domain from '../models/domain/domainBase';\nimport { Field } from '../models/domain/field';\nimport { Identity } from '../models/domain/identity';\nimport { Login } from '../models/domain/login';\nimport { LoginUri } from '../models/domain/loginUri';\nimport { Password } from '../models/domain/password';\nimport { SecureNote } from '../models/domain/secureNote';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\nimport { PasswordHistoryView } from '../models/view/passwordHistoryView';\nimport { View } from '../models/view/view';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { SearchService } from '../abstractions/search.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n ciphersPrefix: 'ciphers_',\n localData: 'sitesLocalData',\n neverDomains: 'neverDomains',\n};\n\nconst DomainMatchBlacklist = new Map>([\n ['google.com', new Set(['script.google.com'])],\n]);\n\nexport class CipherService implements CipherServiceAbstraction {\n // tslint:disable-next-line\n _decryptedCipherCache: CipherView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private settingsService: SettingsService, private apiService: ApiService,\n private storageService: StorageService, private i18nService: I18nService,\n private searchService: () => SearchService) {\n }\n\n get decryptedCipherCache() {\n return this._decryptedCipherCache;\n }\n set decryptedCipherCache(value: CipherView[]) {\n this._decryptedCipherCache = value;\n if (this.searchService != null) {\n if (value == null) {\n this.searchService().clearIndex();\n } else {\n this.searchService().indexCiphers();\n }\n }\n }\n\n clearCache(): void {\n this.decryptedCipherCache = null;\n }\n\n async encrypt(model: CipherView, key?: SymmetricCryptoKey, originalCipher: Cipher = null): Promise {\n // Adjust password history\n if (model.id != null) {\n if (originalCipher == null) {\n originalCipher = await this.get(model.id);\n }\n if (originalCipher != null) {\n const existingCipher = await originalCipher.decrypt();\n model.passwordHistory = existingCipher.passwordHistory || [];\n if (model.type === CipherType.Login && existingCipher.type === CipherType.Login) {\n if (existingCipher.login.password != null && existingCipher.login.password !== '' &&\n existingCipher.login.password !== model.login.password) {\n const ph = new PasswordHistoryView();\n ph.password = existingCipher.login.password;\n ph.lastUsedDate = model.login.passwordRevisionDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n } else {\n model.login.passwordRevisionDate = existingCipher.login.passwordRevisionDate;\n }\n }\n if (existingCipher.hasFields) {\n const existingHiddenFields = existingCipher.fields.filter((f) => f.type === FieldType.Hidden &&\n f.name != null && f.name !== '' && f.value != null && f.value !== '');\n const hiddenFields = model.fields == null ? [] :\n model.fields.filter((f) => f.type === FieldType.Hidden && f.name != null && f.name !== '');\n existingHiddenFields.forEach((ef) => {\n const matchedField = hiddenFields.filter((f) => f.name === ef.name);\n if (matchedField.length === 0 || matchedField[0].value !== ef.value) {\n const ph = new PasswordHistoryView();\n ph.password = ef.name + ': ' + ef.value;\n ph.lastUsedDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n }\n });\n }\n }\n if (model.passwordHistory != null && model.passwordHistory.length === 0) {\n model.passwordHistory = null;\n } else if (model.passwordHistory != null && model.passwordHistory.length > 5) {\n // only save last 5 history\n model.passwordHistory = model.passwordHistory.slice(0, 5);\n }\n }\n\n const cipher = new Cipher();\n cipher.id = model.id;\n cipher.folderId = model.folderId;\n cipher.favorite = model.favorite;\n cipher.organizationId = model.organizationId;\n cipher.type = model.type;\n cipher.collectionIds = model.collectionIds;\n\n if (key == null && cipher.organizationId != null) {\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\n if (key == null) {\n throw new Error('Cannot encrypt cipher for organization. No key.');\n }\n }\n await Promise.all([\n this.encryptObjProperty(model, cipher, {\n name: null,\n notes: null,\n }, key),\n this.encryptCipherData(cipher, model, key),\n this.encryptFields(model.fields, key).then((fields) => {\n cipher.fields = fields;\n }),\n this.encryptPasswordHistories(model.passwordHistory, key).then((ph) => {\n cipher.passwordHistory = ph;\n }),\n this.encryptAttachments(model.attachments, key).then((attachments) => {\n cipher.attachments = attachments;\n }),\n ]);\n\n return cipher;\n }\n\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\n if (attachmentsModel == null || attachmentsModel.length === 0) {\n return null;\n }\n\n const promises: Array> = [];\n const encAttachments: Attachment[] = [];\n attachmentsModel.forEach(async (model) => {\n const attachment = new Attachment();\n attachment.id = model.id;\n attachment.size = model.size;\n attachment.sizeName = model.sizeName;\n attachment.url = model.url;\n const promise = this.encryptObjProperty(model, attachment, {\n fileName: null,\n }, key).then(async () => {\n if (model.key != null) {\n attachment.key = await this.cryptoService.encrypt(model.key.key, key);\n }\n encAttachments.push(attachment);\n });\n promises.push(promise);\n });\n\n await Promise.all(promises);\n return encAttachments;\n }\n\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\n if (!fieldsModel || !fieldsModel.length) {\n return null;\n }\n\n const self = this;\n const encFields: Field[] = [];\n await fieldsModel.reduce((promise, field) => {\n return promise.then(() => {\n return self.encryptField(field, key);\n }).then((encField: Field) => {\n encFields.push(encField);\n });\n }, Promise.resolve());\n\n return encFields;\n }\n\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\n const field = new Field();\n field.type = fieldModel.type;\n // normalize boolean type field values\n if (fieldModel.type === FieldType.Boolean && fieldModel.value !== 'true') {\n fieldModel.value = 'false';\n }\n\n await this.encryptObjProperty(fieldModel, field, {\n name: null,\n value: null,\n }, key);\n\n return field;\n }\n\n async encryptPasswordHistories(phModels: PasswordHistoryView[], key: SymmetricCryptoKey): Promise {\n if (!phModels || !phModels.length) {\n return null;\n }\n\n const self = this;\n const encPhs: Password[] = [];\n await phModels.reduce((promise, ph) => {\n return promise.then(() => {\n return self.encryptPasswordHistory(ph, key);\n }).then((encPh: Password) => {\n encPhs.push(encPh);\n });\n }, Promise.resolve());\n\n return encPhs;\n }\n\n async encryptPasswordHistory(phModel: PasswordHistoryView, key: SymmetricCryptoKey): Promise {\n const ph = new Password();\n ph.lastUsedDate = phModel.lastUsedDate;\n\n await this.encryptObjProperty(phModel, ph, {\n password: null,\n }, key);\n\n return ph;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\n return null;\n }\n\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n const response: Cipher[] = [];\n for (const id in ciphers) {\n if (ciphers.hasOwnProperty(id)) {\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\n }\n }\n return response;\n }\n\n @sequentialize(() => 'getAllDecrypted')\n async getAllDecrypted(): Promise {\n if (this.decryptedCipherCache != null) {\n return this.decryptedCipherCache;\n }\n\n const decCiphers: CipherView[] = [];\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const promises: any[] = [];\n const ciphers = await this.getAll();\n ciphers.forEach((cipher) => {\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.getLocaleSortingFunction());\n this.decryptedCipherCache = decCiphers;\n return this.decryptedCipherCache;\n }\n\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\n const ciphers = await this.getAllDecrypted();\n\n return ciphers.filter((cipher) => {\n if (folder && cipher.folderId === groupingId) {\n return true;\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\n return true;\n }\n\n return false;\n });\n }\n\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[]): Promise {\n if (url == null && !includeOtherTypes) {\n return Promise.resolve([]);\n }\n\n const domain = Utils.getDomain(url);\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\n let matches: any[] = [];\n eqDomains.forEach((eqDomain) => {\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\n matches = matches.concat(eqDomain);\n }\n });\n\n if (!matches.length) {\n matches.push(domain);\n }\n\n return matches;\n });\n\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\n const matchingDomains = result[0];\n const ciphers = result[1];\n\n let defaultMatch = await this.storageService.get(ConstantsService.defaultUriMatch);\n if (defaultMatch == null) {\n defaultMatch = UriMatchType.Domain;\n }\n\n return ciphers.filter((cipher) => {\n if (includeOtherTypes && includeOtherTypes.indexOf(cipher.type) > -1) {\n return true;\n }\n\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\n for (let i = 0; i < cipher.login.uris.length; i++) {\n const u = cipher.login.uris[i];\n if (u.uri == null) {\n continue;\n }\n\n const match = u.match == null ? defaultMatch : u.match;\n switch (match) {\n case UriMatchType.Domain:\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\n if (DomainMatchBlacklist.has(u.domain)) {\n const domainUrlHost = Utils.getHost(url);\n if (!DomainMatchBlacklist.get(u.domain).has(domainUrlHost)) {\n return true;\n }\n } else {\n return true;\n }\n }\n break;\n case UriMatchType.Host:\n const urlHost = Utils.getHost(url);\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.Exact:\n if (url === u.uri) {\n return true;\n }\n break;\n case UriMatchType.StartsWith:\n if (url.startsWith(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.RegularExpression:\n try {\n const regex = new RegExp(u.uri, 'i');\n if (regex.test(url)) {\n return true;\n }\n } catch { }\n break;\n case UriMatchType.Never:\n default:\n break;\n }\n }\n }\n\n return false;\n });\n }\n\n async getAllFromApiForOrganization(organizationId: string): Promise {\n const ciphers = await this.apiService.getCiphersOrganization(organizationId);\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\n const decCiphers: CipherView[] = [];\n const promises: any[] = [];\n ciphers.data.forEach((r) => {\n const data = new CipherData(r);\n const cipher = new Cipher(data);\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n await Promise.all(promises);\n decCiphers.sort(this.getLocaleSortingFunction());\n return decCiphers;\n } else {\n return [];\n }\n }\n\n async getLastUsedForUrl(url: string): Promise {\n const ciphers = await this.getAllDecryptedForUrl(url);\n if (ciphers.length === 0) {\n return null;\n }\n\n const sortedCiphers = ciphers.sort(this.sortCiphersByLastUsed);\n return sortedCiphers[0];\n }\n\n async updateLastUsedDate(id: string): Promise {\n let ciphersLocalData = await this.storageService.get(Keys.localData);\n if (!ciphersLocalData) {\n ciphersLocalData = {};\n }\n\n if (ciphersLocalData[id]) {\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\n } else {\n ciphersLocalData[id] = {\n lastUsedDate: new Date().getTime(),\n };\n }\n\n await this.storageService.save(Keys.localData, ciphersLocalData);\n\n if (this.decryptedCipherCache == null) {\n return;\n }\n\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\n const cached = this.decryptedCipherCache[i];\n if (cached.id === id) {\n cached.localData = ciphersLocalData[id];\n break;\n }\n }\n }\n\n async saveNeverDomain(domain: string): Promise {\n if (domain == null) {\n return;\n }\n\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\n if (!domains) {\n domains = {};\n }\n domains[domain] = null;\n await this.storageService.save(Keys.neverDomains, domains);\n }\n\n async saveWithServer(cipher: Cipher): Promise {\n let response: CipherResponse;\n if (cipher.id == null) {\n if (cipher.collectionIds != null) {\n const request = new CipherCreateRequest(cipher);\n response = await this.apiService.postCipherCreate(request);\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.postCipher(request);\n }\n cipher.id = response.id;\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.putCipher(cipher.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, cipher.collectionIds);\n await this.upsert(data);\n }\n\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\n const attachmentPromises: Array> = [];\n if (cipher.attachments != null) {\n cipher.attachments.forEach((attachment) => {\n if (attachment.key == null) {\n attachmentPromises.push(this.shareAttachmentWithServer(attachment, cipher.id, organizationId));\n }\n });\n }\n await Promise.all(attachmentPromises);\n\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n const encCipher = await this.encrypt(cipher);\n const request = new CipherShareRequest(encCipher);\n const response = await this.apiService.putShareCipher(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, collectionIds);\n await this.upsert(data);\n }\n\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\n const promises: Array> = [];\n const encCiphers: Cipher[] = [];\n for (const cipher of ciphers) {\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n promises.push(this.encrypt(cipher).then((c) => {\n encCiphers.push(c);\n }));\n }\n await Promise.all(promises);\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\n await this.apiService.putShareCiphers(request);\n const userId = await this.userService.getUserId();\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\n }\n\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(unencryptedFile);\n reader.onload = async (evt: any) => {\n try {\n const cData = await this.saveAttachmentRawWithServer(cipher,\n unencryptedFile.name, evt.target.result, admin);\n resolve(cData);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = (evt) => {\n reject('Error reading file.');\n };\n });\n }\n\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\n data: ArrayBuffer, admin = false): Promise {\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\n const encFileName = await this.cryptoService.encrypt(filename, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(data, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n fd.append('key', dataEncKey[1].encryptedString);\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n let response: CipherResponse;\n try {\n if (admin) {\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\n } else {\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\n }\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n\n const userId = await this.userService.getUserId();\n const cData = new CipherData(response, userId, cipher.collectionIds);\n if (!admin) {\n this.upsert(cData);\n }\n return new Cipher(cData);\n }\n\n async saveCollectionsWithServer(cipher: Cipher): Promise {\n const request = new CipherCollectionsRequest(cipher.collectionIds);\n await this.apiService.putCipherCollections(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = cipher.toCipherData(userId);\n await this.upsert(data);\n }\n\n async upsert(cipher: CipherData | CipherData[]): Promise {\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n if (cipher instanceof CipherData) {\n const c = cipher as CipherData;\n ciphers[c.id] = c;\n } else {\n (cipher as CipherData[]).forEach((c) => {\n ciphers[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.ciphersPrefix + userId);\n this.clearCache();\n }\n\n async moveManyWithServer(ids: string[], folderId: string): Promise {\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\n\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n ids.forEach((id) => {\n if (ciphers.hasOwnProperty(id)) {\n ciphers[id].folderId = folderId;\n }\n });\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (ciphers[id] == null) {\n return;\n }\n delete ciphers[id];\n } else {\n (id as string[]).forEach((i) => {\n delete ciphers[i];\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteCipher(id);\n await this.delete(id);\n }\n\n async deleteManyWithServer(ids: string[]): Promise {\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.delete(ids);\n }\n\n async deleteAttachment(id: string, attachmentId: string): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\n return;\n }\n\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\n if (ciphers[id].attachments[i].id === attachmentId) {\n ciphers[id].attachments.splice(i, 1);\n }\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\n try {\n await this.apiService.deleteCipherAttachment(id, attachmentId);\n } catch (e) {\n return Promise.reject((e as ErrorResponse).getSingleMessage());\n }\n await this.deleteAttachment(id, attachmentId);\n }\n\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\n\n if (aLastUsed != null && bLastUsed != null && aLastUsed < bLastUsed) {\n return 1;\n }\n if (aLastUsed != null && bLastUsed == null) {\n return -1;\n }\n\n if (bLastUsed != null && aLastUsed != null && aLastUsed > bLastUsed) {\n return -1;\n }\n if (bLastUsed != null && aLastUsed == null) {\n return 1;\n }\n\n return 0;\n }\n\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\n const result = this.sortCiphersByLastUsed(a, b);\n if (result !== 0) {\n return result;\n }\n\n return this.getLocaleSortingFunction()(a, b);\n }\n\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\n return (a, b) => {\n let aName = a.name;\n let bName = b.name;\n\n if (aName == null && bName != null) {\n return -1;\n }\n if (aName != null && bName == null) {\n return 1;\n }\n if (aName == null && bName == null) {\n return 0;\n }\n\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\n return result;\n }\n\n if (a.login.username != null) {\n aName += a.login.username;\n }\n\n if (b.login.username != null) {\n bName += b.login.username;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n };\n }\n\n // Helpers\n\n private async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\n organizationId: string): Promise {\n const attachmentResponse = await fetch(new Request(attachmentView.url, { cache: 'no-cache' }));\n if (attachmentResponse.status !== 200) {\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\n }\n\n const buf = await attachmentResponse.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\n const key = await this.cryptoService.getOrgKey(organizationId);\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(decBuf, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n fd.append('key', dataEncKey[1].encryptedString);\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n try {\n await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd, organizationId);\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n }\n\n private async encryptObjProperty(model: V, obj: D,\n map: any, key: SymmetricCryptoKey): Promise {\n const promises = [];\n const self = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp, theObj) {\n const p = Promise.resolve().then(() => {\n const modelProp = (model as any)[(map[theProp] || theProp)];\n if (modelProp && modelProp !== '') {\n return self.cryptoService.encrypt(modelProp, key);\n }\n return null;\n }).then((val: CipherString) => {\n (theObj as any)[theProp] = val;\n });\n promises.push(p);\n })(prop, obj);\n }\n\n await Promise.all(promises);\n }\n\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\n switch (cipher.type) {\n case CipherType.Login:\n cipher.login = new Login();\n cipher.login.passwordRevisionDate = model.login.passwordRevisionDate;\n await this.encryptObjProperty(model.login, cipher.login, {\n username: null,\n password: null,\n totp: null,\n }, key);\n\n if (model.login.uris != null) {\n cipher.login.uris = [];\n for (let i = 0; i < model.login.uris.length; i++) {\n const loginUri = new LoginUri();\n loginUri.match = model.login.uris[i].match;\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\n uri: null,\n }, key);\n cipher.login.uris.push(loginUri);\n }\n }\n return;\n case CipherType.SecureNote:\n cipher.secureNote = new SecureNote();\n cipher.secureNote.type = model.secureNote.type;\n return;\n case CipherType.Card:\n cipher.card = new Card();\n await this.encryptObjProperty(model.card, cipher.card, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, key);\n return;\n case CipherType.Identity:\n cipher.identity = new Identity();\n await this.encryptObjProperty(model.identity, cipher.identity, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, key);\n return;\n default:\n throw new Error('Unknown cipher type.');\n }\n }\n}\n","/**\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\n *\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\n * be returned, instead of calling the original function again\n *\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\n *\n * Read more at https://github.com/bitwarden/jslib/pull/7\n */\nexport function sequentialize(cacheKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod: () => Promise = descriptor.value;\n const caches = new Map>>();\n\n const getCache = (obj: any) => {\n let cache = caches.get(obj);\n if (cache != null) {\n return cache;\n }\n cache = new Map>();\n caches.set(obj, cache);\n return cache;\n };\n\n return {\n value: function(...args: any[]) {\n const cache = getCache(this);\n const argsCacheKey = cacheKey(args);\n let response = cache.get(argsCacheKey);\n if (response != null) {\n return response;\n }\n\n const onFinally = () => {\n cache.delete(argsCacheKey);\n if (cache.size === 0) {\n caches.delete(this);\n }\n };\n response = originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n });\n\n cache.set(argsCacheKey, response);\n return response;\n },\n };\n };\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { ServiceUtils } from '../misc/serviceUtils';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n collectionsPrefix: 'collections_',\r\n};\r\nconst NestingDelimiter = '/';\r\n\r\nexport class CollectionService implements CollectionServiceAbstraction {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private storageService: StorageService, private i18nService: I18nService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async encrypt(model: CollectionView): Promise {\r\n if (model.organizationId == null) {\r\n throw new Error('Collection has no organization id.');\r\n }\r\n const key = await this.cryptoService.getOrgKey(model.organizationId);\r\n if (key == null) {\r\n throw new Error('No key for this collection\\'s organization.');\r\n }\r\n const collection = new Collection();\r\n collection.id = model.id;\r\n collection.organizationId = model.organizationId;\r\n collection.readOnly = model.readOnly;\r\n collection.name = await this.cryptoService.encrypt(model.name, key);\r\n return collection;\r\n }\r\n\r\n async decryptMany(collections: Collection[]): Promise {\r\n if (collections == null) {\r\n return [];\r\n }\r\n const decCollections: CollectionView[] = [];\r\n const promises: Array> = [];\r\n collections.forEach((collection) => {\r\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\r\n });\r\n await Promise.all(promises);\r\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null || !collections.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Collection(collections[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n const response: Collection[] = [];\r\n for (const id in collections) {\r\n if (collections.hasOwnProperty(id)) {\r\n response.push(new Collection(collections[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCollectionCache != null) {\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const collections = await this.getAll();\r\n this.decryptedCollectionCache = await this.decryptMany(collections);\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n async getAllNested(collections: CollectionView[] = null): Promise>> {\r\n if (collections == null) {\r\n collections = await this.getAllDecrypted();\r\n }\r\n const nodes: Array> = [];\r\n collections.forEach((c) => {\r\n const collectionCopy = new CollectionView();\r\n collectionCopy.id = c.id;\r\n collectionCopy.organizationId = c.organizationId;\r\n ServiceUtils.nestedTraverse(nodes, 0, c.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter),\r\n collectionCopy, null, NestingDelimiter);\r\n });\r\n return nodes;\r\n }\r\n\r\n async getNested(id: string): Promise> {\r\n const collections = await this.getAllNested();\r\n return ServiceUtils.getTreeNodeObject(collections, id) as TreeNode;\r\n }\r\n\r\n async upsert(collection: CollectionData | CollectionData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n collections = {};\r\n }\r\n\r\n if (collection instanceof CollectionData) {\r\n const c = collection as CollectionData;\r\n collections[c.id] = c;\r\n } else {\r\n (collection as CollectionData[]).forEach((c) => {\r\n collections[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async replace(collections: { [id: string]: CollectionData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.collectionsPrefix + userId);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete collections[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete collections[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n}\r\n","import {\r\n ITreeNodeObject,\r\n TreeNode,\r\n} from '../models/domain/treeNode';\r\n\r\nexport class ServiceUtils {\r\n static nestedTraverse(nodeTree: Array>, partIndex: number, parts: string[],\r\n obj: ITreeNodeObject, parent: ITreeNodeObject, delimiter: string) {\r\n if (parts.length <= partIndex) {\r\n return;\r\n }\r\n\r\n const end = partIndex === parts.length - 1;\r\n const partName = parts[partIndex];\r\n\r\n for (let i = 0; i < nodeTree.length; i++) {\r\n if (nodeTree[i].node.name !== parts[partIndex]) {\r\n continue;\r\n }\r\n if (end && nodeTree[i].node.id !== obj.id) {\r\n // Another node with the same name.\r\n nodeTree.push(new TreeNode(obj, partName, parent));\r\n return;\r\n }\r\n ServiceUtils.nestedTraverse(nodeTree[i].children, partIndex + 1, parts,\r\n obj, nodeTree[i].node, delimiter);\r\n return;\r\n }\r\n\r\n if (nodeTree.filter((n) => n.node.name === partName).length === 0) {\r\n if (end) {\r\n nodeTree.push(new TreeNode(obj, partName, parent));\r\n return;\r\n }\r\n const newPartName = parts[partIndex] + delimiter + parts[partIndex + 1];\r\n ServiceUtils.nestedTraverse(nodeTree, 0, [newPartName, ...parts.slice(partIndex + 2)],\r\n obj, parent, delimiter);\r\n }\r\n }\r\n\r\n static getTreeNodeObject(nodeTree: Array>, id: string): TreeNode {\r\n for (let i = 0; i < nodeTree.length; i++) {\r\n if (nodeTree[i].node.id === id) {\r\n return nodeTree[i];\r\n } else if (nodeTree[i].children != null) {\r\n const node = ServiceUtils.getTreeNodeObject(nodeTree[i].children, id);\r\n if (node !== null) {\r\n return node;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { CryptoService } from '../abstractions/crypto.service';\r\n\r\nexport class ContainerService {\r\n constructor(private cryptoService: CryptoService) {\r\n }\r\n\r\n // deprecated, use attachToGlobal instead\r\n attachToWindow(win: any) {\r\n this.attachToGlobal(win);\r\n }\r\n\r\n attachToGlobal(global: any) {\r\n if (!global.bitwardenContainerService) {\r\n global.bitwardenContainerService = this;\r\n }\r\n }\r\n\r\n getCryptoService(): CryptoService {\r\n return this.cryptoService;\r\n }\r\n}\r\n","import * as bigInt from 'big-integer';\n\nimport { EncryptionType } from '../enums/encryptionType';\nimport { KdfType } from '../enums/kdfType';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { EncryptedObject } from '../models/domain/encryptedObject';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\nimport { EEFLongWordList } from '../misc/wordlist';\n\nconst Keys = {\n key: 'key',\n encOrgKeys: 'encOrgKeys',\n encPrivateKey: 'encPrivateKey',\n encKey: 'encKey',\n keyHash: 'keyHash',\n};\n\nexport class CryptoService implements CryptoServiceAbstraction {\n private key: SymmetricCryptoKey;\n private encKey: SymmetricCryptoKey;\n private legacyEtmKey: SymmetricCryptoKey;\n private keyHash: string;\n private publicKey: ArrayBuffer;\n private privateKey: ArrayBuffer;\n private orgKeys: Map;\n\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\n private cryptoFunctionService: CryptoFunctionService) { }\n\n async setKey(key: SymmetricCryptoKey): Promise {\n this.key = key;\n\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null) {\n // if we have a lock option set, we do not store the key\n return;\n }\n\n return this.secureStorageService.save(Keys.key, key.keyB64);\n }\n\n setKeyHash(keyHash: string): Promise<{}> {\n this.keyHash = keyHash;\n return this.storageService.save(Keys.keyHash, keyHash);\n }\n\n async setEncKey(encKey: string): Promise<{}> {\n if (encKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encKey, encKey);\n this.encKey = null;\n }\n\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\n if (encPrivateKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\n this.privateKey = null;\n }\n\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\n const orgKeys: any = {};\n orgs.forEach((org) => {\n orgKeys[org.id] = org.key;\n });\n\n this.orgKeys = null;\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\n }\n\n async getKey(): Promise {\n if (this.key != null) {\n return this.key;\n }\n\n const key = await this.secureStorageService.get(Keys.key);\n if (key != null) {\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\n }\n\n return key == null ? null : this.key;\n }\n\n getKeyHash(): Promise {\n if (this.keyHash != null) {\n return Promise.resolve(this.keyHash);\n }\n\n return this.storageService.get(Keys.keyHash);\n }\n\n @sequentialize(() => 'getEncKey')\n async getEncKey(): Promise {\n if (this.encKey != null) {\n return this.encKey;\n }\n\n const encKey = await this.storageService.get(Keys.encKey);\n if (encKey == null) {\n return null;\n }\n\n const key = await this.getKey();\n if (key == null) {\n return null;\n }\n\n let decEncKey: ArrayBuffer;\n const encKeyCipher = new CipherString(encKey);\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\n decEncKey = await this.decryptToBytes(encKeyCipher, key);\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\n const newKey = await this.stretchKey(key);\n decEncKey = await this.decryptToBytes(encKeyCipher, newKey);\n } else {\n throw new Error('Unsupported encKey type.');\n }\n\n if (decEncKey == null) {\n return null;\n }\n this.encKey = new SymmetricCryptoKey(decEncKey);\n return this.encKey;\n }\n\n async getPublicKey(): Promise {\n if (this.publicKey != null) {\n return this.publicKey;\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n return null;\n }\n\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\n return this.publicKey;\n }\n\n async getPrivateKey(): Promise {\n if (this.privateKey != null) {\n return this.privateKey;\n }\n\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\n if (encPrivateKey == null) {\n return null;\n }\n\n this.privateKey = await this.decryptToBytes(new CipherString(encPrivateKey), null);\n return this.privateKey;\n }\n\n async getFingerprint(userId: string, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey === null) {\n throw new Error('No public key available.');\n }\n const keyFingerprint = await this.cryptoFunctionService.hash(publicKey, 'sha256');\n const userFingerprint = await this.hkdfExpand(keyFingerprint, Utils.fromUtf8ToArray(userId), 32);\n return this.hashPhrase(userFingerprint.buffer);\n }\n\n @sequentialize(() => 'getOrgKeys')\n async getOrgKeys(): Promise> {\n if (this.orgKeys != null && this.orgKeys.size > 0) {\n return this.orgKeys;\n }\n\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\n if (encOrgKeys == null) {\n return null;\n }\n\n const orgKeys: Map = new Map();\n let setKey = false;\n\n for (const orgId in encOrgKeys) {\n if (!encOrgKeys.hasOwnProperty(orgId)) {\n continue;\n }\n\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\n setKey = true;\n }\n\n if (setKey) {\n this.orgKeys = orgKeys;\n }\n\n return this.orgKeys;\n }\n\n async getOrgKey(orgId: string): Promise {\n if (orgId == null) {\n return null;\n }\n\n const orgKeys = await this.getOrgKeys();\n if (orgKeys == null || !orgKeys.has(orgId)) {\n return null;\n }\n\n return orgKeys.get(orgId);\n }\n\n async hasKey(): Promise {\n return (await this.getKey()) != null;\n }\n\n async hasEncKey(): Promise {\n const encKey = await this.storageService.get(Keys.encKey);\n return encKey != null;\n }\n\n clearKey(): Promise {\n this.key = this.legacyEtmKey = null;\n return this.secureStorageService.remove(Keys.key);\n }\n\n clearKeyHash(): Promise {\n this.keyHash = null;\n return this.storageService.remove(Keys.keyHash);\n }\n\n clearEncKey(memoryOnly?: boolean): Promise {\n this.encKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encKey);\n }\n\n clearKeyPair(memoryOnly?: boolean): Promise {\n this.privateKey = null;\n this.publicKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encPrivateKey);\n }\n\n clearOrgKeys(memoryOnly?: boolean): Promise {\n this.orgKeys = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encOrgKeys);\n }\n\n clearPinProtectedKey(): Promise {\n return this.storageService.remove(ConstantsService.pinProtectedKey);\n }\n\n clearKeys(): Promise {\n return Promise.all([\n this.clearKey(),\n this.clearKeyHash(),\n this.clearOrgKeys(),\n this.clearEncKey(),\n this.clearKeyPair(),\n this.clearPinProtectedKey(),\n ]);\n }\n\n async toggleKey(): Promise {\n const key = await this.getKey();\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null || option === 0) {\n // if we have a lock option set, clear the key\n await this.clearKey();\n this.key = key;\n return;\n }\n\n await this.setKey(key);\n }\n\n async makeKey(password: string, salt: string, kdf: KdfType, kdfIterations: number):\n Promise {\n let key: ArrayBuffer = null;\n if (kdf == null || kdf === KdfType.PBKDF2_SHA256) {\n if (kdfIterations == null) {\n kdfIterations = 5000;\n } else if (kdfIterations < 5000) {\n throw new Error('PBKDF2 iteration minimum is 5000.');\n }\n key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', kdfIterations);\n } else {\n throw new Error('Unknown Kdf.');\n }\n return new SymmetricCryptoKey(key);\n }\n\n async makeKeyFromPin(pin: string, salt: string, kdf: KdfType, kdfIterations: number):\n Promise {\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n if (pinProtectedKey == null) {\n throw new Error('No PIN protected key found.');\n }\n const protectedKeyCs = new CipherString(pinProtectedKey);\n const pinKey = await this.makePinKey(pin, salt, kdf, kdfIterations);\n const decKey = await this.decryptToBytes(protectedKeyCs, pinKey);\n return new SymmetricCryptoKey(decKey);\n }\n\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\n const publicKey = await this.getPublicKey();\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey);\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\n }\n\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\n const privateEnc = await this.encrypt(keyPair[1], key);\n return [publicB64, privateEnc];\n }\n\n async makePinKey(pin: string, salt: string, kdf: KdfType, kdfIterations: number): Promise {\n const pinKey = await this.makeKey(pin, salt, kdf, kdfIterations);\n return await this.stretchKey(pinKey);\n }\n\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\n if (key == null) {\n key = await this.getKey();\n }\n if (password == null || key == null) {\n throw new Error('Invalid parameters.');\n }\n\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\n return Utils.fromBufferToB64(hash);\n }\n\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const theKey = await this.getKeyForEncryption(key);\n const encKey = await this.cryptoFunctionService.randomBytes(64);\n return this.buildEncKey(theKey, encKey);\n }\n\n async remakeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const encKey = await this.getEncKey();\n return this.buildEncKey(key, encKey.key);\n }\n\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (plainValue == null) {\n return Promise.resolve(null);\n }\n\n let plainBuf: ArrayBuffer;\n if (typeof (plainValue) === 'string') {\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\n } else {\n plainBuf = plainValue;\n }\n\n const encObj = await this.aesEncrypt(plainBuf, key);\n const iv = Utils.fromBufferToB64(encObj.iv);\n const data = Utils.fromBufferToB64(encObj.data);\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\n return new CipherString(encObj.key.encType, iv, data, mac);\n }\n\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n const encValue = await this.aesEncrypt(plainValue, key);\n let macLen = 0;\n if (encValue.mac != null) {\n macLen = encValue.mac.byteLength;\n }\n\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\n encBytes.set([encValue.key.encType]);\n encBytes.set(new Uint8Array(encValue.iv), 1);\n if (encValue.mac != null) {\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\n }\n\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\n return encBytes.buffer;\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey == null) {\n throw new Error('Public key unavailable.');\n }\n\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\n return new CipherString(EncryptionType.Rsa2048_OaepSha1_B64, Utils.fromBufferToB64(encBytes));\n }\n\n async decryptToBytes(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\n if (decipher == null) {\n return null;\n }\n\n return decipher;\n }\n\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\n cipherString.iv, cipherString.mac, key);\n }\n\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n if (encBuf == null) {\n throw new Error('no encBuf.');\n }\n\n const encBytes = new Uint8Array(encBuf);\n const encType = encBytes[0];\n let ctBytes: Uint8Array = null;\n let ivBytes: Uint8Array = null;\n let macBytes: Uint8Array = null;\n\n switch (encType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n macBytes = encBytes.slice(17, 49);\n ctBytes = encBytes.slice(49);\n break;\n case EncryptionType.AesCbc256_B64:\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n ctBytes = encBytes.slice(17);\n break;\n default:\n return null;\n }\n\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\n macBytes != null ? macBytes.buffer : null, key);\n }\n\n // EFForg/OpenWireless\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\n async randomNumber(min: number, max: number): Promise {\n let rval = 0;\n const range = max - min + 1;\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error('We cannot generate numbers larger than 53 bits.');\n }\n\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\n\n // Fill a byte array with N random numbers\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\n\n let p = (bytesNeeded - 1) * 8;\n for (let i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n // Use & to apply the mask and reduce the number of recursive lookups\n // tslint:disable-next-line\n rval = rval & mask;\n\n if (rval >= range) {\n // Integer out of acceptable range\n return this.randomNumber(min, max);\n }\n\n // Return an integer that falls within the range\n return min + rval;\n }\n\n // Helpers\n\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const obj = new EncryptedObject();\n obj.key = await this.getKeyForEncryption(key);\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\n\n if (obj.key.macKey != null) {\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\n macData.set(new Uint8Array(obj.iv), 0);\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\n }\n\n return obj;\n }\n\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\n key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n // tslint:disable-next-line\n console.error('mac required.');\n return null;\n }\n\n if (theKey.encType !== encType) {\n // tslint:disable-next-line\n console.error('encType unavailable.');\n return null;\n }\n\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\n if (fastParams.macKey != null && fastParams.mac != null) {\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\n fastParams.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\n if (!macsEqual) {\n // tslint:disable-next-line\n console.error('mac failed.');\n return null;\n }\n }\n\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\n }\n\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n return null;\n }\n\n if (theKey.encType !== encType) {\n return null;\n }\n\n if (theKey.macKey != null && mac != null) {\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\n macData.set(new Uint8Array(iv), 0);\n macData.set(new Uint8Array(data), iv.byteLength);\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\n if (computedMac === null) {\n return null;\n }\n\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsMatch) {\n // tslint:disable-next-line\n console.error('mac failed.');\n return null;\n }\n }\n\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\n }\n\n private async rsaDecrypt(encValue: string): Promise {\n const headerPieces = encValue.split('.');\n let encType: EncryptionType = null;\n let encPieces: string[];\n\n if (headerPieces.length === 1) {\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\n encPieces = [headerPieces[0]];\n } else if (headerPieces.length === 2) {\n try {\n encType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) { }\n }\n\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n // HmacSha256 types are deprecated\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n if (encPieces == null || encPieces.length <= 0) {\n throw new Error('encPieces unavailable.');\n }\n\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n throw new Error('No private key.');\n }\n\n let alg: 'sha1' | 'sha256' = 'sha1';\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n alg = 'sha256';\n break;\n case EncryptionType.Rsa2048_OaepSha1_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\n }\n\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\n if (key != null) {\n return key;\n }\n\n const encKey = await this.getEncKey();\n if (encKey != null) {\n return encKey;\n }\n\n return await this.getKey();\n }\n\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\n key.encType === EncryptionType.AesCbc256_B64) {\n // Old encrypt-then-mac scheme, make a new key\n if (this.legacyEtmKey == null) {\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\n }\n return this.legacyEtmKey;\n }\n\n return key;\n }\n\n private async stretchKey(key: SymmetricCryptoKey): Promise {\n const newKey = new Uint8Array(64);\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('enc'), 32));\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('mac'), 32), 32);\n return new SymmetricCryptoKey(newKey.buffer);\n }\n\n // ref: https://tools.ietf.org/html/rfc5869\n private async hkdfExpand(prk: ArrayBuffer, info: Uint8Array, size: number) {\n const hashLen = 32; // sha256\n const okm = new Uint8Array(size);\n let previousT = new Uint8Array(0);\n const n = Math.ceil(size / hashLen);\n for (let i = 0; i < n; i++) {\n const t = new Uint8Array(previousT.length + info.length + 1);\n t.set(previousT);\n t.set(info, previousT.length);\n t.set([i + 1], t.length - 1);\n previousT = new Uint8Array(await this.cryptoFunctionService.hmac(t.buffer, prk, 'sha256'));\n okm.set(previousT, i * hashLen);\n }\n return okm;\n }\n\n private async hashPhrase(hash: ArrayBuffer, minimumEntropy: number = 64) {\n const entropyPerWord = Math.log(EEFLongWordList.length) / Math.log(2);\n let numWords = Math.ceil(minimumEntropy / entropyPerWord);\n\n const hashArr = Array.from(new Uint8Array(hash));\n const entropyAvailable = hashArr.length * 4;\n if (numWords * entropyPerWord > entropyAvailable) {\n throw new Error('Output entropy of hash function is too small');\n }\n\n const phrase: string[] = [];\n let hashNumber = bigInt.fromArray(hashArr, 256);\n while (numWords--) {\n const remainder = hashNumber.mod(EEFLongWordList.length);\n hashNumber = hashNumber.divide(EEFLongWordList.length);\n phrase.push(EEFLongWordList[remainder as any]);\n }\n return phrase;\n }\n\n private async buildEncKey(key: SymmetricCryptoKey, encKey: ArrayBuffer = null)\n : Promise<[SymmetricCryptoKey, CipherString]> {\n let encKeyEnc: CipherString = null;\n if (key.key.byteLength === 32) {\n const newKey = await this.stretchKey(key);\n encKeyEnc = await this.encrypt(encKey, newKey);\n } else if (key.key.byteLength === 64) {\n encKeyEnc = await this.encrypt(encKey, key);\n } else {\n throw new Error('Invalid key size.');\n }\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\n }\n}\n","// EFF's Long Wordlist from https://www.eff.org/dice\r\nexport const EEFLongWordList = [\r\n 'abacus',\r\n 'abdomen',\r\n 'abdominal',\r\n 'abide',\r\n 'abiding',\r\n 'ability',\r\n 'ablaze',\r\n 'able',\r\n 'abnormal',\r\n 'abrasion',\r\n 'abrasive',\r\n 'abreast',\r\n 'abridge',\r\n 'abroad',\r\n 'abruptly',\r\n 'absence',\r\n 'absentee',\r\n 'absently',\r\n 'absinthe',\r\n 'absolute',\r\n 'absolve',\r\n 'abstain',\r\n 'abstract',\r\n 'absurd',\r\n 'accent',\r\n 'acclaim',\r\n 'acclimate',\r\n 'accompany',\r\n 'account',\r\n 'accuracy',\r\n 'accurate',\r\n 'accustom',\r\n 'acetone',\r\n 'achiness',\r\n 'aching',\r\n 'acid',\r\n 'acorn',\r\n 'acquaint',\r\n 'acquire',\r\n 'acre',\r\n 'acrobat',\r\n 'acronym',\r\n 'acting',\r\n 'action',\r\n 'activate',\r\n 'activator',\r\n 'active',\r\n 'activism',\r\n 'activist',\r\n 'activity',\r\n 'actress',\r\n 'acts',\r\n 'acutely',\r\n 'acuteness',\r\n 'aeration',\r\n 'aerobics',\r\n 'aerosol',\r\n 'aerospace',\r\n 'afar',\r\n 'affair',\r\n 'affected',\r\n 'affecting',\r\n 'affection',\r\n 'affidavit',\r\n 'affiliate',\r\n 'affirm',\r\n 'affix',\r\n 'afflicted',\r\n 'affluent',\r\n 'afford',\r\n 'affront',\r\n 'aflame',\r\n 'afloat',\r\n 'aflutter',\r\n 'afoot',\r\n 'afraid',\r\n 'afterglow',\r\n 'afterlife',\r\n 'aftermath',\r\n 'aftermost',\r\n 'afternoon',\r\n 'aged',\r\n 'ageless',\r\n 'agency',\r\n 'agenda',\r\n 'agent',\r\n 'aggregate',\r\n 'aghast',\r\n 'agile',\r\n 'agility',\r\n 'aging',\r\n 'agnostic',\r\n 'agonize',\r\n 'agonizing',\r\n 'agony',\r\n 'agreeable',\r\n 'agreeably',\r\n 'agreed',\r\n 'agreeing',\r\n 'agreement',\r\n 'aground',\r\n 'ahead',\r\n 'ahoy',\r\n 'aide',\r\n 'aids',\r\n 'aim',\r\n 'ajar',\r\n 'alabaster',\r\n 'alarm',\r\n 'albatross',\r\n 'album',\r\n 'alfalfa',\r\n 'algebra',\r\n 'algorithm',\r\n 'alias',\r\n 'alibi',\r\n 'alienable',\r\n 'alienate',\r\n 'aliens',\r\n 'alike',\r\n 'alive',\r\n 'alkaline',\r\n 'alkalize',\r\n 'almanac',\r\n 'almighty',\r\n 'almost',\r\n 'aloe',\r\n 'aloft',\r\n 'aloha',\r\n 'alone',\r\n 'alongside',\r\n 'aloof',\r\n 'alphabet',\r\n 'alright',\r\n 'although',\r\n 'altitude',\r\n 'alto',\r\n 'aluminum',\r\n 'alumni',\r\n 'always',\r\n 'amaretto',\r\n 'amaze',\r\n 'amazingly',\r\n 'amber',\r\n 'ambiance',\r\n 'ambiguity',\r\n 'ambiguous',\r\n 'ambition',\r\n 'ambitious',\r\n 'ambulance',\r\n 'ambush',\r\n 'amendable',\r\n 'amendment',\r\n 'amends',\r\n 'amenity',\r\n 'amiable',\r\n 'amicably',\r\n 'amid',\r\n 'amigo',\r\n 'amino',\r\n 'amiss',\r\n 'ammonia',\r\n 'ammonium',\r\n 'amnesty',\r\n 'amniotic',\r\n 'among',\r\n 'amount',\r\n 'amperage',\r\n 'ample',\r\n 'amplifier',\r\n 'amplify',\r\n 'amply',\r\n 'amuck',\r\n 'amulet',\r\n 'amusable',\r\n 'amused',\r\n 'amusement',\r\n 'amuser',\r\n 'amusing',\r\n 'anaconda',\r\n 'anaerobic',\r\n 'anagram',\r\n 'anatomist',\r\n 'anatomy',\r\n 'anchor',\r\n 'anchovy',\r\n 'ancient',\r\n 'android',\r\n 'anemia',\r\n 'anemic',\r\n 'aneurism',\r\n 'anew',\r\n 'angelfish',\r\n 'angelic',\r\n 'anger',\r\n 'angled',\r\n 'angler',\r\n 'angles',\r\n 'angling',\r\n 'angrily',\r\n 'angriness',\r\n 'anguished',\r\n 'angular',\r\n 'animal',\r\n 'animate',\r\n 'animating',\r\n 'animation',\r\n 'animator',\r\n 'anime',\r\n 'animosity',\r\n 'ankle',\r\n 'annex',\r\n 'annotate',\r\n 'announcer',\r\n 'annoying',\r\n 'annually',\r\n 'annuity',\r\n 'anointer',\r\n 'another',\r\n 'answering',\r\n 'antacid',\r\n 'antarctic',\r\n 'anteater',\r\n 'antelope',\r\n 'antennae',\r\n 'anthem',\r\n 'anthill',\r\n 'anthology',\r\n 'antibody',\r\n 'antics',\r\n 'antidote',\r\n 'antihero',\r\n 'antiquely',\r\n 'antiques',\r\n 'antiquity',\r\n 'antirust',\r\n 'antitoxic',\r\n 'antitrust',\r\n 'antiviral',\r\n 'antivirus',\r\n 'antler',\r\n 'antonym',\r\n 'antsy',\r\n 'anvil',\r\n 'anybody',\r\n 'anyhow',\r\n 'anymore',\r\n 'anyone',\r\n 'anyplace',\r\n 'anything',\r\n 'anytime',\r\n 'anyway',\r\n 'anywhere',\r\n 'aorta',\r\n 'apache',\r\n 'apostle',\r\n 'appealing',\r\n 'appear',\r\n 'appease',\r\n 'appeasing',\r\n 'appendage',\r\n 'appendix',\r\n 'appetite',\r\n 'appetizer',\r\n 'applaud',\r\n 'applause',\r\n 'apple',\r\n 'appliance',\r\n 'applicant',\r\n 'applied',\r\n 'apply',\r\n 'appointee',\r\n 'appraisal',\r\n 'appraiser',\r\n 'apprehend',\r\n 'approach',\r\n 'approval',\r\n 'approve',\r\n 'apricot',\r\n 'april',\r\n 'apron',\r\n 'aptitude',\r\n 'aptly',\r\n 'aqua',\r\n 'aqueduct',\r\n 'arbitrary',\r\n 'arbitrate',\r\n 'ardently',\r\n 'area',\r\n 'arena',\r\n 'arguable',\r\n 'arguably',\r\n 'argue',\r\n 'arise',\r\n 'armadillo',\r\n 'armband',\r\n 'armchair',\r\n 'armed',\r\n 'armful',\r\n 'armhole',\r\n 'arming',\r\n 'armless',\r\n 'armoire',\r\n 'armored',\r\n 'armory',\r\n 'armrest',\r\n 'army',\r\n 'aroma',\r\n 'arose',\r\n 'around',\r\n 'arousal',\r\n 'arrange',\r\n 'array',\r\n 'arrest',\r\n 'arrival',\r\n 'arrive',\r\n 'arrogance',\r\n 'arrogant',\r\n 'arson',\r\n 'art',\r\n 'ascend',\r\n 'ascension',\r\n 'ascent',\r\n 'ascertain',\r\n 'ashamed',\r\n 'ashen',\r\n 'ashes',\r\n 'ashy',\r\n 'aside',\r\n 'askew',\r\n 'asleep',\r\n 'asparagus',\r\n 'aspect',\r\n 'aspirate',\r\n 'aspire',\r\n 'aspirin',\r\n 'astonish',\r\n 'astound',\r\n 'astride',\r\n 'astrology',\r\n 'astronaut',\r\n 'astronomy',\r\n 'astute',\r\n 'atlantic',\r\n 'atlas',\r\n 'atom',\r\n 'atonable',\r\n 'atop',\r\n 'atrium',\r\n 'atrocious',\r\n 'atrophy',\r\n 'attach',\r\n 'attain',\r\n 'attempt',\r\n 'attendant',\r\n 'attendee',\r\n 'attention',\r\n 'attentive',\r\n 'attest',\r\n 'attic',\r\n 'attire',\r\n 'attitude',\r\n 'attractor',\r\n 'attribute',\r\n 'atypical',\r\n 'auction',\r\n 'audacious',\r\n 'audacity',\r\n 'audible',\r\n 'audibly',\r\n 'audience',\r\n 'audio',\r\n 'audition',\r\n 'augmented',\r\n 'august',\r\n 'authentic',\r\n 'author',\r\n 'autism',\r\n 'autistic',\r\n 'autograph',\r\n 'automaker',\r\n 'automated',\r\n 'automatic',\r\n 'autopilot',\r\n 'available',\r\n 'avalanche',\r\n 'avatar',\r\n 'avenge',\r\n 'avenging',\r\n 'avenue',\r\n 'average',\r\n 'aversion',\r\n 'avert',\r\n 'aviation',\r\n 'aviator',\r\n 'avid',\r\n 'avoid',\r\n 'await',\r\n 'awaken',\r\n 'award',\r\n 'aware',\r\n 'awhile',\r\n 'awkward',\r\n 'awning',\r\n 'awoke',\r\n 'awry',\r\n 'axis',\r\n 'babble',\r\n 'babbling',\r\n 'babied',\r\n 'baboon',\r\n 'backache',\r\n 'backboard',\r\n 'backboned',\r\n 'backdrop',\r\n 'backed',\r\n 'backer',\r\n 'backfield',\r\n 'backfire',\r\n 'backhand',\r\n 'backing',\r\n 'backlands',\r\n 'backlash',\r\n 'backless',\r\n 'backlight',\r\n 'backlit',\r\n 'backlog',\r\n 'backpack',\r\n 'backpedal',\r\n 'backrest',\r\n 'backroom',\r\n 'backshift',\r\n 'backside',\r\n 'backslid',\r\n 'backspace',\r\n 'backspin',\r\n 'backstab',\r\n 'backstage',\r\n 'backtalk',\r\n 'backtrack',\r\n 'backup',\r\n 'backward',\r\n 'backwash',\r\n 'backwater',\r\n 'backyard',\r\n 'bacon',\r\n 'bacteria',\r\n 'bacterium',\r\n 'badass',\r\n 'badge',\r\n 'badland',\r\n 'badly',\r\n 'badness',\r\n 'baffle',\r\n 'baffling',\r\n 'bagel',\r\n 'bagful',\r\n 'baggage',\r\n 'bagged',\r\n 'baggie',\r\n 'bagginess',\r\n 'bagging',\r\n 'baggy',\r\n 'bagpipe',\r\n 'baguette',\r\n 'baked',\r\n 'bakery',\r\n 'bakeshop',\r\n 'baking',\r\n 'balance',\r\n 'balancing',\r\n 'balcony',\r\n 'balmy',\r\n 'balsamic',\r\n 'bamboo',\r\n 'banana',\r\n 'banish',\r\n 'banister',\r\n 'banjo',\r\n 'bankable',\r\n 'bankbook',\r\n 'banked',\r\n 'banker',\r\n 'banking',\r\n 'banknote',\r\n 'bankroll',\r\n 'banner',\r\n 'bannister',\r\n 'banshee',\r\n 'banter',\r\n 'barbecue',\r\n 'barbed',\r\n 'barbell',\r\n 'barber',\r\n 'barcode',\r\n 'barge',\r\n 'bargraph',\r\n 'barista',\r\n 'baritone',\r\n 'barley',\r\n 'barmaid',\r\n 'barman',\r\n 'barn',\r\n 'barometer',\r\n 'barrack',\r\n 'barracuda',\r\n 'barrel',\r\n 'barrette',\r\n 'barricade',\r\n 'barrier',\r\n 'barstool',\r\n 'bartender',\r\n 'barterer',\r\n 'bash',\r\n 'basically',\r\n 'basics',\r\n 'basil',\r\n 'basin',\r\n 'basis',\r\n 'basket',\r\n 'batboy',\r\n 'batch',\r\n 'bath',\r\n 'baton',\r\n 'bats',\r\n 'battalion',\r\n 'battered',\r\n 'battering',\r\n 'battery',\r\n 'batting',\r\n 'battle',\r\n 'bauble',\r\n 'bazooka',\r\n 'blabber',\r\n 'bladder',\r\n 'blade',\r\n 'blah',\r\n 'blame',\r\n 'blaming',\r\n 'blanching',\r\n 'blandness',\r\n 'blank',\r\n 'blaspheme',\r\n 'blasphemy',\r\n 'blast',\r\n 'blatancy',\r\n 'blatantly',\r\n 'blazer',\r\n 'blazing',\r\n 'bleach',\r\n 'bleak',\r\n 'bleep',\r\n 'blemish',\r\n 'blend',\r\n 'bless',\r\n 'blighted',\r\n 'blimp',\r\n 'bling',\r\n 'blinked',\r\n 'blinker',\r\n 'blinking',\r\n 'blinks',\r\n 'blip',\r\n 'blissful',\r\n 'blitz',\r\n 'blizzard',\r\n 'bloated',\r\n 'bloating',\r\n 'blob',\r\n 'blog',\r\n 'bloomers',\r\n 'blooming',\r\n 'blooper',\r\n 'blot',\r\n 'blouse',\r\n 'blubber',\r\n 'bluff',\r\n 'bluish',\r\n 'blunderer',\r\n 'blunt',\r\n 'blurb',\r\n 'blurred',\r\n 'blurry',\r\n 'blurt',\r\n 'blush',\r\n 'blustery',\r\n 'boaster',\r\n 'boastful',\r\n 'boasting',\r\n 'boat',\r\n 'bobbed',\r\n 'bobbing',\r\n 'bobble',\r\n 'bobcat',\r\n 'bobsled',\r\n 'bobtail',\r\n 'bodacious',\r\n 'body',\r\n 'bogged',\r\n 'boggle',\r\n 'bogus',\r\n 'boil',\r\n 'bok',\r\n 'bolster',\r\n 'bolt',\r\n 'bonanza',\r\n 'bonded',\r\n 'bonding',\r\n 'bondless',\r\n 'boned',\r\n 'bonehead',\r\n 'boneless',\r\n 'bonelike',\r\n 'boney',\r\n 'bonfire',\r\n 'bonnet',\r\n 'bonsai',\r\n 'bonus',\r\n 'bony',\r\n 'boogeyman',\r\n 'boogieman',\r\n 'book',\r\n 'boondocks',\r\n 'booted',\r\n 'booth',\r\n 'bootie',\r\n 'booting',\r\n 'bootlace',\r\n 'bootleg',\r\n 'boots',\r\n 'boozy',\r\n 'borax',\r\n 'boring',\r\n 'borough',\r\n 'borrower',\r\n 'borrowing',\r\n 'boss',\r\n 'botanical',\r\n 'botanist',\r\n 'botany',\r\n 'botch',\r\n 'both',\r\n 'bottle',\r\n 'bottling',\r\n 'bottom',\r\n 'bounce',\r\n 'bouncing',\r\n 'bouncy',\r\n 'bounding',\r\n 'boundless',\r\n 'bountiful',\r\n 'bovine',\r\n 'boxcar',\r\n 'boxer',\r\n 'boxing',\r\n 'boxlike',\r\n 'boxy',\r\n 'breach',\r\n 'breath',\r\n 'breeches',\r\n 'breeching',\r\n 'breeder',\r\n 'breeding',\r\n 'breeze',\r\n 'breezy',\r\n 'brethren',\r\n 'brewery',\r\n 'brewing',\r\n 'briar',\r\n 'bribe',\r\n 'brick',\r\n 'bride',\r\n 'bridged',\r\n 'brigade',\r\n 'bright',\r\n 'brilliant',\r\n 'brim',\r\n 'bring',\r\n 'brink',\r\n 'brisket',\r\n 'briskly',\r\n 'briskness',\r\n 'bristle',\r\n 'brittle',\r\n 'broadband',\r\n 'broadcast',\r\n 'broaden',\r\n 'broadly',\r\n 'broadness',\r\n 'broadside',\r\n 'broadways',\r\n 'broiler',\r\n 'broiling',\r\n 'broken',\r\n 'broker',\r\n 'bronchial',\r\n 'bronco',\r\n 'bronze',\r\n 'bronzing',\r\n 'brook',\r\n 'broom',\r\n 'brought',\r\n 'browbeat',\r\n 'brownnose',\r\n 'browse',\r\n 'browsing',\r\n 'bruising',\r\n 'brunch',\r\n 'brunette',\r\n 'brunt',\r\n 'brush',\r\n 'brussels',\r\n 'brute',\r\n 'brutishly',\r\n 'bubble',\r\n 'bubbling',\r\n 'bubbly',\r\n 'buccaneer',\r\n 'bucked',\r\n 'bucket',\r\n 'buckle',\r\n 'buckshot',\r\n 'buckskin',\r\n 'bucktooth',\r\n 'buckwheat',\r\n 'buddhism',\r\n 'buddhist',\r\n 'budding',\r\n 'buddy',\r\n 'budget',\r\n 'buffalo',\r\n 'buffed',\r\n 'buffer',\r\n 'buffing',\r\n 'buffoon',\r\n 'buggy',\r\n 'bulb',\r\n 'bulge',\r\n 'bulginess',\r\n 'bulgur',\r\n 'bulk',\r\n 'bulldog',\r\n 'bulldozer',\r\n 'bullfight',\r\n 'bullfrog',\r\n 'bullhorn',\r\n 'bullion',\r\n 'bullish',\r\n 'bullpen',\r\n 'bullring',\r\n 'bullseye',\r\n 'bullwhip',\r\n 'bully',\r\n 'bunch',\r\n 'bundle',\r\n 'bungee',\r\n 'bunion',\r\n 'bunkbed',\r\n 'bunkhouse',\r\n 'bunkmate',\r\n 'bunny',\r\n 'bunt',\r\n 'busboy',\r\n 'bush',\r\n 'busily',\r\n 'busload',\r\n 'bust',\r\n 'busybody',\r\n 'buzz',\r\n 'cabana',\r\n 'cabbage',\r\n 'cabbie',\r\n 'cabdriver',\r\n 'cable',\r\n 'caboose',\r\n 'cache',\r\n 'cackle',\r\n 'cacti',\r\n 'cactus',\r\n 'caddie',\r\n 'caddy',\r\n 'cadet',\r\n 'cadillac',\r\n 'cadmium',\r\n 'cage',\r\n 'cahoots',\r\n 'cake',\r\n 'calamari',\r\n 'calamity',\r\n 'calcium',\r\n 'calculate',\r\n 'calculus',\r\n 'caliber',\r\n 'calibrate',\r\n 'calm',\r\n 'caloric',\r\n 'calorie',\r\n 'calzone',\r\n 'camcorder',\r\n 'cameo',\r\n 'camera',\r\n 'camisole',\r\n 'camper',\r\n 'campfire',\r\n 'camping',\r\n 'campsite',\r\n 'campus',\r\n 'canal',\r\n 'canary',\r\n 'cancel',\r\n 'candied',\r\n 'candle',\r\n 'candy',\r\n 'cane',\r\n 'canine',\r\n 'canister',\r\n 'cannabis',\r\n 'canned',\r\n 'canning',\r\n 'cannon',\r\n 'cannot',\r\n 'canola',\r\n 'canon',\r\n 'canopener',\r\n 'canopy',\r\n 'canteen',\r\n 'canyon',\r\n 'capable',\r\n 'capably',\r\n 'capacity',\r\n 'cape',\r\n 'capillary',\r\n 'capital',\r\n 'capitol',\r\n 'capped',\r\n 'capricorn',\r\n 'capsize',\r\n 'capsule',\r\n 'caption',\r\n 'captivate',\r\n 'captive',\r\n 'captivity',\r\n 'capture',\r\n 'caramel',\r\n 'carat',\r\n 'caravan',\r\n 'carbon',\r\n 'cardboard',\r\n 'carded',\r\n 'cardiac',\r\n 'cardigan',\r\n 'cardinal',\r\n 'cardstock',\r\n 'carefully',\r\n 'caregiver',\r\n 'careless',\r\n 'caress',\r\n 'caretaker',\r\n 'cargo',\r\n 'caring',\r\n 'carless',\r\n 'carload',\r\n 'carmaker',\r\n 'carnage',\r\n 'carnation',\r\n 'carnival',\r\n 'carnivore',\r\n 'carol',\r\n 'carpenter',\r\n 'carpentry',\r\n 'carpool',\r\n 'carport',\r\n 'carried',\r\n 'carrot',\r\n 'carrousel',\r\n 'carry',\r\n 'cartel',\r\n 'cartload',\r\n 'carton',\r\n 'cartoon',\r\n 'cartridge',\r\n 'cartwheel',\r\n 'carve',\r\n 'carving',\r\n 'carwash',\r\n 'cascade',\r\n 'case',\r\n 'cash',\r\n 'casing',\r\n 'casino',\r\n 'casket',\r\n 'cassette',\r\n 'casually',\r\n 'casualty',\r\n 'catacomb',\r\n 'catalog',\r\n 'catalyst',\r\n 'catalyze',\r\n 'catapult',\r\n 'cataract',\r\n 'catatonic',\r\n 'catcall',\r\n 'catchable',\r\n 'catcher',\r\n 'catching',\r\n 'catchy',\r\n 'caterer',\r\n 'catering',\r\n 'catfight',\r\n 'catfish',\r\n 'cathedral',\r\n 'cathouse',\r\n 'catlike',\r\n 'catnap',\r\n 'catnip',\r\n 'catsup',\r\n 'cattail',\r\n 'cattishly',\r\n 'cattle',\r\n 'catty',\r\n 'catwalk',\r\n 'caucasian',\r\n 'caucus',\r\n 'causal',\r\n 'causation',\r\n 'cause',\r\n 'causing',\r\n 'cauterize',\r\n 'caution',\r\n 'cautious',\r\n 'cavalier',\r\n 'cavalry',\r\n 'caviar',\r\n 'cavity',\r\n 'cedar',\r\n 'celery',\r\n 'celestial',\r\n 'celibacy',\r\n 'celibate',\r\n 'celtic',\r\n 'cement',\r\n 'census',\r\n 'ceramics',\r\n 'ceremony',\r\n 'certainly',\r\n 'certainty',\r\n 'certified',\r\n 'certify',\r\n 'cesarean',\r\n 'cesspool',\r\n 'chafe',\r\n 'chaffing',\r\n 'chain',\r\n 'chair',\r\n 'chalice',\r\n 'challenge',\r\n 'chamber',\r\n 'chamomile',\r\n 'champion',\r\n 'chance',\r\n 'change',\r\n 'channel',\r\n 'chant',\r\n 'chaos',\r\n 'chaperone',\r\n 'chaplain',\r\n 'chapped',\r\n 'chaps',\r\n 'chapter',\r\n 'character',\r\n 'charbroil',\r\n 'charcoal',\r\n 'charger',\r\n 'charging',\r\n 'chariot',\r\n 'charity',\r\n 'charm',\r\n 'charred',\r\n 'charter',\r\n 'charting',\r\n 'chase',\r\n 'chasing',\r\n 'chaste',\r\n 'chastise',\r\n 'chastity',\r\n 'chatroom',\r\n 'chatter',\r\n 'chatting',\r\n 'chatty',\r\n 'cheating',\r\n 'cheddar',\r\n 'cheek',\r\n 'cheer',\r\n 'cheese',\r\n 'cheesy',\r\n 'chef',\r\n 'chemicals',\r\n 'chemist',\r\n 'chemo',\r\n 'cherisher',\r\n 'cherub',\r\n 'chess',\r\n 'chest',\r\n 'chevron',\r\n 'chevy',\r\n 'chewable',\r\n 'chewer',\r\n 'chewing',\r\n 'chewy',\r\n 'chief',\r\n 'chihuahua',\r\n 'childcare',\r\n 'childhood',\r\n 'childish',\r\n 'childless',\r\n 'childlike',\r\n 'chili',\r\n 'chill',\r\n 'chimp',\r\n 'chip',\r\n 'chirping',\r\n 'chirpy',\r\n 'chitchat',\r\n 'chivalry',\r\n 'chive',\r\n 'chloride',\r\n 'chlorine',\r\n 'choice',\r\n 'chokehold',\r\n 'choking',\r\n 'chomp',\r\n 'chooser',\r\n 'choosing',\r\n 'choosy',\r\n 'chop',\r\n 'chosen',\r\n 'chowder',\r\n 'chowtime',\r\n 'chrome',\r\n 'chubby',\r\n 'chuck',\r\n 'chug',\r\n 'chummy',\r\n 'chump',\r\n 'chunk',\r\n 'churn',\r\n 'chute',\r\n 'cider',\r\n 'cilantro',\r\n 'cinch',\r\n 'cinema',\r\n 'cinnamon',\r\n 'circle',\r\n 'circling',\r\n 'circular',\r\n 'circulate',\r\n 'circus',\r\n 'citable',\r\n 'citadel',\r\n 'citation',\r\n 'citizen',\r\n 'citric',\r\n 'citrus',\r\n 'city',\r\n 'civic',\r\n 'civil',\r\n 'clad',\r\n 'claim',\r\n 'clambake',\r\n 'clammy',\r\n 'clamor',\r\n 'clamp',\r\n 'clamshell',\r\n 'clang',\r\n 'clanking',\r\n 'clapped',\r\n 'clapper',\r\n 'clapping',\r\n 'clarify',\r\n 'clarinet',\r\n 'clarity',\r\n 'clash',\r\n 'clasp',\r\n 'class',\r\n 'clatter',\r\n 'clause',\r\n 'clavicle',\r\n 'claw',\r\n 'clay',\r\n 'clean',\r\n 'clear',\r\n 'cleat',\r\n 'cleaver',\r\n 'cleft',\r\n 'clench',\r\n 'clergyman',\r\n 'clerical',\r\n 'clerk',\r\n 'clever',\r\n 'clicker',\r\n 'client',\r\n 'climate',\r\n 'climatic',\r\n 'cling',\r\n 'clinic',\r\n 'clinking',\r\n 'clip',\r\n 'clique',\r\n 'cloak',\r\n 'clobber',\r\n 'clock',\r\n 'clone',\r\n 'cloning',\r\n 'closable',\r\n 'closure',\r\n 'clothes',\r\n 'clothing',\r\n 'cloud',\r\n 'clover',\r\n 'clubbed',\r\n 'clubbing',\r\n 'clubhouse',\r\n 'clump',\r\n 'clumsily',\r\n 'clumsy',\r\n 'clunky',\r\n 'clustered',\r\n 'clutch',\r\n 'clutter',\r\n 'coach',\r\n 'coagulant',\r\n 'coastal',\r\n 'coaster',\r\n 'coasting',\r\n 'coastland',\r\n 'coastline',\r\n 'coat',\r\n 'coauthor',\r\n 'cobalt',\r\n 'cobbler',\r\n 'cobweb',\r\n 'cocoa',\r\n 'coconut',\r\n 'cod',\r\n 'coeditor',\r\n 'coerce',\r\n 'coexist',\r\n 'coffee',\r\n 'cofounder',\r\n 'cognition',\r\n 'cognitive',\r\n 'cogwheel',\r\n 'coherence',\r\n 'coherent',\r\n 'cohesive',\r\n 'coil',\r\n 'coke',\r\n 'cola',\r\n 'cold',\r\n 'coleslaw',\r\n 'coliseum',\r\n 'collage',\r\n 'collapse',\r\n 'collar',\r\n 'collected',\r\n 'collector',\r\n 'collide',\r\n 'collie',\r\n 'collision',\r\n 'colonial',\r\n 'colonist',\r\n 'colonize',\r\n 'colony',\r\n 'colossal',\r\n 'colt',\r\n 'coma',\r\n 'come',\r\n 'comfort',\r\n 'comfy',\r\n 'comic',\r\n 'coming',\r\n 'comma',\r\n 'commence',\r\n 'commend',\r\n 'comment',\r\n 'commerce',\r\n 'commode',\r\n 'commodity',\r\n 'commodore',\r\n 'common',\r\n 'commotion',\r\n 'commute',\r\n 'commuting',\r\n 'compacted',\r\n 'compacter',\r\n 'compactly',\r\n 'compactor',\r\n 'companion',\r\n 'company',\r\n 'compare',\r\n 'compel',\r\n 'compile',\r\n 'comply',\r\n 'component',\r\n 'composed',\r\n 'composer',\r\n 'composite',\r\n 'compost',\r\n 'composure',\r\n 'compound',\r\n 'compress',\r\n 'comprised',\r\n 'computer',\r\n 'computing',\r\n 'comrade',\r\n 'concave',\r\n 'conceal',\r\n 'conceded',\r\n 'concept',\r\n 'concerned',\r\n 'concert',\r\n 'conch',\r\n 'concierge',\r\n 'concise',\r\n 'conclude',\r\n 'concrete',\r\n 'concur',\r\n 'condense',\r\n 'condiment',\r\n 'condition',\r\n 'condone',\r\n 'conducive',\r\n 'conductor',\r\n 'conduit',\r\n 'cone',\r\n 'confess',\r\n 'confetti',\r\n 'confidant',\r\n 'confident',\r\n 'confider',\r\n 'confiding',\r\n 'configure',\r\n 'confined',\r\n 'confining',\r\n 'confirm',\r\n 'conflict',\r\n 'conform',\r\n 'confound',\r\n 'confront',\r\n 'confused',\r\n 'confusing',\r\n 'confusion',\r\n 'congenial',\r\n 'congested',\r\n 'congrats',\r\n 'congress',\r\n 'conical',\r\n 'conjoined',\r\n 'conjure',\r\n 'conjuror',\r\n 'connected',\r\n 'connector',\r\n 'consensus',\r\n 'consent',\r\n 'console',\r\n 'consoling',\r\n 'consonant',\r\n 'constable',\r\n 'constant',\r\n 'constrain',\r\n 'constrict',\r\n 'construct',\r\n 'consult',\r\n 'consumer',\r\n 'consuming',\r\n 'contact',\r\n 'container',\r\n 'contempt',\r\n 'contend',\r\n 'contented',\r\n 'contently',\r\n 'contents',\r\n 'contest',\r\n 'context',\r\n 'contort',\r\n 'contour',\r\n 'contrite',\r\n 'control',\r\n 'contusion',\r\n 'convene',\r\n 'convent',\r\n 'copartner',\r\n 'cope',\r\n 'copied',\r\n 'copier',\r\n 'copilot',\r\n 'coping',\r\n 'copious',\r\n 'copper',\r\n 'copy',\r\n 'coral',\r\n 'cork',\r\n 'cornball',\r\n 'cornbread',\r\n 'corncob',\r\n 'cornea',\r\n 'corned',\r\n 'corner',\r\n 'cornfield',\r\n 'cornflake',\r\n 'cornhusk',\r\n 'cornmeal',\r\n 'cornstalk',\r\n 'corny',\r\n 'coronary',\r\n 'coroner',\r\n 'corporal',\r\n 'corporate',\r\n 'corral',\r\n 'correct',\r\n 'corridor',\r\n 'corrode',\r\n 'corroding',\r\n 'corrosive',\r\n 'corsage',\r\n 'corset',\r\n 'cortex',\r\n 'cosigner',\r\n 'cosmetics',\r\n 'cosmic',\r\n 'cosmos',\r\n 'cosponsor',\r\n 'cost',\r\n 'cottage',\r\n 'cotton',\r\n 'couch',\r\n 'cough',\r\n 'could',\r\n 'countable',\r\n 'countdown',\r\n 'counting',\r\n 'countless',\r\n 'country',\r\n 'county',\r\n 'courier',\r\n 'covenant',\r\n 'cover',\r\n 'coveted',\r\n 'coveting',\r\n 'coyness',\r\n 'cozily',\r\n 'coziness',\r\n 'cozy',\r\n 'crabbing',\r\n 'crabgrass',\r\n 'crablike',\r\n 'crabmeat',\r\n 'cradle',\r\n 'cradling',\r\n 'crafter',\r\n 'craftily',\r\n 'craftsman',\r\n 'craftwork',\r\n 'crafty',\r\n 'cramp',\r\n 'cranberry',\r\n 'crane',\r\n 'cranial',\r\n 'cranium',\r\n 'crank',\r\n 'crate',\r\n 'crave',\r\n 'craving',\r\n 'crawfish',\r\n 'crawlers',\r\n 'crawling',\r\n 'crayfish',\r\n 'crayon',\r\n 'crazed',\r\n 'crazily',\r\n 'craziness',\r\n 'crazy',\r\n 'creamed',\r\n 'creamer',\r\n 'creamlike',\r\n 'crease',\r\n 'creasing',\r\n 'creatable',\r\n 'create',\r\n 'creation',\r\n 'creative',\r\n 'creature',\r\n 'credible',\r\n 'credibly',\r\n 'credit',\r\n 'creed',\r\n 'creme',\r\n 'creole',\r\n 'crepe',\r\n 'crept',\r\n 'crescent',\r\n 'crested',\r\n 'cresting',\r\n 'crestless',\r\n 'crevice',\r\n 'crewless',\r\n 'crewman',\r\n 'crewmate',\r\n 'crib',\r\n 'cricket',\r\n 'cried',\r\n 'crier',\r\n 'crimp',\r\n 'crimson',\r\n 'cringe',\r\n 'cringing',\r\n 'crinkle',\r\n 'crinkly',\r\n 'crisped',\r\n 'crisping',\r\n 'crisply',\r\n 'crispness',\r\n 'crispy',\r\n 'criteria',\r\n 'critter',\r\n 'croak',\r\n 'crock',\r\n 'crook',\r\n 'croon',\r\n 'crop',\r\n 'cross',\r\n 'crouch',\r\n 'crouton',\r\n 'crowbar',\r\n 'crowd',\r\n 'crown',\r\n 'crucial',\r\n 'crudely',\r\n 'crudeness',\r\n 'cruelly',\r\n 'cruelness',\r\n 'cruelty',\r\n 'crumb',\r\n 'crummiest',\r\n 'crummy',\r\n 'crumpet',\r\n 'crumpled',\r\n 'cruncher',\r\n 'crunching',\r\n 'crunchy',\r\n 'crusader',\r\n 'crushable',\r\n 'crushed',\r\n 'crusher',\r\n 'crushing',\r\n 'crust',\r\n 'crux',\r\n 'crying',\r\n 'cryptic',\r\n 'crystal',\r\n 'cubbyhole',\r\n 'cube',\r\n 'cubical',\r\n 'cubicle',\r\n 'cucumber',\r\n 'cuddle',\r\n 'cuddly',\r\n 'cufflink',\r\n 'culinary',\r\n 'culminate',\r\n 'culpable',\r\n 'culprit',\r\n 'cultivate',\r\n 'cultural',\r\n 'culture',\r\n 'cupbearer',\r\n 'cupcake',\r\n 'cupid',\r\n 'cupped',\r\n 'cupping',\r\n 'curable',\r\n 'curator',\r\n 'curdle',\r\n 'cure',\r\n 'curfew',\r\n 'curing',\r\n 'curled',\r\n 'curler',\r\n 'curliness',\r\n 'curling',\r\n 'curly',\r\n 'curry',\r\n 'curse',\r\n 'cursive',\r\n 'cursor',\r\n 'curtain',\r\n 'curtly',\r\n 'curtsy',\r\n 'curvature',\r\n 'curve',\r\n 'curvy',\r\n 'cushy',\r\n 'cusp',\r\n 'cussed',\r\n 'custard',\r\n 'custodian',\r\n 'custody',\r\n 'customary',\r\n 'customer',\r\n 'customize',\r\n 'customs',\r\n 'cut',\r\n 'cycle',\r\n 'cyclic',\r\n 'cycling',\r\n 'cyclist',\r\n 'cylinder',\r\n 'cymbal',\r\n 'cytoplasm',\r\n 'cytoplast',\r\n 'dab',\r\n 'dad',\r\n 'daffodil',\r\n 'dagger',\r\n 'daily',\r\n 'daintily',\r\n 'dainty',\r\n 'dairy',\r\n 'daisy',\r\n 'dallying',\r\n 'dance',\r\n 'dancing',\r\n 'dandelion',\r\n 'dander',\r\n 'dandruff',\r\n 'dandy',\r\n 'danger',\r\n 'dangle',\r\n 'dangling',\r\n 'daredevil',\r\n 'dares',\r\n 'daringly',\r\n 'darkened',\r\n 'darkening',\r\n 'darkish',\r\n 'darkness',\r\n 'darkroom',\r\n 'darling',\r\n 'darn',\r\n 'dart',\r\n 'darwinism',\r\n 'dash',\r\n 'dastardly',\r\n 'data',\r\n 'datebook',\r\n 'dating',\r\n 'daughter',\r\n 'daunting',\r\n 'dawdler',\r\n 'dawn',\r\n 'daybed',\r\n 'daybreak',\r\n 'daycare',\r\n 'daydream',\r\n 'daylight',\r\n 'daylong',\r\n 'dayroom',\r\n 'daytime',\r\n 'dazzler',\r\n 'dazzling',\r\n 'deacon',\r\n 'deafening',\r\n 'deafness',\r\n 'dealer',\r\n 'dealing',\r\n 'dealmaker',\r\n 'dealt',\r\n 'dean',\r\n 'debatable',\r\n 'debate',\r\n 'debating',\r\n 'debit',\r\n 'debrief',\r\n 'debtless',\r\n 'debtor',\r\n 'debug',\r\n 'debunk',\r\n 'decade',\r\n 'decaf',\r\n 'decal',\r\n 'decathlon',\r\n 'decay',\r\n 'deceased',\r\n 'deceit',\r\n 'deceiver',\r\n 'deceiving',\r\n 'december',\r\n 'decency',\r\n 'decent',\r\n 'deception',\r\n 'deceptive',\r\n 'decibel',\r\n 'decidable',\r\n 'decimal',\r\n 'decimeter',\r\n 'decipher',\r\n 'deck',\r\n 'declared',\r\n 'decline',\r\n 'decode',\r\n 'decompose',\r\n 'decorated',\r\n 'decorator',\r\n 'decoy',\r\n 'decrease',\r\n 'decree',\r\n 'dedicate',\r\n 'dedicator',\r\n 'deduce',\r\n 'deduct',\r\n 'deed',\r\n 'deem',\r\n 'deepen',\r\n 'deeply',\r\n 'deepness',\r\n 'deface',\r\n 'defacing',\r\n 'defame',\r\n 'default',\r\n 'defeat',\r\n 'defection',\r\n 'defective',\r\n 'defendant',\r\n 'defender',\r\n 'defense',\r\n 'defensive',\r\n 'deferral',\r\n 'deferred',\r\n 'defiance',\r\n 'defiant',\r\n 'defile',\r\n 'defiling',\r\n 'define',\r\n 'definite',\r\n 'deflate',\r\n 'deflation',\r\n 'deflator',\r\n 'deflected',\r\n 'deflector',\r\n 'defog',\r\n 'deforest',\r\n 'defraud',\r\n 'defrost',\r\n 'deftly',\r\n 'defuse',\r\n 'defy',\r\n 'degraded',\r\n 'degrading',\r\n 'degrease',\r\n 'degree',\r\n 'dehydrate',\r\n 'deity',\r\n 'dejected',\r\n 'delay',\r\n 'delegate',\r\n 'delegator',\r\n 'delete',\r\n 'deletion',\r\n 'delicacy',\r\n 'delicate',\r\n 'delicious',\r\n 'delighted',\r\n 'delirious',\r\n 'delirium',\r\n 'deliverer',\r\n 'delivery',\r\n 'delouse',\r\n 'delta',\r\n 'deluge',\r\n 'delusion',\r\n 'deluxe',\r\n 'demanding',\r\n 'demeaning',\r\n 'demeanor',\r\n 'demise',\r\n 'democracy',\r\n 'democrat',\r\n 'demote',\r\n 'demotion',\r\n 'demystify',\r\n 'denatured',\r\n 'deniable',\r\n 'denial',\r\n 'denim',\r\n 'denote',\r\n 'dense',\r\n 'density',\r\n 'dental',\r\n 'dentist',\r\n 'denture',\r\n 'deny',\r\n 'deodorant',\r\n 'deodorize',\r\n 'departed',\r\n 'departure',\r\n 'depict',\r\n 'deplete',\r\n 'depletion',\r\n 'deplored',\r\n 'deploy',\r\n 'deport',\r\n 'depose',\r\n 'depraved',\r\n 'depravity',\r\n 'deprecate',\r\n 'depress',\r\n 'deprive',\r\n 'depth',\r\n 'deputize',\r\n 'deputy',\r\n 'derail',\r\n 'deranged',\r\n 'derby',\r\n 'derived',\r\n 'desecrate',\r\n 'deserve',\r\n 'deserving',\r\n 'designate',\r\n 'designed',\r\n 'designer',\r\n 'designing',\r\n 'deskbound',\r\n 'desktop',\r\n 'deskwork',\r\n 'desolate',\r\n 'despair',\r\n 'despise',\r\n 'despite',\r\n 'destiny',\r\n 'destitute',\r\n 'destruct',\r\n 'detached',\r\n 'detail',\r\n 'detection',\r\n 'detective',\r\n 'detector',\r\n 'detention',\r\n 'detergent',\r\n 'detest',\r\n 'detonate',\r\n 'detonator',\r\n 'detoxify',\r\n 'detract',\r\n 'deuce',\r\n 'devalue',\r\n 'deviancy',\r\n 'deviant',\r\n 'deviate',\r\n 'deviation',\r\n 'deviator',\r\n 'device',\r\n 'devious',\r\n 'devotedly',\r\n 'devotee',\r\n 'devotion',\r\n 'devourer',\r\n 'devouring',\r\n 'devoutly',\r\n 'dexterity',\r\n 'dexterous',\r\n 'diabetes',\r\n 'diabetic',\r\n 'diabolic',\r\n 'diagnoses',\r\n 'diagnosis',\r\n 'diagram',\r\n 'dial',\r\n 'diameter',\r\n 'diaper',\r\n 'diaphragm',\r\n 'diary',\r\n 'dice',\r\n 'dicing',\r\n 'dictate',\r\n 'dictation',\r\n 'dictator',\r\n 'difficult',\r\n 'diffused',\r\n 'diffuser',\r\n 'diffusion',\r\n 'diffusive',\r\n 'dig',\r\n 'dilation',\r\n 'diligence',\r\n 'diligent',\r\n 'dill',\r\n 'dilute',\r\n 'dime',\r\n 'diminish',\r\n 'dimly',\r\n 'dimmed',\r\n 'dimmer',\r\n 'dimness',\r\n 'dimple',\r\n 'diner',\r\n 'dingbat',\r\n 'dinghy',\r\n 'dinginess',\r\n 'dingo',\r\n 'dingy',\r\n 'dining',\r\n 'dinner',\r\n 'diocese',\r\n 'dioxide',\r\n 'diploma',\r\n 'dipped',\r\n 'dipper',\r\n 'dipping',\r\n 'directed',\r\n 'direction',\r\n 'directive',\r\n 'directly',\r\n 'directory',\r\n 'direness',\r\n 'dirtiness',\r\n 'disabled',\r\n 'disagree',\r\n 'disallow',\r\n 'disarm',\r\n 'disarray',\r\n 'disaster',\r\n 'disband',\r\n 'disbelief',\r\n 'disburse',\r\n 'discard',\r\n 'discern',\r\n 'discharge',\r\n 'disclose',\r\n 'discolor',\r\n 'discount',\r\n 'discourse',\r\n 'discover',\r\n 'discuss',\r\n 'disdain',\r\n 'disengage',\r\n 'disfigure',\r\n 'disgrace',\r\n 'dish',\r\n 'disinfect',\r\n 'disjoin',\r\n 'disk',\r\n 'dislike',\r\n 'disliking',\r\n 'dislocate',\r\n 'dislodge',\r\n 'disloyal',\r\n 'dismantle',\r\n 'dismay',\r\n 'dismiss',\r\n 'dismount',\r\n 'disobey',\r\n 'disorder',\r\n 'disown',\r\n 'disparate',\r\n 'disparity',\r\n 'dispatch',\r\n 'dispense',\r\n 'dispersal',\r\n 'dispersed',\r\n 'disperser',\r\n 'displace',\r\n 'display',\r\n 'displease',\r\n 'disposal',\r\n 'dispose',\r\n 'disprove',\r\n 'dispute',\r\n 'disregard',\r\n 'disrupt',\r\n 'dissuade',\r\n 'distance',\r\n 'distant',\r\n 'distaste',\r\n 'distill',\r\n 'distinct',\r\n 'distort',\r\n 'distract',\r\n 'distress',\r\n 'district',\r\n 'distrust',\r\n 'ditch',\r\n 'ditto',\r\n 'ditzy',\r\n 'dividable',\r\n 'divided',\r\n 'dividend',\r\n 'dividers',\r\n 'dividing',\r\n 'divinely',\r\n 'diving',\r\n 'divinity',\r\n 'divisible',\r\n 'divisibly',\r\n 'division',\r\n 'divisive',\r\n 'divorcee',\r\n 'dizziness',\r\n 'dizzy',\r\n 'doable',\r\n 'docile',\r\n 'dock',\r\n 'doctrine',\r\n 'document',\r\n 'dodge',\r\n 'dodgy',\r\n 'doily',\r\n 'doing',\r\n 'dole',\r\n 'dollar',\r\n 'dollhouse',\r\n 'dollop',\r\n 'dolly',\r\n 'dolphin',\r\n 'domain',\r\n 'domelike',\r\n 'domestic',\r\n 'dominion',\r\n 'dominoes',\r\n 'donated',\r\n 'donation',\r\n 'donator',\r\n 'donor',\r\n 'donut',\r\n 'doodle',\r\n 'doorbell',\r\n 'doorframe',\r\n 'doorknob',\r\n 'doorman',\r\n 'doormat',\r\n 'doornail',\r\n 'doorpost',\r\n 'doorstep',\r\n 'doorstop',\r\n 'doorway',\r\n 'doozy',\r\n 'dork',\r\n 'dormitory',\r\n 'dorsal',\r\n 'dosage',\r\n 'dose',\r\n 'dotted',\r\n 'doubling',\r\n 'douche',\r\n 'dove',\r\n 'down',\r\n 'dowry',\r\n 'doze',\r\n 'drab',\r\n 'dragging',\r\n 'dragonfly',\r\n 'dragonish',\r\n 'dragster',\r\n 'drainable',\r\n 'drainage',\r\n 'drained',\r\n 'drainer',\r\n 'drainpipe',\r\n 'dramatic',\r\n 'dramatize',\r\n 'drank',\r\n 'drapery',\r\n 'drastic',\r\n 'draw',\r\n 'dreaded',\r\n 'dreadful',\r\n 'dreadlock',\r\n 'dreamboat',\r\n 'dreamily',\r\n 'dreamland',\r\n 'dreamless',\r\n 'dreamlike',\r\n 'dreamt',\r\n 'dreamy',\r\n 'drearily',\r\n 'dreary',\r\n 'drench',\r\n 'dress',\r\n 'drew',\r\n 'dribble',\r\n 'dried',\r\n 'drier',\r\n 'drift',\r\n 'driller',\r\n 'drilling',\r\n 'drinkable',\r\n 'drinking',\r\n 'dripping',\r\n 'drippy',\r\n 'drivable',\r\n 'driven',\r\n 'driver',\r\n 'driveway',\r\n 'driving',\r\n 'drizzle',\r\n 'drizzly',\r\n 'drone',\r\n 'drool',\r\n 'droop',\r\n 'drop-down',\r\n 'dropbox',\r\n 'dropkick',\r\n 'droplet',\r\n 'dropout',\r\n 'dropper',\r\n 'drove',\r\n 'drown',\r\n 'drowsily',\r\n 'drudge',\r\n 'drum',\r\n 'dry',\r\n 'dubbed',\r\n 'dubiously',\r\n 'duchess',\r\n 'duckbill',\r\n 'ducking',\r\n 'duckling',\r\n 'ducktail',\r\n 'ducky',\r\n 'duct',\r\n 'dude',\r\n 'duffel',\r\n 'dugout',\r\n 'duh',\r\n 'duke',\r\n 'duller',\r\n 'dullness',\r\n 'duly',\r\n 'dumping',\r\n 'dumpling',\r\n 'dumpster',\r\n 'duo',\r\n 'dupe',\r\n 'duplex',\r\n 'duplicate',\r\n 'duplicity',\r\n 'durable',\r\n 'durably',\r\n 'duration',\r\n 'duress',\r\n 'during',\r\n 'dusk',\r\n 'dust',\r\n 'dutiful',\r\n 'duty',\r\n 'duvet',\r\n 'dwarf',\r\n 'dweeb',\r\n 'dwelled',\r\n 'dweller',\r\n 'dwelling',\r\n 'dwindle',\r\n 'dwindling',\r\n 'dynamic',\r\n 'dynamite',\r\n 'dynasty',\r\n 'dyslexia',\r\n 'dyslexic',\r\n 'each',\r\n 'eagle',\r\n 'earache',\r\n 'eardrum',\r\n 'earflap',\r\n 'earful',\r\n 'earlobe',\r\n 'early',\r\n 'earmark',\r\n 'earmuff',\r\n 'earphone',\r\n 'earpiece',\r\n 'earplugs',\r\n 'earring',\r\n 'earshot',\r\n 'earthen',\r\n 'earthlike',\r\n 'earthling',\r\n 'earthly',\r\n 'earthworm',\r\n 'earthy',\r\n 'earwig',\r\n 'easeful',\r\n 'easel',\r\n 'easiest',\r\n 'easily',\r\n 'easiness',\r\n 'easing',\r\n 'eastbound',\r\n 'eastcoast',\r\n 'easter',\r\n 'eastward',\r\n 'eatable',\r\n 'eaten',\r\n 'eatery',\r\n 'eating',\r\n 'eats',\r\n 'ebay',\r\n 'ebony',\r\n 'ebook',\r\n 'ecard',\r\n 'eccentric',\r\n 'echo',\r\n 'eclair',\r\n 'eclipse',\r\n 'ecologist',\r\n 'ecology',\r\n 'economic',\r\n 'economist',\r\n 'economy',\r\n 'ecosphere',\r\n 'ecosystem',\r\n 'edge',\r\n 'edginess',\r\n 'edging',\r\n 'edgy',\r\n 'edition',\r\n 'editor',\r\n 'educated',\r\n 'education',\r\n 'educator',\r\n 'eel',\r\n 'effective',\r\n 'effects',\r\n 'efficient',\r\n 'effort',\r\n 'eggbeater',\r\n 'egging',\r\n 'eggnog',\r\n 'eggplant',\r\n 'eggshell',\r\n 'egomaniac',\r\n 'egotism',\r\n 'egotistic',\r\n 'either',\r\n 'eject',\r\n 'elaborate',\r\n 'elastic',\r\n 'elated',\r\n 'elbow',\r\n 'eldercare',\r\n 'elderly',\r\n 'eldest',\r\n 'electable',\r\n 'election',\r\n 'elective',\r\n 'elephant',\r\n 'elevate',\r\n 'elevating',\r\n 'elevation',\r\n 'elevator',\r\n 'eleven',\r\n 'elf',\r\n 'eligible',\r\n 'eligibly',\r\n 'eliminate',\r\n 'elite',\r\n 'elitism',\r\n 'elixir',\r\n 'elk',\r\n 'ellipse',\r\n 'elliptic',\r\n 'elm',\r\n 'elongated',\r\n 'elope',\r\n 'eloquence',\r\n 'eloquent',\r\n 'elsewhere',\r\n 'elude',\r\n 'elusive',\r\n 'elves',\r\n 'email',\r\n 'embargo',\r\n 'embark',\r\n 'embassy',\r\n 'embattled',\r\n 'embellish',\r\n 'ember',\r\n 'embezzle',\r\n 'emblaze',\r\n 'emblem',\r\n 'embody',\r\n 'embolism',\r\n 'emboss',\r\n 'embroider',\r\n 'emcee',\r\n 'emerald',\r\n 'emergency',\r\n 'emission',\r\n 'emit',\r\n 'emote',\r\n 'emoticon',\r\n 'emotion',\r\n 'empathic',\r\n 'empathy',\r\n 'emperor',\r\n 'emphases',\r\n 'emphasis',\r\n 'emphasize',\r\n 'emphatic',\r\n 'empirical',\r\n 'employed',\r\n 'employee',\r\n 'employer',\r\n 'emporium',\r\n 'empower',\r\n 'emptier',\r\n 'emptiness',\r\n 'empty',\r\n 'emu',\r\n 'enable',\r\n 'enactment',\r\n 'enamel',\r\n 'enchanted',\r\n 'enchilada',\r\n 'encircle',\r\n 'enclose',\r\n 'enclosure',\r\n 'encode',\r\n 'encore',\r\n 'encounter',\r\n 'encourage',\r\n 'encroach',\r\n 'encrust',\r\n 'encrypt',\r\n 'endanger',\r\n 'endeared',\r\n 'endearing',\r\n 'ended',\r\n 'ending',\r\n 'endless',\r\n 'endnote',\r\n 'endocrine',\r\n 'endorphin',\r\n 'endorse',\r\n 'endowment',\r\n 'endpoint',\r\n 'endurable',\r\n 'endurance',\r\n 'enduring',\r\n 'energetic',\r\n 'energize',\r\n 'energy',\r\n 'enforced',\r\n 'enforcer',\r\n 'engaged',\r\n 'engaging',\r\n 'engine',\r\n 'engorge',\r\n 'engraved',\r\n 'engraver',\r\n 'engraving',\r\n 'engross',\r\n 'engulf',\r\n 'enhance',\r\n 'enigmatic',\r\n 'enjoyable',\r\n 'enjoyably',\r\n 'enjoyer',\r\n 'enjoying',\r\n 'enjoyment',\r\n 'enlarged',\r\n 'enlarging',\r\n 'enlighten',\r\n 'enlisted',\r\n 'enquirer',\r\n 'enrage',\r\n 'enrich',\r\n 'enroll',\r\n 'enslave',\r\n 'ensnare',\r\n 'ensure',\r\n 'entail',\r\n 'entangled',\r\n 'entering',\r\n 'entertain',\r\n 'enticing',\r\n 'entire',\r\n 'entitle',\r\n 'entity',\r\n 'entomb',\r\n 'entourage',\r\n 'entrap',\r\n 'entree',\r\n 'entrench',\r\n 'entrust',\r\n 'entryway',\r\n 'entwine',\r\n 'enunciate',\r\n 'envelope',\r\n 'enviable',\r\n 'enviably',\r\n 'envious',\r\n 'envision',\r\n 'envoy',\r\n 'envy',\r\n 'enzyme',\r\n 'epic',\r\n 'epidemic',\r\n 'epidermal',\r\n 'epidermis',\r\n 'epidural',\r\n 'epilepsy',\r\n 'epileptic',\r\n 'epilogue',\r\n 'epiphany',\r\n 'episode',\r\n 'equal',\r\n 'equate',\r\n 'equation',\r\n 'equator',\r\n 'equinox',\r\n 'equipment',\r\n 'equity',\r\n 'equivocal',\r\n 'eradicate',\r\n 'erasable',\r\n 'erased',\r\n 'eraser',\r\n 'erasure',\r\n 'ergonomic',\r\n 'errand',\r\n 'errant',\r\n 'erratic',\r\n 'error',\r\n 'erupt',\r\n 'escalate',\r\n 'escalator',\r\n 'escapable',\r\n 'escapade',\r\n 'escapist',\r\n 'escargot',\r\n 'eskimo',\r\n 'esophagus',\r\n 'espionage',\r\n 'espresso',\r\n 'esquire',\r\n 'essay',\r\n 'essence',\r\n 'essential',\r\n 'establish',\r\n 'estate',\r\n 'esteemed',\r\n 'estimate',\r\n 'estimator',\r\n 'estranged',\r\n 'estrogen',\r\n 'etching',\r\n 'eternal',\r\n 'eternity',\r\n 'ethanol',\r\n 'ether',\r\n 'ethically',\r\n 'ethics',\r\n 'euphemism',\r\n 'evacuate',\r\n 'evacuee',\r\n 'evade',\r\n 'evaluate',\r\n 'evaluator',\r\n 'evaporate',\r\n 'evasion',\r\n 'evasive',\r\n 'even',\r\n 'everglade',\r\n 'evergreen',\r\n 'everybody',\r\n 'everyday',\r\n 'everyone',\r\n 'evict',\r\n 'evidence',\r\n 'evident',\r\n 'evil',\r\n 'evoke',\r\n 'evolution',\r\n 'evolve',\r\n 'exact',\r\n 'exalted',\r\n 'example',\r\n 'excavate',\r\n 'excavator',\r\n 'exceeding',\r\n 'exception',\r\n 'excess',\r\n 'exchange',\r\n 'excitable',\r\n 'exciting',\r\n 'exclaim',\r\n 'exclude',\r\n 'excluding',\r\n 'exclusion',\r\n 'exclusive',\r\n 'excretion',\r\n 'excretory',\r\n 'excursion',\r\n 'excusable',\r\n 'excusably',\r\n 'excuse',\r\n 'exemplary',\r\n 'exemplify',\r\n 'exemption',\r\n 'exerciser',\r\n 'exert',\r\n 'exes',\r\n 'exfoliate',\r\n 'exhale',\r\n 'exhaust',\r\n 'exhume',\r\n 'exile',\r\n 'existing',\r\n 'exit',\r\n 'exodus',\r\n 'exonerate',\r\n 'exorcism',\r\n 'exorcist',\r\n 'expand',\r\n 'expanse',\r\n 'expansion',\r\n 'expansive',\r\n 'expectant',\r\n 'expedited',\r\n 'expediter',\r\n 'expel',\r\n 'expend',\r\n 'expenses',\r\n 'expensive',\r\n 'expert',\r\n 'expire',\r\n 'expiring',\r\n 'explain',\r\n 'expletive',\r\n 'explicit',\r\n 'explode',\r\n 'exploit',\r\n 'explore',\r\n 'exploring',\r\n 'exponent',\r\n 'exporter',\r\n 'exposable',\r\n 'expose',\r\n 'exposure',\r\n 'express',\r\n 'expulsion',\r\n 'exquisite',\r\n 'extended',\r\n 'extending',\r\n 'extent',\r\n 'extenuate',\r\n 'exterior',\r\n 'external',\r\n 'extinct',\r\n 'extortion',\r\n 'extradite',\r\n 'extras',\r\n 'extrovert',\r\n 'extrude',\r\n 'extruding',\r\n 'exuberant',\r\n 'fable',\r\n 'fabric',\r\n 'fabulous',\r\n 'facebook',\r\n 'facecloth',\r\n 'facedown',\r\n 'faceless',\r\n 'facelift',\r\n 'faceplate',\r\n 'faceted',\r\n 'facial',\r\n 'facility',\r\n 'facing',\r\n 'facsimile',\r\n 'faction',\r\n 'factoid',\r\n 'factor',\r\n 'factsheet',\r\n 'factual',\r\n 'faculty',\r\n 'fade',\r\n 'fading',\r\n 'failing',\r\n 'falcon',\r\n 'fall',\r\n 'false',\r\n 'falsify',\r\n 'fame',\r\n 'familiar',\r\n 'family',\r\n 'famine',\r\n 'famished',\r\n 'fanatic',\r\n 'fancied',\r\n 'fanciness',\r\n 'fancy',\r\n 'fanfare',\r\n 'fang',\r\n 'fanning',\r\n 'fantasize',\r\n 'fantastic',\r\n 'fantasy',\r\n 'fascism',\r\n 'fastball',\r\n 'faster',\r\n 'fasting',\r\n 'fastness',\r\n 'faucet',\r\n 'favorable',\r\n 'favorably',\r\n 'favored',\r\n 'favoring',\r\n 'favorite',\r\n 'fax',\r\n 'feast',\r\n 'federal',\r\n 'fedora',\r\n 'feeble',\r\n 'feed',\r\n 'feel',\r\n 'feisty',\r\n 'feline',\r\n 'felt-tip',\r\n 'feminine',\r\n 'feminism',\r\n 'feminist',\r\n 'feminize',\r\n 'femur',\r\n 'fence',\r\n 'fencing',\r\n 'fender',\r\n 'ferment',\r\n 'fernlike',\r\n 'ferocious',\r\n 'ferocity',\r\n 'ferret',\r\n 'ferris',\r\n 'ferry',\r\n 'fervor',\r\n 'fester',\r\n 'festival',\r\n 'festive',\r\n 'festivity',\r\n 'fetal',\r\n 'fetch',\r\n 'fever',\r\n 'fiber',\r\n 'fiction',\r\n 'fiddle',\r\n 'fiddling',\r\n 'fidelity',\r\n 'fidgeting',\r\n 'fidgety',\r\n 'fifteen',\r\n 'fifth',\r\n 'fiftieth',\r\n 'fifty',\r\n 'figment',\r\n 'figure',\r\n 'figurine',\r\n 'filing',\r\n 'filled',\r\n 'filler',\r\n 'filling',\r\n 'film',\r\n 'filter',\r\n 'filth',\r\n 'filtrate',\r\n 'finale',\r\n 'finalist',\r\n 'finalize',\r\n 'finally',\r\n 'finance',\r\n 'financial',\r\n 'finch',\r\n 'fineness',\r\n 'finer',\r\n 'finicky',\r\n 'finished',\r\n 'finisher',\r\n 'finishing',\r\n 'finite',\r\n 'finless',\r\n 'finlike',\r\n 'fiscally',\r\n 'fit',\r\n 'five',\r\n 'flaccid',\r\n 'flagman',\r\n 'flagpole',\r\n 'flagship',\r\n 'flagstick',\r\n 'flagstone',\r\n 'flail',\r\n 'flakily',\r\n 'flaky',\r\n 'flame',\r\n 'flammable',\r\n 'flanked',\r\n 'flanking',\r\n 'flannels',\r\n 'flap',\r\n 'flaring',\r\n 'flashback',\r\n 'flashbulb',\r\n 'flashcard',\r\n 'flashily',\r\n 'flashing',\r\n 'flashy',\r\n 'flask',\r\n 'flatbed',\r\n 'flatfoot',\r\n 'flatly',\r\n 'flatness',\r\n 'flatten',\r\n 'flattered',\r\n 'flatterer',\r\n 'flattery',\r\n 'flattop',\r\n 'flatware',\r\n 'flatworm',\r\n 'flavored',\r\n 'flavorful',\r\n 'flavoring',\r\n 'flaxseed',\r\n 'fled',\r\n 'fleshed',\r\n 'fleshy',\r\n 'flick',\r\n 'flier',\r\n 'flight',\r\n 'flinch',\r\n 'fling',\r\n 'flint',\r\n 'flip',\r\n 'flirt',\r\n 'float',\r\n 'flock',\r\n 'flogging',\r\n 'flop',\r\n 'floral',\r\n 'florist',\r\n 'floss',\r\n 'flounder',\r\n 'flyable',\r\n 'flyaway',\r\n 'flyer',\r\n 'flying',\r\n 'flyover',\r\n 'flypaper',\r\n 'foam',\r\n 'foe',\r\n 'fog',\r\n 'foil',\r\n 'folic',\r\n 'folk',\r\n 'follicle',\r\n 'follow',\r\n 'fondling',\r\n 'fondly',\r\n 'fondness',\r\n 'fondue',\r\n 'font',\r\n 'food',\r\n 'fool',\r\n 'footage',\r\n 'football',\r\n 'footbath',\r\n 'footboard',\r\n 'footer',\r\n 'footgear',\r\n 'foothill',\r\n 'foothold',\r\n 'footing',\r\n 'footless',\r\n 'footman',\r\n 'footnote',\r\n 'footpad',\r\n 'footpath',\r\n 'footprint',\r\n 'footrest',\r\n 'footsie',\r\n 'footsore',\r\n 'footwear',\r\n 'footwork',\r\n 'fossil',\r\n 'foster',\r\n 'founder',\r\n 'founding',\r\n 'fountain',\r\n 'fox',\r\n 'foyer',\r\n 'fraction',\r\n 'fracture',\r\n 'fragile',\r\n 'fragility',\r\n 'fragment',\r\n 'fragrance',\r\n 'fragrant',\r\n 'frail',\r\n 'frame',\r\n 'framing',\r\n 'frantic',\r\n 'fraternal',\r\n 'frayed',\r\n 'fraying',\r\n 'frays',\r\n 'freckled',\r\n 'freckles',\r\n 'freebase',\r\n 'freebee',\r\n 'freebie',\r\n 'freedom',\r\n 'freefall',\r\n 'freehand',\r\n 'freeing',\r\n 'freeload',\r\n 'freely',\r\n 'freemason',\r\n 'freeness',\r\n 'freestyle',\r\n 'freeware',\r\n 'freeway',\r\n 'freewill',\r\n 'freezable',\r\n 'freezing',\r\n 'freight',\r\n 'french',\r\n 'frenzied',\r\n 'frenzy',\r\n 'frequency',\r\n 'frequent',\r\n 'fresh',\r\n 'fretful',\r\n 'fretted',\r\n 'friction',\r\n 'friday',\r\n 'fridge',\r\n 'fried',\r\n 'friend',\r\n 'frighten',\r\n 'frightful',\r\n 'frigidity',\r\n 'frigidly',\r\n 'frill',\r\n 'fringe',\r\n 'frisbee',\r\n 'frisk',\r\n 'fritter',\r\n 'frivolous',\r\n 'frolic',\r\n 'from',\r\n 'front',\r\n 'frostbite',\r\n 'frosted',\r\n 'frostily',\r\n 'frosting',\r\n 'frostlike',\r\n 'frosty',\r\n 'froth',\r\n 'frown',\r\n 'frozen',\r\n 'fructose',\r\n 'frugality',\r\n 'frugally',\r\n 'fruit',\r\n 'frustrate',\r\n 'frying',\r\n 'gab',\r\n 'gaffe',\r\n 'gag',\r\n 'gainfully',\r\n 'gaining',\r\n 'gains',\r\n 'gala',\r\n 'gallantly',\r\n 'galleria',\r\n 'gallery',\r\n 'galley',\r\n 'gallon',\r\n 'gallows',\r\n 'gallstone',\r\n 'galore',\r\n 'galvanize',\r\n 'gambling',\r\n 'game',\r\n 'gaming',\r\n 'gamma',\r\n 'gander',\r\n 'gangly',\r\n 'gangrene',\r\n 'gangway',\r\n 'gap',\r\n 'garage',\r\n 'garbage',\r\n 'garden',\r\n 'gargle',\r\n 'garland',\r\n 'garlic',\r\n 'garment',\r\n 'garnet',\r\n 'garnish',\r\n 'garter',\r\n 'gas',\r\n 'gatherer',\r\n 'gathering',\r\n 'gating',\r\n 'gauging',\r\n 'gauntlet',\r\n 'gauze',\r\n 'gave',\r\n 'gawk',\r\n 'gazing',\r\n 'gear',\r\n 'gecko',\r\n 'geek',\r\n 'geiger',\r\n 'gem',\r\n 'gender',\r\n 'generic',\r\n 'generous',\r\n 'genetics',\r\n 'genre',\r\n 'gentile',\r\n 'gentleman',\r\n 'gently',\r\n 'gents',\r\n 'geography',\r\n 'geologic',\r\n 'geologist',\r\n 'geology',\r\n 'geometric',\r\n 'geometry',\r\n 'geranium',\r\n 'gerbil',\r\n 'geriatric',\r\n 'germicide',\r\n 'germinate',\r\n 'germless',\r\n 'germproof',\r\n 'gestate',\r\n 'gestation',\r\n 'gesture',\r\n 'getaway',\r\n 'getting',\r\n 'getup',\r\n 'giant',\r\n 'gibberish',\r\n 'giblet',\r\n 'giddily',\r\n 'giddiness',\r\n 'giddy',\r\n 'gift',\r\n 'gigabyte',\r\n 'gigahertz',\r\n 'gigantic',\r\n 'giggle',\r\n 'giggling',\r\n 'giggly',\r\n 'gigolo',\r\n 'gilled',\r\n 'gills',\r\n 'gimmick',\r\n 'girdle',\r\n 'giveaway',\r\n 'given',\r\n 'giver',\r\n 'giving',\r\n 'gizmo',\r\n 'gizzard',\r\n 'glacial',\r\n 'glacier',\r\n 'glade',\r\n 'gladiator',\r\n 'gladly',\r\n 'glamorous',\r\n 'glamour',\r\n 'glance',\r\n 'glancing',\r\n 'glandular',\r\n 'glare',\r\n 'glaring',\r\n 'glass',\r\n 'glaucoma',\r\n 'glazing',\r\n 'gleaming',\r\n 'gleeful',\r\n 'glider',\r\n 'gliding',\r\n 'glimmer',\r\n 'glimpse',\r\n 'glisten',\r\n 'glitch',\r\n 'glitter',\r\n 'glitzy',\r\n 'gloater',\r\n 'gloating',\r\n 'gloomily',\r\n 'gloomy',\r\n 'glorified',\r\n 'glorifier',\r\n 'glorify',\r\n 'glorious',\r\n 'glory',\r\n 'gloss',\r\n 'glove',\r\n 'glowing',\r\n 'glowworm',\r\n 'glucose',\r\n 'glue',\r\n 'gluten',\r\n 'glutinous',\r\n 'glutton',\r\n 'gnarly',\r\n 'gnat',\r\n 'goal',\r\n 'goatskin',\r\n 'goes',\r\n 'goggles',\r\n 'going',\r\n 'goldfish',\r\n 'goldmine',\r\n 'goldsmith',\r\n 'golf',\r\n 'goliath',\r\n 'gonad',\r\n 'gondola',\r\n 'gone',\r\n 'gong',\r\n 'good',\r\n 'gooey',\r\n 'goofball',\r\n 'goofiness',\r\n 'goofy',\r\n 'google',\r\n 'goon',\r\n 'gopher',\r\n 'gore',\r\n 'gorged',\r\n 'gorgeous',\r\n 'gory',\r\n 'gosling',\r\n 'gossip',\r\n 'gothic',\r\n 'gotten',\r\n 'gout',\r\n 'gown',\r\n 'grab',\r\n 'graceful',\r\n 'graceless',\r\n 'gracious',\r\n 'gradation',\r\n 'graded',\r\n 'grader',\r\n 'gradient',\r\n 'grading',\r\n 'gradually',\r\n 'graduate',\r\n 'graffiti',\r\n 'grafted',\r\n 'grafting',\r\n 'grain',\r\n 'granddad',\r\n 'grandkid',\r\n 'grandly',\r\n 'grandma',\r\n 'grandpa',\r\n 'grandson',\r\n 'granite',\r\n 'granny',\r\n 'granola',\r\n 'grant',\r\n 'granular',\r\n 'grape',\r\n 'graph',\r\n 'grapple',\r\n 'grappling',\r\n 'grasp',\r\n 'grass',\r\n 'gratified',\r\n 'gratify',\r\n 'grating',\r\n 'gratitude',\r\n 'gratuity',\r\n 'gravel',\r\n 'graveness',\r\n 'graves',\r\n 'graveyard',\r\n 'gravitate',\r\n 'gravity',\r\n 'gravy',\r\n 'gray',\r\n 'grazing',\r\n 'greasily',\r\n 'greedily',\r\n 'greedless',\r\n 'greedy',\r\n 'green',\r\n 'greeter',\r\n 'greeting',\r\n 'grew',\r\n 'greyhound',\r\n 'grid',\r\n 'grief',\r\n 'grievance',\r\n 'grieving',\r\n 'grievous',\r\n 'grill',\r\n 'grimace',\r\n 'grimacing',\r\n 'grime',\r\n 'griminess',\r\n 'grimy',\r\n 'grinch',\r\n 'grinning',\r\n 'grip',\r\n 'gristle',\r\n 'grit',\r\n 'groggily',\r\n 'groggy',\r\n 'groin',\r\n 'groom',\r\n 'groove',\r\n 'grooving',\r\n 'groovy',\r\n 'grope',\r\n 'ground',\r\n 'grouped',\r\n 'grout',\r\n 'grove',\r\n 'grower',\r\n 'growing',\r\n 'growl',\r\n 'grub',\r\n 'grudge',\r\n 'grudging',\r\n 'grueling',\r\n 'gruffly',\r\n 'grumble',\r\n 'grumbling',\r\n 'grumbly',\r\n 'grumpily',\r\n 'grunge',\r\n 'grunt',\r\n 'guacamole',\r\n 'guidable',\r\n 'guidance',\r\n 'guide',\r\n 'guiding',\r\n 'guileless',\r\n 'guise',\r\n 'gulf',\r\n 'gullible',\r\n 'gully',\r\n 'gulp',\r\n 'gumball',\r\n 'gumdrop',\r\n 'gumminess',\r\n 'gumming',\r\n 'gummy',\r\n 'gurgle',\r\n 'gurgling',\r\n 'guru',\r\n 'gush',\r\n 'gusto',\r\n 'gusty',\r\n 'gutless',\r\n 'guts',\r\n 'gutter',\r\n 'guy',\r\n 'guzzler',\r\n 'gyration',\r\n 'habitable',\r\n 'habitant',\r\n 'habitat',\r\n 'habitual',\r\n 'hacked',\r\n 'hacker',\r\n 'hacking',\r\n 'hacksaw',\r\n 'had',\r\n 'haggler',\r\n 'haiku',\r\n 'half',\r\n 'halogen',\r\n 'halt',\r\n 'halved',\r\n 'halves',\r\n 'hamburger',\r\n 'hamlet',\r\n 'hammock',\r\n 'hamper',\r\n 'hamster',\r\n 'hamstring',\r\n 'handbag',\r\n 'handball',\r\n 'handbook',\r\n 'handbrake',\r\n 'handcart',\r\n 'handclap',\r\n 'handclasp',\r\n 'handcraft',\r\n 'handcuff',\r\n 'handed',\r\n 'handful',\r\n 'handgrip',\r\n 'handgun',\r\n 'handheld',\r\n 'handiness',\r\n 'handiwork',\r\n 'handlebar',\r\n 'handled',\r\n 'handler',\r\n 'handling',\r\n 'handmade',\r\n 'handoff',\r\n 'handpick',\r\n 'handprint',\r\n 'handrail',\r\n 'handsaw',\r\n 'handset',\r\n 'handsfree',\r\n 'handshake',\r\n 'handstand',\r\n 'handwash',\r\n 'handwork',\r\n 'handwoven',\r\n 'handwrite',\r\n 'handyman',\r\n 'hangnail',\r\n 'hangout',\r\n 'hangover',\r\n 'hangup',\r\n 'hankering',\r\n 'hankie',\r\n 'hanky',\r\n 'haphazard',\r\n 'happening',\r\n 'happier',\r\n 'happiest',\r\n 'happily',\r\n 'happiness',\r\n 'happy',\r\n 'harbor',\r\n 'hardcopy',\r\n 'hardcore',\r\n 'hardcover',\r\n 'harddisk',\r\n 'hardened',\r\n 'hardener',\r\n 'hardening',\r\n 'hardhat',\r\n 'hardhead',\r\n 'hardiness',\r\n 'hardly',\r\n 'hardness',\r\n 'hardship',\r\n 'hardware',\r\n 'hardwired',\r\n 'hardwood',\r\n 'hardy',\r\n 'harmful',\r\n 'harmless',\r\n 'harmonica',\r\n 'harmonics',\r\n 'harmonize',\r\n 'harmony',\r\n 'harness',\r\n 'harpist',\r\n 'harsh',\r\n 'harvest',\r\n 'hash',\r\n 'hassle',\r\n 'haste',\r\n 'hastily',\r\n 'hastiness',\r\n 'hasty',\r\n 'hatbox',\r\n 'hatchback',\r\n 'hatchery',\r\n 'hatchet',\r\n 'hatching',\r\n 'hatchling',\r\n 'hate',\r\n 'hatless',\r\n 'hatred',\r\n 'haunt',\r\n 'haven',\r\n 'hazard',\r\n 'hazelnut',\r\n 'hazily',\r\n 'haziness',\r\n 'hazing',\r\n 'hazy',\r\n 'headache',\r\n 'headband',\r\n 'headboard',\r\n 'headcount',\r\n 'headdress',\r\n 'headed',\r\n 'header',\r\n 'headfirst',\r\n 'headgear',\r\n 'heading',\r\n 'headlamp',\r\n 'headless',\r\n 'headlock',\r\n 'headphone',\r\n 'headpiece',\r\n 'headrest',\r\n 'headroom',\r\n 'headscarf',\r\n 'headset',\r\n 'headsman',\r\n 'headstand',\r\n 'headstone',\r\n 'headway',\r\n 'headwear',\r\n 'heap',\r\n 'heat',\r\n 'heave',\r\n 'heavily',\r\n 'heaviness',\r\n 'heaving',\r\n 'hedge',\r\n 'hedging',\r\n 'heftiness',\r\n 'hefty',\r\n 'helium',\r\n 'helmet',\r\n 'helper',\r\n 'helpful',\r\n 'helping',\r\n 'helpless',\r\n 'helpline',\r\n 'hemlock',\r\n 'hemstitch',\r\n 'hence',\r\n 'henchman',\r\n 'henna',\r\n 'herald',\r\n 'herbal',\r\n 'herbicide',\r\n 'herbs',\r\n 'heritage',\r\n 'hermit',\r\n 'heroics',\r\n 'heroism',\r\n 'herring',\r\n 'herself',\r\n 'hertz',\r\n 'hesitancy',\r\n 'hesitant',\r\n 'hesitate',\r\n 'hexagon',\r\n 'hexagram',\r\n 'hubcap',\r\n 'huddle',\r\n 'huddling',\r\n 'huff',\r\n 'hug',\r\n 'hula',\r\n 'hulk',\r\n 'hull',\r\n 'human',\r\n 'humble',\r\n 'humbling',\r\n 'humbly',\r\n 'humid',\r\n 'humiliate',\r\n 'humility',\r\n 'humming',\r\n 'hummus',\r\n 'humongous',\r\n 'humorist',\r\n 'humorless',\r\n 'humorous',\r\n 'humpback',\r\n 'humped',\r\n 'humvee',\r\n 'hunchback',\r\n 'hundredth',\r\n 'hunger',\r\n 'hungrily',\r\n 'hungry',\r\n 'hunk',\r\n 'hunter',\r\n 'hunting',\r\n 'huntress',\r\n 'huntsman',\r\n 'hurdle',\r\n 'hurled',\r\n 'hurler',\r\n 'hurling',\r\n 'hurray',\r\n 'hurricane',\r\n 'hurried',\r\n 'hurry',\r\n 'hurt',\r\n 'husband',\r\n 'hush',\r\n 'husked',\r\n 'huskiness',\r\n 'hut',\r\n 'hybrid',\r\n 'hydrant',\r\n 'hydrated',\r\n 'hydration',\r\n 'hydrogen',\r\n 'hydroxide',\r\n 'hyperlink',\r\n 'hypertext',\r\n 'hyphen',\r\n 'hypnoses',\r\n 'hypnosis',\r\n 'hypnotic',\r\n 'hypnotism',\r\n 'hypnotist',\r\n 'hypnotize',\r\n 'hypocrisy',\r\n 'hypocrite',\r\n 'ibuprofen',\r\n 'ice',\r\n 'iciness',\r\n 'icing',\r\n 'icky',\r\n 'icon',\r\n 'icy',\r\n 'idealism',\r\n 'idealist',\r\n 'idealize',\r\n 'ideally',\r\n 'idealness',\r\n 'identical',\r\n 'identify',\r\n 'identity',\r\n 'ideology',\r\n 'idiocy',\r\n 'idiom',\r\n 'idly',\r\n 'igloo',\r\n 'ignition',\r\n 'ignore',\r\n 'iguana',\r\n 'illicitly',\r\n 'illusion',\r\n 'illusive',\r\n 'image',\r\n 'imaginary',\r\n 'imagines',\r\n 'imaging',\r\n 'imbecile',\r\n 'imitate',\r\n 'imitation',\r\n 'immature',\r\n 'immerse',\r\n 'immersion',\r\n 'imminent',\r\n 'immobile',\r\n 'immodest',\r\n 'immorally',\r\n 'immortal',\r\n 'immovable',\r\n 'immovably',\r\n 'immunity',\r\n 'immunize',\r\n 'impaired',\r\n 'impale',\r\n 'impart',\r\n 'impatient',\r\n 'impeach',\r\n 'impeding',\r\n 'impending',\r\n 'imperfect',\r\n 'imperial',\r\n 'impish',\r\n 'implant',\r\n 'implement',\r\n 'implicate',\r\n 'implicit',\r\n 'implode',\r\n 'implosion',\r\n 'implosive',\r\n 'imply',\r\n 'impolite',\r\n 'important',\r\n 'importer',\r\n 'impose',\r\n 'imposing',\r\n 'impotence',\r\n 'impotency',\r\n 'impotent',\r\n 'impound',\r\n 'imprecise',\r\n 'imprint',\r\n 'imprison',\r\n 'impromptu',\r\n 'improper',\r\n 'improve',\r\n 'improving',\r\n 'improvise',\r\n 'imprudent',\r\n 'impulse',\r\n 'impulsive',\r\n 'impure',\r\n 'impurity',\r\n 'iodine',\r\n 'iodize',\r\n 'ion',\r\n 'ipad',\r\n 'iphone',\r\n 'ipod',\r\n 'irate',\r\n 'irk',\r\n 'iron',\r\n 'irregular',\r\n 'irrigate',\r\n 'irritable',\r\n 'irritably',\r\n 'irritant',\r\n 'irritate',\r\n 'islamic',\r\n 'islamist',\r\n 'isolated',\r\n 'isolating',\r\n 'isolation',\r\n 'isotope',\r\n 'issue',\r\n 'issuing',\r\n 'italicize',\r\n 'italics',\r\n 'item',\r\n 'itinerary',\r\n 'itunes',\r\n 'ivory',\r\n 'ivy',\r\n 'jab',\r\n 'jackal',\r\n 'jacket',\r\n 'jackknife',\r\n 'jackpot',\r\n 'jailbird',\r\n 'jailbreak',\r\n 'jailer',\r\n 'jailhouse',\r\n 'jalapeno',\r\n 'jam',\r\n 'janitor',\r\n 'january',\r\n 'jargon',\r\n 'jarring',\r\n 'jasmine',\r\n 'jaundice',\r\n 'jaunt',\r\n 'java',\r\n 'jawed',\r\n 'jawless',\r\n 'jawline',\r\n 'jaws',\r\n 'jaybird',\r\n 'jaywalker',\r\n 'jazz',\r\n 'jeep',\r\n 'jeeringly',\r\n 'jellied',\r\n 'jelly',\r\n 'jersey',\r\n 'jester',\r\n 'jet',\r\n 'jiffy',\r\n 'jigsaw',\r\n 'jimmy',\r\n 'jingle',\r\n 'jingling',\r\n 'jinx',\r\n 'jitters',\r\n 'jittery',\r\n 'job',\r\n 'jockey',\r\n 'jockstrap',\r\n 'jogger',\r\n 'jogging',\r\n 'john',\r\n 'joining',\r\n 'jokester',\r\n 'jokingly',\r\n 'jolliness',\r\n 'jolly',\r\n 'jolt',\r\n 'jot',\r\n 'jovial',\r\n 'joyfully',\r\n 'joylessly',\r\n 'joyous',\r\n 'joyride',\r\n 'joystick',\r\n 'jubilance',\r\n 'jubilant',\r\n 'judge',\r\n 'judgingly',\r\n 'judicial',\r\n 'judiciary',\r\n 'judo',\r\n 'juggle',\r\n 'juggling',\r\n 'jugular',\r\n 'juice',\r\n 'juiciness',\r\n 'juicy',\r\n 'jujitsu',\r\n 'jukebox',\r\n 'july',\r\n 'jumble',\r\n 'jumbo',\r\n 'jump',\r\n 'junction',\r\n 'juncture',\r\n 'june',\r\n 'junior',\r\n 'juniper',\r\n 'junkie',\r\n 'junkman',\r\n 'junkyard',\r\n 'jurist',\r\n 'juror',\r\n 'jury',\r\n 'justice',\r\n 'justifier',\r\n 'justify',\r\n 'justly',\r\n 'justness',\r\n 'juvenile',\r\n 'kabob',\r\n 'kangaroo',\r\n 'karaoke',\r\n 'karate',\r\n 'karma',\r\n 'kebab',\r\n 'keenly',\r\n 'keenness',\r\n 'keep',\r\n 'keg',\r\n 'kelp',\r\n 'kennel',\r\n 'kept',\r\n 'kerchief',\r\n 'kerosene',\r\n 'kettle',\r\n 'kick',\r\n 'kiln',\r\n 'kilobyte',\r\n 'kilogram',\r\n 'kilometer',\r\n 'kilowatt',\r\n 'kilt',\r\n 'kimono',\r\n 'kindle',\r\n 'kindling',\r\n 'kindly',\r\n 'kindness',\r\n 'kindred',\r\n 'kinetic',\r\n 'kinfolk',\r\n 'king',\r\n 'kinship',\r\n 'kinsman',\r\n 'kinswoman',\r\n 'kissable',\r\n 'kisser',\r\n 'kissing',\r\n 'kitchen',\r\n 'kite',\r\n 'kitten',\r\n 'kitty',\r\n 'kiwi',\r\n 'kleenex',\r\n 'knapsack',\r\n 'knee',\r\n 'knelt',\r\n 'knickers',\r\n 'knoll',\r\n 'koala',\r\n 'kooky',\r\n 'kosher',\r\n 'krypton',\r\n 'kudos',\r\n 'kung',\r\n 'labored',\r\n 'laborer',\r\n 'laboring',\r\n 'laborious',\r\n 'labrador',\r\n 'ladder',\r\n 'ladies',\r\n 'ladle',\r\n 'ladybug',\r\n 'ladylike',\r\n 'lagged',\r\n 'lagging',\r\n 'lagoon',\r\n 'lair',\r\n 'lake',\r\n 'lance',\r\n 'landed',\r\n 'landfall',\r\n 'landfill',\r\n 'landing',\r\n 'landlady',\r\n 'landless',\r\n 'landline',\r\n 'landlord',\r\n 'landmark',\r\n 'landmass',\r\n 'landmine',\r\n 'landowner',\r\n 'landscape',\r\n 'landside',\r\n 'landslide',\r\n 'language',\r\n 'lankiness',\r\n 'lanky',\r\n 'lantern',\r\n 'lapdog',\r\n 'lapel',\r\n 'lapped',\r\n 'lapping',\r\n 'laptop',\r\n 'lard',\r\n 'large',\r\n 'lark',\r\n 'lash',\r\n 'lasso',\r\n 'last',\r\n 'latch',\r\n 'late',\r\n 'lather',\r\n 'latitude',\r\n 'latrine',\r\n 'latter',\r\n 'latticed',\r\n 'launch',\r\n 'launder',\r\n 'laundry',\r\n 'laurel',\r\n 'lavender',\r\n 'lavish',\r\n 'laxative',\r\n 'lazily',\r\n 'laziness',\r\n 'lazy',\r\n 'lecturer',\r\n 'left',\r\n 'legacy',\r\n 'legal',\r\n 'legend',\r\n 'legged',\r\n 'leggings',\r\n 'legible',\r\n 'legibly',\r\n 'legislate',\r\n 'lego',\r\n 'legroom',\r\n 'legume',\r\n 'legwarmer',\r\n 'legwork',\r\n 'lemon',\r\n 'lend',\r\n 'length',\r\n 'lens',\r\n 'lent',\r\n 'leotard',\r\n 'lesser',\r\n 'letdown',\r\n 'lethargic',\r\n 'lethargy',\r\n 'letter',\r\n 'lettuce',\r\n 'level',\r\n 'leverage',\r\n 'levers',\r\n 'levitate',\r\n 'levitator',\r\n 'liability',\r\n 'liable',\r\n 'liberty',\r\n 'librarian',\r\n 'library',\r\n 'licking',\r\n 'licorice',\r\n 'lid',\r\n 'life',\r\n 'lifter',\r\n 'lifting',\r\n 'liftoff',\r\n 'ligament',\r\n 'likely',\r\n 'likeness',\r\n 'likewise',\r\n 'liking',\r\n 'lilac',\r\n 'lilly',\r\n 'lily',\r\n 'limb',\r\n 'limeade',\r\n 'limelight',\r\n 'limes',\r\n 'limit',\r\n 'limping',\r\n 'limpness',\r\n 'line',\r\n 'lingo',\r\n 'linguini',\r\n 'linguist',\r\n 'lining',\r\n 'linked',\r\n 'linoleum',\r\n 'linseed',\r\n 'lint',\r\n 'lion',\r\n 'lip',\r\n 'liquefy',\r\n 'liqueur',\r\n 'liquid',\r\n 'lisp',\r\n 'list',\r\n 'litigate',\r\n 'litigator',\r\n 'litmus',\r\n 'litter',\r\n 'little',\r\n 'livable',\r\n 'lived',\r\n 'lively',\r\n 'liver',\r\n 'livestock',\r\n 'lividly',\r\n 'living',\r\n 'lizard',\r\n 'lubricant',\r\n 'lubricate',\r\n 'lucid',\r\n 'luckily',\r\n 'luckiness',\r\n 'luckless',\r\n 'lucrative',\r\n 'ludicrous',\r\n 'lugged',\r\n 'lukewarm',\r\n 'lullaby',\r\n 'lumber',\r\n 'luminance',\r\n 'luminous',\r\n 'lumpiness',\r\n 'lumping',\r\n 'lumpish',\r\n 'lunacy',\r\n 'lunar',\r\n 'lunchbox',\r\n 'luncheon',\r\n 'lunchroom',\r\n 'lunchtime',\r\n 'lung',\r\n 'lurch',\r\n 'lure',\r\n 'luridness',\r\n 'lurk',\r\n 'lushly',\r\n 'lushness',\r\n 'luster',\r\n 'lustfully',\r\n 'lustily',\r\n 'lustiness',\r\n 'lustrous',\r\n 'lusty',\r\n 'luxurious',\r\n 'luxury',\r\n 'lying',\r\n 'lyrically',\r\n 'lyricism',\r\n 'lyricist',\r\n 'lyrics',\r\n 'macarena',\r\n 'macaroni',\r\n 'macaw',\r\n 'mace',\r\n 'machine',\r\n 'machinist',\r\n 'magazine',\r\n 'magenta',\r\n 'maggot',\r\n 'magical',\r\n 'magician',\r\n 'magma',\r\n 'magnesium',\r\n 'magnetic',\r\n 'magnetism',\r\n 'magnetize',\r\n 'magnifier',\r\n 'magnify',\r\n 'magnitude',\r\n 'magnolia',\r\n 'mahogany',\r\n 'maimed',\r\n 'majestic',\r\n 'majesty',\r\n 'majorette',\r\n 'majority',\r\n 'makeover',\r\n 'maker',\r\n 'makeshift',\r\n 'making',\r\n 'malformed',\r\n 'malt',\r\n 'mama',\r\n 'mammal',\r\n 'mammary',\r\n 'mammogram',\r\n 'manager',\r\n 'managing',\r\n 'manatee',\r\n 'mandarin',\r\n 'mandate',\r\n 'mandatory',\r\n 'mandolin',\r\n 'manger',\r\n 'mangle',\r\n 'mango',\r\n 'mangy',\r\n 'manhandle',\r\n 'manhole',\r\n 'manhood',\r\n 'manhunt',\r\n 'manicotti',\r\n 'manicure',\r\n 'manifesto',\r\n 'manila',\r\n 'mankind',\r\n 'manlike',\r\n 'manliness',\r\n 'manly',\r\n 'manmade',\r\n 'manned',\r\n 'mannish',\r\n 'manor',\r\n 'manpower',\r\n 'mantis',\r\n 'mantra',\r\n 'manual',\r\n 'many',\r\n 'map',\r\n 'marathon',\r\n 'marauding',\r\n 'marbled',\r\n 'marbles',\r\n 'marbling',\r\n 'march',\r\n 'mardi',\r\n 'margarine',\r\n 'margarita',\r\n 'margin',\r\n 'marigold',\r\n 'marina',\r\n 'marine',\r\n 'marital',\r\n 'maritime',\r\n 'marlin',\r\n 'marmalade',\r\n 'maroon',\r\n 'married',\r\n 'marrow',\r\n 'marry',\r\n 'marshland',\r\n 'marshy',\r\n 'marsupial',\r\n 'marvelous',\r\n 'marxism',\r\n 'mascot',\r\n 'masculine',\r\n 'mashed',\r\n 'mashing',\r\n 'massager',\r\n 'masses',\r\n 'massive',\r\n 'mastiff',\r\n 'matador',\r\n 'matchbook',\r\n 'matchbox',\r\n 'matcher',\r\n 'matching',\r\n 'matchless',\r\n 'material',\r\n 'maternal',\r\n 'maternity',\r\n 'math',\r\n 'mating',\r\n 'matriarch',\r\n 'matrimony',\r\n 'matrix',\r\n 'matron',\r\n 'matted',\r\n 'matter',\r\n 'maturely',\r\n 'maturing',\r\n 'maturity',\r\n 'mauve',\r\n 'maverick',\r\n 'maximize',\r\n 'maximum',\r\n 'maybe',\r\n 'mayday',\r\n 'mayflower',\r\n 'moaner',\r\n 'moaning',\r\n 'mobile',\r\n 'mobility',\r\n 'mobilize',\r\n 'mobster',\r\n 'mocha',\r\n 'mocker',\r\n 'mockup',\r\n 'modified',\r\n 'modify',\r\n 'modular',\r\n 'modulator',\r\n 'module',\r\n 'moisten',\r\n 'moistness',\r\n 'moisture',\r\n 'molar',\r\n 'molasses',\r\n 'mold',\r\n 'molecular',\r\n 'molecule',\r\n 'molehill',\r\n 'mollusk',\r\n 'mom',\r\n 'monastery',\r\n 'monday',\r\n 'monetary',\r\n 'monetize',\r\n 'moneybags',\r\n 'moneyless',\r\n 'moneywise',\r\n 'mongoose',\r\n 'mongrel',\r\n 'monitor',\r\n 'monkhood',\r\n 'monogamy',\r\n 'monogram',\r\n 'monologue',\r\n 'monopoly',\r\n 'monorail',\r\n 'monotone',\r\n 'monotype',\r\n 'monoxide',\r\n 'monsieur',\r\n 'monsoon',\r\n 'monstrous',\r\n 'monthly',\r\n 'monument',\r\n 'moocher',\r\n 'moodiness',\r\n 'moody',\r\n 'mooing',\r\n 'moonbeam',\r\n 'mooned',\r\n 'moonlight',\r\n 'moonlike',\r\n 'moonlit',\r\n 'moonrise',\r\n 'moonscape',\r\n 'moonshine',\r\n 'moonstone',\r\n 'moonwalk',\r\n 'mop',\r\n 'morale',\r\n 'morality',\r\n 'morally',\r\n 'morbidity',\r\n 'morbidly',\r\n 'morphine',\r\n 'morphing',\r\n 'morse',\r\n 'mortality',\r\n 'mortally',\r\n 'mortician',\r\n 'mortified',\r\n 'mortify',\r\n 'mortuary',\r\n 'mosaic',\r\n 'mossy',\r\n 'most',\r\n 'mothball',\r\n 'mothproof',\r\n 'motion',\r\n 'motivate',\r\n 'motivator',\r\n 'motive',\r\n 'motocross',\r\n 'motor',\r\n 'motto',\r\n 'mountable',\r\n 'mountain',\r\n 'mounted',\r\n 'mounting',\r\n 'mourner',\r\n 'mournful',\r\n 'mouse',\r\n 'mousiness',\r\n 'moustache',\r\n 'mousy',\r\n 'mouth',\r\n 'movable',\r\n 'move',\r\n 'movie',\r\n 'moving',\r\n 'mower',\r\n 'mowing',\r\n 'much',\r\n 'muck',\r\n 'mud',\r\n 'mug',\r\n 'mulberry',\r\n 'mulch',\r\n 'mule',\r\n 'mulled',\r\n 'mullets',\r\n 'multiple',\r\n 'multiply',\r\n 'multitask',\r\n 'multitude',\r\n 'mumble',\r\n 'mumbling',\r\n 'mumbo',\r\n 'mummified',\r\n 'mummify',\r\n 'mummy',\r\n 'mumps',\r\n 'munchkin',\r\n 'mundane',\r\n 'municipal',\r\n 'muppet',\r\n 'mural',\r\n 'murkiness',\r\n 'murky',\r\n 'murmuring',\r\n 'muscular',\r\n 'museum',\r\n 'mushily',\r\n 'mushiness',\r\n 'mushroom',\r\n 'mushy',\r\n 'music',\r\n 'musket',\r\n 'muskiness',\r\n 'musky',\r\n 'mustang',\r\n 'mustard',\r\n 'muster',\r\n 'mustiness',\r\n 'musty',\r\n 'mutable',\r\n 'mutate',\r\n 'mutation',\r\n 'mute',\r\n 'mutilated',\r\n 'mutilator',\r\n 'mutiny',\r\n 'mutt',\r\n 'mutual',\r\n 'muzzle',\r\n 'myself',\r\n 'myspace',\r\n 'mystified',\r\n 'mystify',\r\n 'myth',\r\n 'nacho',\r\n 'nag',\r\n 'nail',\r\n 'name',\r\n 'naming',\r\n 'nanny',\r\n 'nanometer',\r\n 'nape',\r\n 'napkin',\r\n 'napped',\r\n 'napping',\r\n 'nappy',\r\n 'narrow',\r\n 'nastily',\r\n 'nastiness',\r\n 'national',\r\n 'native',\r\n 'nativity',\r\n 'natural',\r\n 'nature',\r\n 'naturist',\r\n 'nautical',\r\n 'navigate',\r\n 'navigator',\r\n 'navy',\r\n 'nearby',\r\n 'nearest',\r\n 'nearly',\r\n 'nearness',\r\n 'neatly',\r\n 'neatness',\r\n 'nebula',\r\n 'nebulizer',\r\n 'nectar',\r\n 'negate',\r\n 'negation',\r\n 'negative',\r\n 'neglector',\r\n 'negligee',\r\n 'negligent',\r\n 'negotiate',\r\n 'nemeses',\r\n 'nemesis',\r\n 'neon',\r\n 'nephew',\r\n 'nerd',\r\n 'nervous',\r\n 'nervy',\r\n 'nest',\r\n 'net',\r\n 'neurology',\r\n 'neuron',\r\n 'neurosis',\r\n 'neurotic',\r\n 'neuter',\r\n 'neutron',\r\n 'never',\r\n 'next',\r\n 'nibble',\r\n 'nickname',\r\n 'nicotine',\r\n 'niece',\r\n 'nifty',\r\n 'nimble',\r\n 'nimbly',\r\n 'nineteen',\r\n 'ninetieth',\r\n 'ninja',\r\n 'nintendo',\r\n 'ninth',\r\n 'nuclear',\r\n 'nuclei',\r\n 'nucleus',\r\n 'nugget',\r\n 'nullify',\r\n 'number',\r\n 'numbing',\r\n 'numbly',\r\n 'numbness',\r\n 'numeral',\r\n 'numerate',\r\n 'numerator',\r\n 'numeric',\r\n 'numerous',\r\n 'nuptials',\r\n 'nursery',\r\n 'nursing',\r\n 'nurture',\r\n 'nutcase',\r\n 'nutlike',\r\n 'nutmeg',\r\n 'nutrient',\r\n 'nutshell',\r\n 'nuttiness',\r\n 'nutty',\r\n 'nuzzle',\r\n 'nylon',\r\n 'oaf',\r\n 'oak',\r\n 'oasis',\r\n 'oat',\r\n 'obedience',\r\n 'obedient',\r\n 'obituary',\r\n 'object',\r\n 'obligate',\r\n 'obliged',\r\n 'oblivion',\r\n 'oblivious',\r\n 'oblong',\r\n 'obnoxious',\r\n 'oboe',\r\n 'obscure',\r\n 'obscurity',\r\n 'observant',\r\n 'observer',\r\n 'observing',\r\n 'obsessed',\r\n 'obsession',\r\n 'obsessive',\r\n 'obsolete',\r\n 'obstacle',\r\n 'obstinate',\r\n 'obstruct',\r\n 'obtain',\r\n 'obtrusive',\r\n 'obtuse',\r\n 'obvious',\r\n 'occultist',\r\n 'occupancy',\r\n 'occupant',\r\n 'occupier',\r\n 'occupy',\r\n 'ocean',\r\n 'ocelot',\r\n 'octagon',\r\n 'octane',\r\n 'october',\r\n 'octopus',\r\n 'ogle',\r\n 'oil',\r\n 'oink',\r\n 'ointment',\r\n 'okay',\r\n 'old',\r\n 'olive',\r\n 'olympics',\r\n 'omega',\r\n 'omen',\r\n 'ominous',\r\n 'omission',\r\n 'omit',\r\n 'omnivore',\r\n 'onboard',\r\n 'oncoming',\r\n 'ongoing',\r\n 'onion',\r\n 'online',\r\n 'onlooker',\r\n 'only',\r\n 'onscreen',\r\n 'onset',\r\n 'onshore',\r\n 'onslaught',\r\n 'onstage',\r\n 'onto',\r\n 'onward',\r\n 'onyx',\r\n 'oops',\r\n 'ooze',\r\n 'oozy',\r\n 'opacity',\r\n 'opal',\r\n 'open',\r\n 'operable',\r\n 'operate',\r\n 'operating',\r\n 'operation',\r\n 'operative',\r\n 'operator',\r\n 'opium',\r\n 'opossum',\r\n 'opponent',\r\n 'oppose',\r\n 'opposing',\r\n 'opposite',\r\n 'oppressed',\r\n 'oppressor',\r\n 'opt',\r\n 'opulently',\r\n 'osmosis',\r\n 'other',\r\n 'otter',\r\n 'ouch',\r\n 'ought',\r\n 'ounce',\r\n 'outage',\r\n 'outback',\r\n 'outbid',\r\n 'outboard',\r\n 'outbound',\r\n 'outbreak',\r\n 'outburst',\r\n 'outcast',\r\n 'outclass',\r\n 'outcome',\r\n 'outdated',\r\n 'outdoors',\r\n 'outer',\r\n 'outfield',\r\n 'outfit',\r\n 'outflank',\r\n 'outgoing',\r\n 'outgrow',\r\n 'outhouse',\r\n 'outing',\r\n 'outlast',\r\n 'outlet',\r\n 'outline',\r\n 'outlook',\r\n 'outlying',\r\n 'outmatch',\r\n 'outmost',\r\n 'outnumber',\r\n 'outplayed',\r\n 'outpost',\r\n 'outpour',\r\n 'output',\r\n 'outrage',\r\n 'outrank',\r\n 'outreach',\r\n 'outright',\r\n 'outscore',\r\n 'outsell',\r\n 'outshine',\r\n 'outshoot',\r\n 'outsider',\r\n 'outskirts',\r\n 'outsmart',\r\n 'outsource',\r\n 'outspoken',\r\n 'outtakes',\r\n 'outthink',\r\n 'outward',\r\n 'outweigh',\r\n 'outwit',\r\n 'oval',\r\n 'ovary',\r\n 'oven',\r\n 'overact',\r\n 'overall',\r\n 'overarch',\r\n 'overbid',\r\n 'overbill',\r\n 'overbite',\r\n 'overblown',\r\n 'overboard',\r\n 'overbook',\r\n 'overbuilt',\r\n 'overcast',\r\n 'overcoat',\r\n 'overcome',\r\n 'overcook',\r\n 'overcrowd',\r\n 'overdraft',\r\n 'overdrawn',\r\n 'overdress',\r\n 'overdrive',\r\n 'overdue',\r\n 'overeager',\r\n 'overeater',\r\n 'overexert',\r\n 'overfed',\r\n 'overfeed',\r\n 'overfill',\r\n 'overflow',\r\n 'overfull',\r\n 'overgrown',\r\n 'overhand',\r\n 'overhang',\r\n 'overhaul',\r\n 'overhead',\r\n 'overhear',\r\n 'overheat',\r\n 'overhung',\r\n 'overjoyed',\r\n 'overkill',\r\n 'overlabor',\r\n 'overlaid',\r\n 'overlap',\r\n 'overlay',\r\n 'overload',\r\n 'overlook',\r\n 'overlord',\r\n 'overlying',\r\n 'overnight',\r\n 'overpass',\r\n 'overpay',\r\n 'overplant',\r\n 'overplay',\r\n 'overpower',\r\n 'overprice',\r\n 'overrate',\r\n 'overreach',\r\n 'overreact',\r\n 'override',\r\n 'overripe',\r\n 'overrule',\r\n 'overrun',\r\n 'overshoot',\r\n 'overshot',\r\n 'oversight',\r\n 'oversized',\r\n 'oversleep',\r\n 'oversold',\r\n 'overspend',\r\n 'overstate',\r\n 'overstay',\r\n 'overstep',\r\n 'overstock',\r\n 'overstuff',\r\n 'oversweet',\r\n 'overtake',\r\n 'overthrow',\r\n 'overtime',\r\n 'overtly',\r\n 'overtone',\r\n 'overture',\r\n 'overturn',\r\n 'overuse',\r\n 'overvalue',\r\n 'overview',\r\n 'overwrite',\r\n 'owl',\r\n 'oxford',\r\n 'oxidant',\r\n 'oxidation',\r\n 'oxidize',\r\n 'oxidizing',\r\n 'oxygen',\r\n 'oxymoron',\r\n 'oyster',\r\n 'ozone',\r\n 'paced',\r\n 'pacemaker',\r\n 'pacific',\r\n 'pacifier',\r\n 'pacifism',\r\n 'pacifist',\r\n 'pacify',\r\n 'padded',\r\n 'padding',\r\n 'paddle',\r\n 'paddling',\r\n 'padlock',\r\n 'pagan',\r\n 'pager',\r\n 'paging',\r\n 'pajamas',\r\n 'palace',\r\n 'palatable',\r\n 'palm',\r\n 'palpable',\r\n 'palpitate',\r\n 'paltry',\r\n 'pampered',\r\n 'pamperer',\r\n 'pampers',\r\n 'pamphlet',\r\n 'panama',\r\n 'pancake',\r\n 'pancreas',\r\n 'panda',\r\n 'pandemic',\r\n 'pang',\r\n 'panhandle',\r\n 'panic',\r\n 'panning',\r\n 'panorama',\r\n 'panoramic',\r\n 'panther',\r\n 'pantomime',\r\n 'pantry',\r\n 'pants',\r\n 'pantyhose',\r\n 'paparazzi',\r\n 'papaya',\r\n 'paper',\r\n 'paprika',\r\n 'papyrus',\r\n 'parabola',\r\n 'parachute',\r\n 'parade',\r\n 'paradox',\r\n 'paragraph',\r\n 'parakeet',\r\n 'paralegal',\r\n 'paralyses',\r\n 'paralysis',\r\n 'paralyze',\r\n 'paramedic',\r\n 'parameter',\r\n 'paramount',\r\n 'parasail',\r\n 'parasite',\r\n 'parasitic',\r\n 'parcel',\r\n 'parched',\r\n 'parchment',\r\n 'pardon',\r\n 'parish',\r\n 'parka',\r\n 'parking',\r\n 'parkway',\r\n 'parlor',\r\n 'parmesan',\r\n 'parole',\r\n 'parrot',\r\n 'parsley',\r\n 'parsnip',\r\n 'partake',\r\n 'parted',\r\n 'parting',\r\n 'partition',\r\n 'partly',\r\n 'partner',\r\n 'partridge',\r\n 'party',\r\n 'passable',\r\n 'passably',\r\n 'passage',\r\n 'passcode',\r\n 'passenger',\r\n 'passerby',\r\n 'passing',\r\n 'passion',\r\n 'passive',\r\n 'passivism',\r\n 'passover',\r\n 'passport',\r\n 'password',\r\n 'pasta',\r\n 'pasted',\r\n 'pastel',\r\n 'pastime',\r\n 'pastor',\r\n 'pastrami',\r\n 'pasture',\r\n 'pasty',\r\n 'patchwork',\r\n 'patchy',\r\n 'paternal',\r\n 'paternity',\r\n 'path',\r\n 'patience',\r\n 'patient',\r\n 'patio',\r\n 'patriarch',\r\n 'patriot',\r\n 'patrol',\r\n 'patronage',\r\n 'patronize',\r\n 'pauper',\r\n 'pavement',\r\n 'paver',\r\n 'pavestone',\r\n 'pavilion',\r\n 'paving',\r\n 'pawing',\r\n 'payable',\r\n 'payback',\r\n 'paycheck',\r\n 'payday',\r\n 'payee',\r\n 'payer',\r\n 'paying',\r\n 'payment',\r\n 'payphone',\r\n 'payroll',\r\n 'pebble',\r\n 'pebbly',\r\n 'pecan',\r\n 'pectin',\r\n 'peculiar',\r\n 'peddling',\r\n 'pediatric',\r\n 'pedicure',\r\n 'pedigree',\r\n 'pedometer',\r\n 'pegboard',\r\n 'pelican',\r\n 'pellet',\r\n 'pelt',\r\n 'pelvis',\r\n 'penalize',\r\n 'penalty',\r\n 'pencil',\r\n 'pendant',\r\n 'pending',\r\n 'penholder',\r\n 'penknife',\r\n 'pennant',\r\n 'penniless',\r\n 'penny',\r\n 'penpal',\r\n 'pension',\r\n 'pentagon',\r\n 'pentagram',\r\n 'pep',\r\n 'perceive',\r\n 'percent',\r\n 'perch',\r\n 'percolate',\r\n 'perennial',\r\n 'perfected',\r\n 'perfectly',\r\n 'perfume',\r\n 'periscope',\r\n 'perish',\r\n 'perjurer',\r\n 'perjury',\r\n 'perkiness',\r\n 'perky',\r\n 'perm',\r\n 'peroxide',\r\n 'perpetual',\r\n 'perplexed',\r\n 'persecute',\r\n 'persevere',\r\n 'persuaded',\r\n 'persuader',\r\n 'pesky',\r\n 'peso',\r\n 'pessimism',\r\n 'pessimist',\r\n 'pester',\r\n 'pesticide',\r\n 'petal',\r\n 'petite',\r\n 'petition',\r\n 'petri',\r\n 'petroleum',\r\n 'petted',\r\n 'petticoat',\r\n 'pettiness',\r\n 'petty',\r\n 'petunia',\r\n 'phantom',\r\n 'phobia',\r\n 'phoenix',\r\n 'phonebook',\r\n 'phoney',\r\n 'phonics',\r\n 'phoniness',\r\n 'phony',\r\n 'phosphate',\r\n 'photo',\r\n 'phrase',\r\n 'phrasing',\r\n 'placard',\r\n 'placate',\r\n 'placidly',\r\n 'plank',\r\n 'planner',\r\n 'plant',\r\n 'plasma',\r\n 'plaster',\r\n 'plastic',\r\n 'plated',\r\n 'platform',\r\n 'plating',\r\n 'platinum',\r\n 'platonic',\r\n 'platter',\r\n 'platypus',\r\n 'plausible',\r\n 'plausibly',\r\n 'playable',\r\n 'playback',\r\n 'player',\r\n 'playful',\r\n 'playgroup',\r\n 'playhouse',\r\n 'playing',\r\n 'playlist',\r\n 'playmaker',\r\n 'playmate',\r\n 'playoff',\r\n 'playpen',\r\n 'playroom',\r\n 'playset',\r\n 'plaything',\r\n 'playtime',\r\n 'plaza',\r\n 'pleading',\r\n 'pleat',\r\n 'pledge',\r\n 'plentiful',\r\n 'plenty',\r\n 'plethora',\r\n 'plexiglas',\r\n 'pliable',\r\n 'plod',\r\n 'plop',\r\n 'plot',\r\n 'plow',\r\n 'ploy',\r\n 'pluck',\r\n 'plug',\r\n 'plunder',\r\n 'plunging',\r\n 'plural',\r\n 'plus',\r\n 'plutonium',\r\n 'plywood',\r\n 'poach',\r\n 'pod',\r\n 'poem',\r\n 'poet',\r\n 'pogo',\r\n 'pointed',\r\n 'pointer',\r\n 'pointing',\r\n 'pointless',\r\n 'pointy',\r\n 'poise',\r\n 'poison',\r\n 'poker',\r\n 'poking',\r\n 'polar',\r\n 'police',\r\n 'policy',\r\n 'polio',\r\n 'polish',\r\n 'politely',\r\n 'polka',\r\n 'polo',\r\n 'polyester',\r\n 'polygon',\r\n 'polygraph',\r\n 'polymer',\r\n 'poncho',\r\n 'pond',\r\n 'pony',\r\n 'popcorn',\r\n 'pope',\r\n 'poplar',\r\n 'popper',\r\n 'poppy',\r\n 'popsicle',\r\n 'populace',\r\n 'popular',\r\n 'populate',\r\n 'porcupine',\r\n 'pork',\r\n 'porous',\r\n 'porridge',\r\n 'portable',\r\n 'portal',\r\n 'portfolio',\r\n 'porthole',\r\n 'portion',\r\n 'portly',\r\n 'portside',\r\n 'poser',\r\n 'posh',\r\n 'posing',\r\n 'possible',\r\n 'possibly',\r\n 'possum',\r\n 'postage',\r\n 'postal',\r\n 'postbox',\r\n 'postcard',\r\n 'posted',\r\n 'poster',\r\n 'posting',\r\n 'postnasal',\r\n 'posture',\r\n 'postwar',\r\n 'pouch',\r\n 'pounce',\r\n 'pouncing',\r\n 'pound',\r\n 'pouring',\r\n 'pout',\r\n 'powdered',\r\n 'powdering',\r\n 'powdery',\r\n 'power',\r\n 'powwow',\r\n 'pox',\r\n 'praising',\r\n 'prance',\r\n 'prancing',\r\n 'pranker',\r\n 'prankish',\r\n 'prankster',\r\n 'prayer',\r\n 'praying',\r\n 'preacher',\r\n 'preaching',\r\n 'preachy',\r\n 'preamble',\r\n 'precinct',\r\n 'precise',\r\n 'precision',\r\n 'precook',\r\n 'precut',\r\n 'predator',\r\n 'predefine',\r\n 'predict',\r\n 'preface',\r\n 'prefix',\r\n 'preflight',\r\n 'preformed',\r\n 'pregame',\r\n 'pregnancy',\r\n 'pregnant',\r\n 'preheated',\r\n 'prelaunch',\r\n 'prelaw',\r\n 'prelude',\r\n 'premiere',\r\n 'premises',\r\n 'premium',\r\n 'prenatal',\r\n 'preoccupy',\r\n 'preorder',\r\n 'prepaid',\r\n 'prepay',\r\n 'preplan',\r\n 'preppy',\r\n 'preschool',\r\n 'prescribe',\r\n 'preseason',\r\n 'preset',\r\n 'preshow',\r\n 'president',\r\n 'presoak',\r\n 'press',\r\n 'presume',\r\n 'presuming',\r\n 'preteen',\r\n 'pretended',\r\n 'pretender',\r\n 'pretense',\r\n 'pretext',\r\n 'pretty',\r\n 'pretzel',\r\n 'prevail',\r\n 'prevalent',\r\n 'prevent',\r\n 'preview',\r\n 'previous',\r\n 'prewar',\r\n 'prewashed',\r\n 'prideful',\r\n 'pried',\r\n 'primal',\r\n 'primarily',\r\n 'primary',\r\n 'primate',\r\n 'primer',\r\n 'primp',\r\n 'princess',\r\n 'print',\r\n 'prior',\r\n 'prism',\r\n 'prison',\r\n 'prissy',\r\n 'pristine',\r\n 'privacy',\r\n 'private',\r\n 'privatize',\r\n 'prize',\r\n 'proactive',\r\n 'probable',\r\n 'probably',\r\n 'probation',\r\n 'probe',\r\n 'probing',\r\n 'probiotic',\r\n 'problem',\r\n 'procedure',\r\n 'process',\r\n 'proclaim',\r\n 'procreate',\r\n 'procurer',\r\n 'prodigal',\r\n 'prodigy',\r\n 'produce',\r\n 'product',\r\n 'profane',\r\n 'profanity',\r\n 'professed',\r\n 'professor',\r\n 'profile',\r\n 'profound',\r\n 'profusely',\r\n 'progeny',\r\n 'prognosis',\r\n 'program',\r\n 'progress',\r\n 'projector',\r\n 'prologue',\r\n 'prolonged',\r\n 'promenade',\r\n 'prominent',\r\n 'promoter',\r\n 'promotion',\r\n 'prompter',\r\n 'promptly',\r\n 'prone',\r\n 'prong',\r\n 'pronounce',\r\n 'pronto',\r\n 'proofing',\r\n 'proofread',\r\n 'proofs',\r\n 'propeller',\r\n 'properly',\r\n 'property',\r\n 'proponent',\r\n 'proposal',\r\n 'propose',\r\n 'props',\r\n 'prorate',\r\n 'protector',\r\n 'protegee',\r\n 'proton',\r\n 'prototype',\r\n 'protozoan',\r\n 'protract',\r\n 'protrude',\r\n 'proud',\r\n 'provable',\r\n 'proved',\r\n 'proven',\r\n 'provided',\r\n 'provider',\r\n 'providing',\r\n 'province',\r\n 'proving',\r\n 'provoke',\r\n 'provoking',\r\n 'provolone',\r\n 'prowess',\r\n 'prowler',\r\n 'prowling',\r\n 'proximity',\r\n 'proxy',\r\n 'prozac',\r\n 'prude',\r\n 'prudishly',\r\n 'prune',\r\n 'pruning',\r\n 'pry',\r\n 'psychic',\r\n 'public',\r\n 'publisher',\r\n 'pucker',\r\n 'pueblo',\r\n 'pug',\r\n 'pull',\r\n 'pulmonary',\r\n 'pulp',\r\n 'pulsate',\r\n 'pulse',\r\n 'pulverize',\r\n 'puma',\r\n 'pumice',\r\n 'pummel',\r\n 'punch',\r\n 'punctual',\r\n 'punctuate',\r\n 'punctured',\r\n 'pungent',\r\n 'punisher',\r\n 'punk',\r\n 'pupil',\r\n 'puppet',\r\n 'puppy',\r\n 'purchase',\r\n 'pureblood',\r\n 'purebred',\r\n 'purely',\r\n 'pureness',\r\n 'purgatory',\r\n 'purge',\r\n 'purging',\r\n 'purifier',\r\n 'purify',\r\n 'purist',\r\n 'puritan',\r\n 'purity',\r\n 'purple',\r\n 'purplish',\r\n 'purposely',\r\n 'purr',\r\n 'purse',\r\n 'pursuable',\r\n 'pursuant',\r\n 'pursuit',\r\n 'purveyor',\r\n 'pushcart',\r\n 'pushchair',\r\n 'pusher',\r\n 'pushiness',\r\n 'pushing',\r\n 'pushover',\r\n 'pushpin',\r\n 'pushup',\r\n 'pushy',\r\n 'putdown',\r\n 'putt',\r\n 'puzzle',\r\n 'puzzling',\r\n 'pyramid',\r\n 'pyromania',\r\n 'python',\r\n 'quack',\r\n 'quadrant',\r\n 'quail',\r\n 'quaintly',\r\n 'quake',\r\n 'quaking',\r\n 'qualified',\r\n 'qualifier',\r\n 'qualify',\r\n 'quality',\r\n 'qualm',\r\n 'quantum',\r\n 'quarrel',\r\n 'quarry',\r\n 'quartered',\r\n 'quarterly',\r\n 'quarters',\r\n 'quartet',\r\n 'quench',\r\n 'query',\r\n 'quicken',\r\n 'quickly',\r\n 'quickness',\r\n 'quicksand',\r\n 'quickstep',\r\n 'quiet',\r\n 'quill',\r\n 'quilt',\r\n 'quintet',\r\n 'quintuple',\r\n 'quirk',\r\n 'quit',\r\n 'quiver',\r\n 'quizzical',\r\n 'quotable',\r\n 'quotation',\r\n 'quote',\r\n 'rabid',\r\n 'race',\r\n 'racing',\r\n 'racism',\r\n 'rack',\r\n 'racoon',\r\n 'radar',\r\n 'radial',\r\n 'radiance',\r\n 'radiantly',\r\n 'radiated',\r\n 'radiation',\r\n 'radiator',\r\n 'radio',\r\n 'radish',\r\n 'raffle',\r\n 'raft',\r\n 'rage',\r\n 'ragged',\r\n 'raging',\r\n 'ragweed',\r\n 'raider',\r\n 'railcar',\r\n 'railing',\r\n 'railroad',\r\n 'railway',\r\n 'raisin',\r\n 'rake',\r\n 'raking',\r\n 'rally',\r\n 'ramble',\r\n 'rambling',\r\n 'ramp',\r\n 'ramrod',\r\n 'ranch',\r\n 'rancidity',\r\n 'random',\r\n 'ranged',\r\n 'ranger',\r\n 'ranging',\r\n 'ranked',\r\n 'ranking',\r\n 'ransack',\r\n 'ranting',\r\n 'rants',\r\n 'rare',\r\n 'rarity',\r\n 'rascal',\r\n 'rash',\r\n 'rasping',\r\n 'ravage',\r\n 'raven',\r\n 'ravine',\r\n 'raving',\r\n 'ravioli',\r\n 'ravishing',\r\n 'reabsorb',\r\n 'reach',\r\n 'reacquire',\r\n 'reaction',\r\n 'reactive',\r\n 'reactor',\r\n 'reaffirm',\r\n 'ream',\r\n 'reanalyze',\r\n 'reappear',\r\n 'reapply',\r\n 'reappoint',\r\n 'reapprove',\r\n 'rearrange',\r\n 'rearview',\r\n 'reason',\r\n 'reassign',\r\n 'reassure',\r\n 'reattach',\r\n 'reawake',\r\n 'rebalance',\r\n 'rebate',\r\n 'rebel',\r\n 'rebirth',\r\n 'reboot',\r\n 'reborn',\r\n 'rebound',\r\n 'rebuff',\r\n 'rebuild',\r\n 'rebuilt',\r\n 'reburial',\r\n 'rebuttal',\r\n 'recall',\r\n 'recant',\r\n 'recapture',\r\n 'recast',\r\n 'recede',\r\n 'recent',\r\n 'recess',\r\n 'recharger',\r\n 'recipient',\r\n 'recital',\r\n 'recite',\r\n 'reckless',\r\n 'reclaim',\r\n 'recliner',\r\n 'reclining',\r\n 'recluse',\r\n 'reclusive',\r\n 'recognize',\r\n 'recoil',\r\n 'recollect',\r\n 'recolor',\r\n 'reconcile',\r\n 'reconfirm',\r\n 'reconvene',\r\n 'recopy',\r\n 'record',\r\n 'recount',\r\n 'recoup',\r\n 'recovery',\r\n 'recreate',\r\n 'rectal',\r\n 'rectangle',\r\n 'rectified',\r\n 'rectify',\r\n 'recycled',\r\n 'recycler',\r\n 'recycling',\r\n 'reemerge',\r\n 'reenact',\r\n 'reenter',\r\n 'reentry',\r\n 'reexamine',\r\n 'referable',\r\n 'referee',\r\n 'reference',\r\n 'refill',\r\n 'refinance',\r\n 'refined',\r\n 'refinery',\r\n 'refining',\r\n 'refinish',\r\n 'reflected',\r\n 'reflector',\r\n 'reflex',\r\n 'reflux',\r\n 'refocus',\r\n 'refold',\r\n 'reforest',\r\n 'reformat',\r\n 'reformed',\r\n 'reformer',\r\n 'reformist',\r\n 'refract',\r\n 'refrain',\r\n 'refreeze',\r\n 'refresh',\r\n 'refried',\r\n 'refueling',\r\n 'refund',\r\n 'refurbish',\r\n 'refurnish',\r\n 'refusal',\r\n 'refuse',\r\n 'refusing',\r\n 'refutable',\r\n 'refute',\r\n 'regain',\r\n 'regalia',\r\n 'regally',\r\n 'reggae',\r\n 'regime',\r\n 'region',\r\n 'register',\r\n 'registrar',\r\n 'registry',\r\n 'regress',\r\n 'regretful',\r\n 'regroup',\r\n 'regular',\r\n 'regulate',\r\n 'regulator',\r\n 'rehab',\r\n 'reheat',\r\n 'rehire',\r\n 'rehydrate',\r\n 'reimburse',\r\n 'reissue',\r\n 'reiterate',\r\n 'rejoice',\r\n 'rejoicing',\r\n 'rejoin',\r\n 'rekindle',\r\n 'relapse',\r\n 'relapsing',\r\n 'relatable',\r\n 'related',\r\n 'relation',\r\n 'relative',\r\n 'relax',\r\n 'relay',\r\n 'relearn',\r\n 'release',\r\n 'relenting',\r\n 'reliable',\r\n 'reliably',\r\n 'reliance',\r\n 'reliant',\r\n 'relic',\r\n 'relieve',\r\n 'relieving',\r\n 'relight',\r\n 'relish',\r\n 'relive',\r\n 'reload',\r\n 'relocate',\r\n 'relock',\r\n 'reluctant',\r\n 'rely',\r\n 'remake',\r\n 'remark',\r\n 'remarry',\r\n 'rematch',\r\n 'remedial',\r\n 'remedy',\r\n 'remember',\r\n 'reminder',\r\n 'remindful',\r\n 'remission',\r\n 'remix',\r\n 'remnant',\r\n 'remodeler',\r\n 'remold',\r\n 'remorse',\r\n 'remote',\r\n 'removable',\r\n 'removal',\r\n 'removed',\r\n 'remover',\r\n 'removing',\r\n 'rename',\r\n 'renderer',\r\n 'rendering',\r\n 'rendition',\r\n 'renegade',\r\n 'renewable',\r\n 'renewably',\r\n 'renewal',\r\n 'renewed',\r\n 'renounce',\r\n 'renovate',\r\n 'renovator',\r\n 'rentable',\r\n 'rental',\r\n 'rented',\r\n 'renter',\r\n 'reoccupy',\r\n 'reoccur',\r\n 'reopen',\r\n 'reorder',\r\n 'repackage',\r\n 'repacking',\r\n 'repaint',\r\n 'repair',\r\n 'repave',\r\n 'repaying',\r\n 'repayment',\r\n 'repeal',\r\n 'repeated',\r\n 'repeater',\r\n 'repent',\r\n 'rephrase',\r\n 'replace',\r\n 'replay',\r\n 'replica',\r\n 'reply',\r\n 'reporter',\r\n 'repose',\r\n 'repossess',\r\n 'repost',\r\n 'repressed',\r\n 'reprimand',\r\n 'reprint',\r\n 'reprise',\r\n 'reproach',\r\n 'reprocess',\r\n 'reproduce',\r\n 'reprogram',\r\n 'reps',\r\n 'reptile',\r\n 'reptilian',\r\n 'repugnant',\r\n 'repulsion',\r\n 'repulsive',\r\n 'repurpose',\r\n 'reputable',\r\n 'reputably',\r\n 'request',\r\n 'require',\r\n 'requisite',\r\n 'reroute',\r\n 'rerun',\r\n 'resale',\r\n 'resample',\r\n 'rescuer',\r\n 'reseal',\r\n 'research',\r\n 'reselect',\r\n 'reseller',\r\n 'resemble',\r\n 'resend',\r\n 'resent',\r\n 'reset',\r\n 'reshape',\r\n 'reshoot',\r\n 'reshuffle',\r\n 'residence',\r\n 'residency',\r\n 'resident',\r\n 'residual',\r\n 'residue',\r\n 'resigned',\r\n 'resilient',\r\n 'resistant',\r\n 'resisting',\r\n 'resize',\r\n 'resolute',\r\n 'resolved',\r\n 'resonant',\r\n 'resonate',\r\n 'resort',\r\n 'resource',\r\n 'respect',\r\n 'resubmit',\r\n 'result',\r\n 'resume',\r\n 'resupply',\r\n 'resurface',\r\n 'resurrect',\r\n 'retail',\r\n 'retainer',\r\n 'retaining',\r\n 'retake',\r\n 'retaliate',\r\n 'retention',\r\n 'rethink',\r\n 'retinal',\r\n 'retired',\r\n 'retiree',\r\n 'retiring',\r\n 'retold',\r\n 'retool',\r\n 'retorted',\r\n 'retouch',\r\n 'retrace',\r\n 'retract',\r\n 'retrain',\r\n 'retread',\r\n 'retreat',\r\n 'retrial',\r\n 'retrieval',\r\n 'retriever',\r\n 'retry',\r\n 'return',\r\n 'retying',\r\n 'retype',\r\n 'reunion',\r\n 'reunite',\r\n 'reusable',\r\n 'reuse',\r\n 'reveal',\r\n 'reveler',\r\n 'revenge',\r\n 'revenue',\r\n 'reverb',\r\n 'revered',\r\n 'reverence',\r\n 'reverend',\r\n 'reversal',\r\n 'reverse',\r\n 'reversing',\r\n 'reversion',\r\n 'revert',\r\n 'revisable',\r\n 'revise',\r\n 'revision',\r\n 'revisit',\r\n 'revivable',\r\n 'revival',\r\n 'reviver',\r\n 'reviving',\r\n 'revocable',\r\n 'revoke',\r\n 'revolt',\r\n 'revolver',\r\n 'revolving',\r\n 'reward',\r\n 'rewash',\r\n 'rewind',\r\n 'rewire',\r\n 'reword',\r\n 'rework',\r\n 'rewrap',\r\n 'rewrite',\r\n 'rhyme',\r\n 'ribbon',\r\n 'ribcage',\r\n 'rice',\r\n 'riches',\r\n 'richly',\r\n 'richness',\r\n 'rickety',\r\n 'ricotta',\r\n 'riddance',\r\n 'ridden',\r\n 'ride',\r\n 'riding',\r\n 'rifling',\r\n 'rift',\r\n 'rigging',\r\n 'rigid',\r\n 'rigor',\r\n 'rimless',\r\n 'rimmed',\r\n 'rind',\r\n 'rink',\r\n 'rinse',\r\n 'rinsing',\r\n 'riot',\r\n 'ripcord',\r\n 'ripeness',\r\n 'ripening',\r\n 'ripping',\r\n 'ripple',\r\n 'rippling',\r\n 'riptide',\r\n 'rise',\r\n 'rising',\r\n 'risk',\r\n 'risotto',\r\n 'ritalin',\r\n 'ritzy',\r\n 'rival',\r\n 'riverbank',\r\n 'riverbed',\r\n 'riverboat',\r\n 'riverside',\r\n 'riveter',\r\n 'riveting',\r\n 'roamer',\r\n 'roaming',\r\n 'roast',\r\n 'robbing',\r\n 'robe',\r\n 'robin',\r\n 'robotics',\r\n 'robust',\r\n 'rockband',\r\n 'rocker',\r\n 'rocket',\r\n 'rockfish',\r\n 'rockiness',\r\n 'rocking',\r\n 'rocklike',\r\n 'rockslide',\r\n 'rockstar',\r\n 'rocky',\r\n 'rogue',\r\n 'roman',\r\n 'romp',\r\n 'rope',\r\n 'roping',\r\n 'roster',\r\n 'rosy',\r\n 'rotten',\r\n 'rotting',\r\n 'rotunda',\r\n 'roulette',\r\n 'rounding',\r\n 'roundish',\r\n 'roundness',\r\n 'roundup',\r\n 'roundworm',\r\n 'routine',\r\n 'routing',\r\n 'rover',\r\n 'roving',\r\n 'royal',\r\n 'rubbed',\r\n 'rubber',\r\n 'rubbing',\r\n 'rubble',\r\n 'rubdown',\r\n 'ruby',\r\n 'ruckus',\r\n 'rudder',\r\n 'rug',\r\n 'ruined',\r\n 'rule',\r\n 'rumble',\r\n 'rumbling',\r\n 'rummage',\r\n 'rumor',\r\n 'runaround',\r\n 'rundown',\r\n 'runner',\r\n 'running',\r\n 'runny',\r\n 'runt',\r\n 'runway',\r\n 'rupture',\r\n 'rural',\r\n 'ruse',\r\n 'rush',\r\n 'rust',\r\n 'rut',\r\n 'sabbath',\r\n 'sabotage',\r\n 'sacrament',\r\n 'sacred',\r\n 'sacrifice',\r\n 'sadden',\r\n 'saddlebag',\r\n 'saddled',\r\n 'saddling',\r\n 'sadly',\r\n 'sadness',\r\n 'safari',\r\n 'safeguard',\r\n 'safehouse',\r\n 'safely',\r\n 'safeness',\r\n 'saffron',\r\n 'saga',\r\n 'sage',\r\n 'sagging',\r\n 'saggy',\r\n 'said',\r\n 'saint',\r\n 'sake',\r\n 'salad',\r\n 'salami',\r\n 'salaried',\r\n 'salary',\r\n 'saline',\r\n 'salon',\r\n 'saloon',\r\n 'salsa',\r\n 'salt',\r\n 'salutary',\r\n 'salute',\r\n 'salvage',\r\n 'salvaging',\r\n 'salvation',\r\n 'same',\r\n 'sample',\r\n 'sampling',\r\n 'sanction',\r\n 'sanctity',\r\n 'sanctuary',\r\n 'sandal',\r\n 'sandbag',\r\n 'sandbank',\r\n 'sandbar',\r\n 'sandblast',\r\n 'sandbox',\r\n 'sanded',\r\n 'sandfish',\r\n 'sanding',\r\n 'sandlot',\r\n 'sandpaper',\r\n 'sandpit',\r\n 'sandstone',\r\n 'sandstorm',\r\n 'sandworm',\r\n 'sandy',\r\n 'sanitary',\r\n 'sanitizer',\r\n 'sank',\r\n 'santa',\r\n 'sapling',\r\n 'sappiness',\r\n 'sappy',\r\n 'sarcasm',\r\n 'sarcastic',\r\n 'sardine',\r\n 'sash',\r\n 'sasquatch',\r\n 'sassy',\r\n 'satchel',\r\n 'satiable',\r\n 'satin',\r\n 'satirical',\r\n 'satisfied',\r\n 'satisfy',\r\n 'saturate',\r\n 'saturday',\r\n 'sauciness',\r\n 'saucy',\r\n 'sauna',\r\n 'savage',\r\n 'savanna',\r\n 'saved',\r\n 'savings',\r\n 'savior',\r\n 'savor',\r\n 'saxophone',\r\n 'say',\r\n 'scabbed',\r\n 'scabby',\r\n 'scalded',\r\n 'scalding',\r\n 'scale',\r\n 'scaling',\r\n 'scallion',\r\n 'scallop',\r\n 'scalping',\r\n 'scam',\r\n 'scandal',\r\n 'scanner',\r\n 'scanning',\r\n 'scant',\r\n 'scapegoat',\r\n 'scarce',\r\n 'scarcity',\r\n 'scarecrow',\r\n 'scared',\r\n 'scarf',\r\n 'scarily',\r\n 'scariness',\r\n 'scarring',\r\n 'scary',\r\n 'scavenger',\r\n 'scenic',\r\n 'schedule',\r\n 'schematic',\r\n 'scheme',\r\n 'scheming',\r\n 'schilling',\r\n 'schnapps',\r\n 'scholar',\r\n 'science',\r\n 'scientist',\r\n 'scion',\r\n 'scoff',\r\n 'scolding',\r\n 'scone',\r\n 'scoop',\r\n 'scooter',\r\n 'scope',\r\n 'scorch',\r\n 'scorebook',\r\n 'scorecard',\r\n 'scored',\r\n 'scoreless',\r\n 'scorer',\r\n 'scoring',\r\n 'scorn',\r\n 'scorpion',\r\n 'scotch',\r\n 'scoundrel',\r\n 'scoured',\r\n 'scouring',\r\n 'scouting',\r\n 'scouts',\r\n 'scowling',\r\n 'scrabble',\r\n 'scraggly',\r\n 'scrambled',\r\n 'scrambler',\r\n 'scrap',\r\n 'scratch',\r\n 'scrawny',\r\n 'screen',\r\n 'scribble',\r\n 'scribe',\r\n 'scribing',\r\n 'scrimmage',\r\n 'script',\r\n 'scroll',\r\n 'scrooge',\r\n 'scrounger',\r\n 'scrubbed',\r\n 'scrubber',\r\n 'scruffy',\r\n 'scrunch',\r\n 'scrutiny',\r\n 'scuba',\r\n 'scuff',\r\n 'sculptor',\r\n 'sculpture',\r\n 'scurvy',\r\n 'scuttle',\r\n 'secluded',\r\n 'secluding',\r\n 'seclusion',\r\n 'second',\r\n 'secrecy',\r\n 'secret',\r\n 'sectional',\r\n 'sector',\r\n 'secular',\r\n 'securely',\r\n 'security',\r\n 'sedan',\r\n 'sedate',\r\n 'sedation',\r\n 'sedative',\r\n 'sediment',\r\n 'seduce',\r\n 'seducing',\r\n 'segment',\r\n 'seismic',\r\n 'seizing',\r\n 'seldom',\r\n 'selected',\r\n 'selection',\r\n 'selective',\r\n 'selector',\r\n 'self',\r\n 'seltzer',\r\n 'semantic',\r\n 'semester',\r\n 'semicolon',\r\n 'semifinal',\r\n 'seminar',\r\n 'semisoft',\r\n 'semisweet',\r\n 'senate',\r\n 'senator',\r\n 'send',\r\n 'senior',\r\n 'senorita',\r\n 'sensation',\r\n 'sensitive',\r\n 'sensitize',\r\n 'sensually',\r\n 'sensuous',\r\n 'sepia',\r\n 'september',\r\n 'septic',\r\n 'septum',\r\n 'sequel',\r\n 'sequence',\r\n 'sequester',\r\n 'series',\r\n 'sermon',\r\n 'serotonin',\r\n 'serpent',\r\n 'serrated',\r\n 'serve',\r\n 'service',\r\n 'serving',\r\n 'sesame',\r\n 'sessions',\r\n 'setback',\r\n 'setting',\r\n 'settle',\r\n 'settling',\r\n 'setup',\r\n 'sevenfold',\r\n 'seventeen',\r\n 'seventh',\r\n 'seventy',\r\n 'severity',\r\n 'shabby',\r\n 'shack',\r\n 'shaded',\r\n 'shadily',\r\n 'shadiness',\r\n 'shading',\r\n 'shadow',\r\n 'shady',\r\n 'shaft',\r\n 'shakable',\r\n 'shakily',\r\n 'shakiness',\r\n 'shaking',\r\n 'shaky',\r\n 'shale',\r\n 'shallot',\r\n 'shallow',\r\n 'shame',\r\n 'shampoo',\r\n 'shamrock',\r\n 'shank',\r\n 'shanty',\r\n 'shape',\r\n 'shaping',\r\n 'share',\r\n 'sharpener',\r\n 'sharper',\r\n 'sharpie',\r\n 'sharply',\r\n 'sharpness',\r\n 'shawl',\r\n 'sheath',\r\n 'shed',\r\n 'sheep',\r\n 'sheet',\r\n 'shelf',\r\n 'shell',\r\n 'shelter',\r\n 'shelve',\r\n 'shelving',\r\n 'sherry',\r\n 'shield',\r\n 'shifter',\r\n 'shifting',\r\n 'shiftless',\r\n 'shifty',\r\n 'shimmer',\r\n 'shimmy',\r\n 'shindig',\r\n 'shine',\r\n 'shingle',\r\n 'shininess',\r\n 'shining',\r\n 'shiny',\r\n 'ship',\r\n 'shirt',\r\n 'shivering',\r\n 'shock',\r\n 'shone',\r\n 'shoplift',\r\n 'shopper',\r\n 'shopping',\r\n 'shoptalk',\r\n 'shore',\r\n 'shortage',\r\n 'shortcake',\r\n 'shortcut',\r\n 'shorten',\r\n 'shorter',\r\n 'shorthand',\r\n 'shortlist',\r\n 'shortly',\r\n 'shortness',\r\n 'shorts',\r\n 'shortwave',\r\n 'shorty',\r\n 'shout',\r\n 'shove',\r\n 'showbiz',\r\n 'showcase',\r\n 'showdown',\r\n 'shower',\r\n 'showgirl',\r\n 'showing',\r\n 'showman',\r\n 'shown',\r\n 'showoff',\r\n 'showpiece',\r\n 'showplace',\r\n 'showroom',\r\n 'showy',\r\n 'shrank',\r\n 'shrapnel',\r\n 'shredder',\r\n 'shredding',\r\n 'shrewdly',\r\n 'shriek',\r\n 'shrill',\r\n 'shrimp',\r\n 'shrine',\r\n 'shrink',\r\n 'shrivel',\r\n 'shrouded',\r\n 'shrubbery',\r\n 'shrubs',\r\n 'shrug',\r\n 'shrunk',\r\n 'shucking',\r\n 'shudder',\r\n 'shuffle',\r\n 'shuffling',\r\n 'shun',\r\n 'shush',\r\n 'shut',\r\n 'shy',\r\n 'siamese',\r\n 'siberian',\r\n 'sibling',\r\n 'siding',\r\n 'sierra',\r\n 'siesta',\r\n 'sift',\r\n 'sighing',\r\n 'silenced',\r\n 'silencer',\r\n 'silent',\r\n 'silica',\r\n 'silicon',\r\n 'silk',\r\n 'silliness',\r\n 'silly',\r\n 'silo',\r\n 'silt',\r\n 'silver',\r\n 'similarly',\r\n 'simile',\r\n 'simmering',\r\n 'simple',\r\n 'simplify',\r\n 'simply',\r\n 'sincere',\r\n 'sincerity',\r\n 'singer',\r\n 'singing',\r\n 'single',\r\n 'singular',\r\n 'sinister',\r\n 'sinless',\r\n 'sinner',\r\n 'sinuous',\r\n 'sip',\r\n 'siren',\r\n 'sister',\r\n 'sitcom',\r\n 'sitter',\r\n 'sitting',\r\n 'situated',\r\n 'situation',\r\n 'sixfold',\r\n 'sixteen',\r\n 'sixth',\r\n 'sixties',\r\n 'sixtieth',\r\n 'sixtyfold',\r\n 'sizable',\r\n 'sizably',\r\n 'size',\r\n 'sizing',\r\n 'sizzle',\r\n 'sizzling',\r\n 'skater',\r\n 'skating',\r\n 'skedaddle',\r\n 'skeletal',\r\n 'skeleton',\r\n 'skeptic',\r\n 'sketch',\r\n 'skewed',\r\n 'skewer',\r\n 'skid',\r\n 'skied',\r\n 'skier',\r\n 'skies',\r\n 'skiing',\r\n 'skilled',\r\n 'skillet',\r\n 'skillful',\r\n 'skimmed',\r\n 'skimmer',\r\n 'skimming',\r\n 'skimpily',\r\n 'skincare',\r\n 'skinhead',\r\n 'skinless',\r\n 'skinning',\r\n 'skinny',\r\n 'skintight',\r\n 'skipper',\r\n 'skipping',\r\n 'skirmish',\r\n 'skirt',\r\n 'skittle',\r\n 'skydiver',\r\n 'skylight',\r\n 'skyline',\r\n 'skype',\r\n 'skyrocket',\r\n 'skyward',\r\n 'slab',\r\n 'slacked',\r\n 'slacker',\r\n 'slacking',\r\n 'slackness',\r\n 'slacks',\r\n 'slain',\r\n 'slam',\r\n 'slander',\r\n 'slang',\r\n 'slapping',\r\n 'slapstick',\r\n 'slashed',\r\n 'slashing',\r\n 'slate',\r\n 'slather',\r\n 'slaw',\r\n 'sled',\r\n 'sleek',\r\n 'sleep',\r\n 'sleet',\r\n 'sleeve',\r\n 'slept',\r\n 'sliceable',\r\n 'sliced',\r\n 'slicer',\r\n 'slicing',\r\n 'slick',\r\n 'slider',\r\n 'slideshow',\r\n 'sliding',\r\n 'slighted',\r\n 'slighting',\r\n 'slightly',\r\n 'slimness',\r\n 'slimy',\r\n 'slinging',\r\n 'slingshot',\r\n 'slinky',\r\n 'slip',\r\n 'slit',\r\n 'sliver',\r\n 'slobbery',\r\n 'slogan',\r\n 'sloped',\r\n 'sloping',\r\n 'sloppily',\r\n 'sloppy',\r\n 'slot',\r\n 'slouching',\r\n 'slouchy',\r\n 'sludge',\r\n 'slug',\r\n 'slum',\r\n 'slurp',\r\n 'slush',\r\n 'sly',\r\n 'small',\r\n 'smartly',\r\n 'smartness',\r\n 'smasher',\r\n 'smashing',\r\n 'smashup',\r\n 'smell',\r\n 'smelting',\r\n 'smile',\r\n 'smilingly',\r\n 'smirk',\r\n 'smite',\r\n 'smith',\r\n 'smitten',\r\n 'smock',\r\n 'smog',\r\n 'smoked',\r\n 'smokeless',\r\n 'smokiness',\r\n 'smoking',\r\n 'smoky',\r\n 'smolder',\r\n 'smooth',\r\n 'smother',\r\n 'smudge',\r\n 'smudgy',\r\n 'smuggler',\r\n 'smuggling',\r\n 'smugly',\r\n 'smugness',\r\n 'snack',\r\n 'snagged',\r\n 'snaking',\r\n 'snap',\r\n 'snare',\r\n 'snarl',\r\n 'snazzy',\r\n 'sneak',\r\n 'sneer',\r\n 'sneeze',\r\n 'sneezing',\r\n 'snide',\r\n 'sniff',\r\n 'snippet',\r\n 'snipping',\r\n 'snitch',\r\n 'snooper',\r\n 'snooze',\r\n 'snore',\r\n 'snoring',\r\n 'snorkel',\r\n 'snort',\r\n 'snout',\r\n 'snowbird',\r\n 'snowboard',\r\n 'snowbound',\r\n 'snowcap',\r\n 'snowdrift',\r\n 'snowdrop',\r\n 'snowfall',\r\n 'snowfield',\r\n 'snowflake',\r\n 'snowiness',\r\n 'snowless',\r\n 'snowman',\r\n 'snowplow',\r\n 'snowshoe',\r\n 'snowstorm',\r\n 'snowsuit',\r\n 'snowy',\r\n 'snub',\r\n 'snuff',\r\n 'snuggle',\r\n 'snugly',\r\n 'snugness',\r\n 'speak',\r\n 'spearfish',\r\n 'spearhead',\r\n 'spearman',\r\n 'spearmint',\r\n 'species',\r\n 'specimen',\r\n 'specked',\r\n 'speckled',\r\n 'specks',\r\n 'spectacle',\r\n 'spectator',\r\n 'spectrum',\r\n 'speculate',\r\n 'speech',\r\n 'speed',\r\n 'spellbind',\r\n 'speller',\r\n 'spelling',\r\n 'spendable',\r\n 'spender',\r\n 'spending',\r\n 'spent',\r\n 'spew',\r\n 'sphere',\r\n 'spherical',\r\n 'sphinx',\r\n 'spider',\r\n 'spied',\r\n 'spiffy',\r\n 'spill',\r\n 'spilt',\r\n 'spinach',\r\n 'spinal',\r\n 'spindle',\r\n 'spinner',\r\n 'spinning',\r\n 'spinout',\r\n 'spinster',\r\n 'spiny',\r\n 'spiral',\r\n 'spirited',\r\n 'spiritism',\r\n 'spirits',\r\n 'spiritual',\r\n 'splashed',\r\n 'splashing',\r\n 'splashy',\r\n 'splatter',\r\n 'spleen',\r\n 'splendid',\r\n 'splendor',\r\n 'splice',\r\n 'splicing',\r\n 'splinter',\r\n 'splotchy',\r\n 'splurge',\r\n 'spoilage',\r\n 'spoiled',\r\n 'spoiler',\r\n 'spoiling',\r\n 'spoils',\r\n 'spoken',\r\n 'spokesman',\r\n 'sponge',\r\n 'spongy',\r\n 'sponsor',\r\n 'spoof',\r\n 'spookily',\r\n 'spooky',\r\n 'spool',\r\n 'spoon',\r\n 'spore',\r\n 'sporting',\r\n 'sports',\r\n 'sporty',\r\n 'spotless',\r\n 'spotlight',\r\n 'spotted',\r\n 'spotter',\r\n 'spotting',\r\n 'spotty',\r\n 'spousal',\r\n 'spouse',\r\n 'spout',\r\n 'sprain',\r\n 'sprang',\r\n 'sprawl',\r\n 'spray',\r\n 'spree',\r\n 'sprig',\r\n 'spring',\r\n 'sprinkled',\r\n 'sprinkler',\r\n 'sprint',\r\n 'sprite',\r\n 'sprout',\r\n 'spruce',\r\n 'sprung',\r\n 'spry',\r\n 'spud',\r\n 'spur',\r\n 'sputter',\r\n 'spyglass',\r\n 'squabble',\r\n 'squad',\r\n 'squall',\r\n 'squander',\r\n 'squash',\r\n 'squatted',\r\n 'squatter',\r\n 'squatting',\r\n 'squeak',\r\n 'squealer',\r\n 'squealing',\r\n 'squeamish',\r\n 'squeegee',\r\n 'squeeze',\r\n 'squeezing',\r\n 'squid',\r\n 'squiggle',\r\n 'squiggly',\r\n 'squint',\r\n 'squire',\r\n 'squirt',\r\n 'squishier',\r\n 'squishy',\r\n 'stability',\r\n 'stabilize',\r\n 'stable',\r\n 'stack',\r\n 'stadium',\r\n 'staff',\r\n 'stage',\r\n 'staging',\r\n 'stagnant',\r\n 'stagnate',\r\n 'stainable',\r\n 'stained',\r\n 'staining',\r\n 'stainless',\r\n 'stalemate',\r\n 'staleness',\r\n 'stalling',\r\n 'stallion',\r\n 'stamina',\r\n 'stammer',\r\n 'stamp',\r\n 'stand',\r\n 'stank',\r\n 'staple',\r\n 'stapling',\r\n 'starboard',\r\n 'starch',\r\n 'stardom',\r\n 'stardust',\r\n 'starfish',\r\n 'stargazer',\r\n 'staring',\r\n 'stark',\r\n 'starless',\r\n 'starlet',\r\n 'starlight',\r\n 'starlit',\r\n 'starring',\r\n 'starry',\r\n 'starship',\r\n 'starter',\r\n 'starting',\r\n 'startle',\r\n 'startling',\r\n 'startup',\r\n 'starved',\r\n 'starving',\r\n 'stash',\r\n 'state',\r\n 'static',\r\n 'statistic',\r\n 'statue',\r\n 'stature',\r\n 'status',\r\n 'statute',\r\n 'statutory',\r\n 'staunch',\r\n 'stays',\r\n 'steadfast',\r\n 'steadier',\r\n 'steadily',\r\n 'steadying',\r\n 'steam',\r\n 'steed',\r\n 'steep',\r\n 'steerable',\r\n 'steering',\r\n 'steersman',\r\n 'stegosaur',\r\n 'stellar',\r\n 'stem',\r\n 'stench',\r\n 'stencil',\r\n 'step',\r\n 'stereo',\r\n 'sterile',\r\n 'sterility',\r\n 'sterilize',\r\n 'sterling',\r\n 'sternness',\r\n 'sternum',\r\n 'stew',\r\n 'stick',\r\n 'stiffen',\r\n 'stiffly',\r\n 'stiffness',\r\n 'stifle',\r\n 'stifling',\r\n 'stillness',\r\n 'stilt',\r\n 'stimulant',\r\n 'stimulate',\r\n 'stimuli',\r\n 'stimulus',\r\n 'stinger',\r\n 'stingily',\r\n 'stinging',\r\n 'stingray',\r\n 'stingy',\r\n 'stinking',\r\n 'stinky',\r\n 'stipend',\r\n 'stipulate',\r\n 'stir',\r\n 'stitch',\r\n 'stock',\r\n 'stoic',\r\n 'stoke',\r\n 'stole',\r\n 'stomp',\r\n 'stonewall',\r\n 'stoneware',\r\n 'stonework',\r\n 'stoning',\r\n 'stony',\r\n 'stood',\r\n 'stooge',\r\n 'stool',\r\n 'stoop',\r\n 'stoplight',\r\n 'stoppable',\r\n 'stoppage',\r\n 'stopped',\r\n 'stopper',\r\n 'stopping',\r\n 'stopwatch',\r\n 'storable',\r\n 'storage',\r\n 'storeroom',\r\n 'storewide',\r\n 'storm',\r\n 'stout',\r\n 'stove',\r\n 'stowaway',\r\n 'stowing',\r\n 'straddle',\r\n 'straggler',\r\n 'strained',\r\n 'strainer',\r\n 'straining',\r\n 'strangely',\r\n 'stranger',\r\n 'strangle',\r\n 'strategic',\r\n 'strategy',\r\n 'stratus',\r\n 'straw',\r\n 'stray',\r\n 'streak',\r\n 'stream',\r\n 'street',\r\n 'strength',\r\n 'strenuous',\r\n 'strep',\r\n 'stress',\r\n 'stretch',\r\n 'strewn',\r\n 'stricken',\r\n 'strict',\r\n 'stride',\r\n 'strife',\r\n 'strike',\r\n 'striking',\r\n 'strive',\r\n 'striving',\r\n 'strobe',\r\n 'strode',\r\n 'stroller',\r\n 'strongbox',\r\n 'strongly',\r\n 'strongman',\r\n 'struck',\r\n 'structure',\r\n 'strudel',\r\n 'struggle',\r\n 'strum',\r\n 'strung',\r\n 'strut',\r\n 'stubbed',\r\n 'stubble',\r\n 'stubbly',\r\n 'stubborn',\r\n 'stucco',\r\n 'stuck',\r\n 'student',\r\n 'studied',\r\n 'studio',\r\n 'study',\r\n 'stuffed',\r\n 'stuffing',\r\n 'stuffy',\r\n 'stumble',\r\n 'stumbling',\r\n 'stump',\r\n 'stung',\r\n 'stunned',\r\n 'stunner',\r\n 'stunning',\r\n 'stunt',\r\n 'stupor',\r\n 'sturdily',\r\n 'sturdy',\r\n 'styling',\r\n 'stylishly',\r\n 'stylist',\r\n 'stylized',\r\n 'stylus',\r\n 'suave',\r\n 'subarctic',\r\n 'subatomic',\r\n 'subdivide',\r\n 'subdued',\r\n 'subduing',\r\n 'subfloor',\r\n 'subgroup',\r\n 'subheader',\r\n 'subject',\r\n 'sublease',\r\n 'sublet',\r\n 'sublevel',\r\n 'sublime',\r\n 'submarine',\r\n 'submerge',\r\n 'submersed',\r\n 'submitter',\r\n 'subpanel',\r\n 'subpar',\r\n 'subplot',\r\n 'subprime',\r\n 'subscribe',\r\n 'subscript',\r\n 'subsector',\r\n 'subside',\r\n 'subsiding',\r\n 'subsidize',\r\n 'subsidy',\r\n 'subsoil',\r\n 'subsonic',\r\n 'substance',\r\n 'subsystem',\r\n 'subtext',\r\n 'subtitle',\r\n 'subtly',\r\n 'subtotal',\r\n 'subtract',\r\n 'subtype',\r\n 'suburb',\r\n 'subway',\r\n 'subwoofer',\r\n 'subzero',\r\n 'succulent',\r\n 'such',\r\n 'suction',\r\n 'sudden',\r\n 'sudoku',\r\n 'suds',\r\n 'sufferer',\r\n 'suffering',\r\n 'suffice',\r\n 'suffix',\r\n 'suffocate',\r\n 'suffrage',\r\n 'sugar',\r\n 'suggest',\r\n 'suing',\r\n 'suitable',\r\n 'suitably',\r\n 'suitcase',\r\n 'suitor',\r\n 'sulfate',\r\n 'sulfide',\r\n 'sulfite',\r\n 'sulfur',\r\n 'sulk',\r\n 'sullen',\r\n 'sulphate',\r\n 'sulphuric',\r\n 'sultry',\r\n 'superbowl',\r\n 'superglue',\r\n 'superhero',\r\n 'superior',\r\n 'superjet',\r\n 'superman',\r\n 'supermom',\r\n 'supernova',\r\n 'supervise',\r\n 'supper',\r\n 'supplier',\r\n 'supply',\r\n 'support',\r\n 'supremacy',\r\n 'supreme',\r\n 'surcharge',\r\n 'surely',\r\n 'sureness',\r\n 'surface',\r\n 'surfacing',\r\n 'surfboard',\r\n 'surfer',\r\n 'surgery',\r\n 'surgical',\r\n 'surging',\r\n 'surname',\r\n 'surpass',\r\n 'surplus',\r\n 'surprise',\r\n 'surreal',\r\n 'surrender',\r\n 'surrogate',\r\n 'surround',\r\n 'survey',\r\n 'survival',\r\n 'survive',\r\n 'surviving',\r\n 'survivor',\r\n 'sushi',\r\n 'suspect',\r\n 'suspend',\r\n 'suspense',\r\n 'sustained',\r\n 'sustainer',\r\n 'swab',\r\n 'swaddling',\r\n 'swagger',\r\n 'swampland',\r\n 'swan',\r\n 'swapping',\r\n 'swarm',\r\n 'sway',\r\n 'swear',\r\n 'sweat',\r\n 'sweep',\r\n 'swell',\r\n 'swept',\r\n 'swerve',\r\n 'swifter',\r\n 'swiftly',\r\n 'swiftness',\r\n 'swimmable',\r\n 'swimmer',\r\n 'swimming',\r\n 'swimsuit',\r\n 'swimwear',\r\n 'swinger',\r\n 'swinging',\r\n 'swipe',\r\n 'swirl',\r\n 'switch',\r\n 'swivel',\r\n 'swizzle',\r\n 'swooned',\r\n 'swoop',\r\n 'swoosh',\r\n 'swore',\r\n 'sworn',\r\n 'swung',\r\n 'sycamore',\r\n 'sympathy',\r\n 'symphonic',\r\n 'symphony',\r\n 'symptom',\r\n 'synapse',\r\n 'syndrome',\r\n 'synergy',\r\n 'synopses',\r\n 'synopsis',\r\n 'synthesis',\r\n 'synthetic',\r\n 'syrup',\r\n 'system',\r\n 't-shirt',\r\n 'tabasco',\r\n 'tabby',\r\n 'tableful',\r\n 'tables',\r\n 'tablet',\r\n 'tableware',\r\n 'tabloid',\r\n 'tackiness',\r\n 'tacking',\r\n 'tackle',\r\n 'tackling',\r\n 'tacky',\r\n 'taco',\r\n 'tactful',\r\n 'tactical',\r\n 'tactics',\r\n 'tactile',\r\n 'tactless',\r\n 'tadpole',\r\n 'taekwondo',\r\n 'tag',\r\n 'tainted',\r\n 'take',\r\n 'taking',\r\n 'talcum',\r\n 'talisman',\r\n 'tall',\r\n 'talon',\r\n 'tamale',\r\n 'tameness',\r\n 'tamer',\r\n 'tamper',\r\n 'tank',\r\n 'tanned',\r\n 'tannery',\r\n 'tanning',\r\n 'tantrum',\r\n 'tapeless',\r\n 'tapered',\r\n 'tapering',\r\n 'tapestry',\r\n 'tapioca',\r\n 'tapping',\r\n 'taps',\r\n 'tarantula',\r\n 'target',\r\n 'tarmac',\r\n 'tarnish',\r\n 'tarot',\r\n 'tartar',\r\n 'tartly',\r\n 'tartness',\r\n 'task',\r\n 'tassel',\r\n 'taste',\r\n 'tastiness',\r\n 'tasting',\r\n 'tasty',\r\n 'tattered',\r\n 'tattle',\r\n 'tattling',\r\n 'tattoo',\r\n 'taunt',\r\n 'tavern',\r\n 'thank',\r\n 'that',\r\n 'thaw',\r\n 'theater',\r\n 'theatrics',\r\n 'thee',\r\n 'theft',\r\n 'theme',\r\n 'theology',\r\n 'theorize',\r\n 'thermal',\r\n 'thermos',\r\n 'thesaurus',\r\n 'these',\r\n 'thesis',\r\n 'thespian',\r\n 'thicken',\r\n 'thicket',\r\n 'thickness',\r\n 'thieving',\r\n 'thievish',\r\n 'thigh',\r\n 'thimble',\r\n 'thing',\r\n 'think',\r\n 'thinly',\r\n 'thinner',\r\n 'thinness',\r\n 'thinning',\r\n 'thirstily',\r\n 'thirsting',\r\n 'thirsty',\r\n 'thirteen',\r\n 'thirty',\r\n 'thong',\r\n 'thorn',\r\n 'those',\r\n 'thousand',\r\n 'thrash',\r\n 'thread',\r\n 'threaten',\r\n 'threefold',\r\n 'thrift',\r\n 'thrill',\r\n 'thrive',\r\n 'thriving',\r\n 'throat',\r\n 'throbbing',\r\n 'throng',\r\n 'throttle',\r\n 'throwaway',\r\n 'throwback',\r\n 'thrower',\r\n 'throwing',\r\n 'thud',\r\n 'thumb',\r\n 'thumping',\r\n 'thursday',\r\n 'thus',\r\n 'thwarting',\r\n 'thyself',\r\n 'tiara',\r\n 'tibia',\r\n 'tidal',\r\n 'tidbit',\r\n 'tidiness',\r\n 'tidings',\r\n 'tidy',\r\n 'tiger',\r\n 'tighten',\r\n 'tightly',\r\n 'tightness',\r\n 'tightrope',\r\n 'tightwad',\r\n 'tigress',\r\n 'tile',\r\n 'tiling',\r\n 'till',\r\n 'tilt',\r\n 'timid',\r\n 'timing',\r\n 'timothy',\r\n 'tinderbox',\r\n 'tinfoil',\r\n 'tingle',\r\n 'tingling',\r\n 'tingly',\r\n 'tinker',\r\n 'tinkling',\r\n 'tinsel',\r\n 'tinsmith',\r\n 'tint',\r\n 'tinwork',\r\n 'tiny',\r\n 'tipoff',\r\n 'tipped',\r\n 'tipper',\r\n 'tipping',\r\n 'tiptoeing',\r\n 'tiptop',\r\n 'tiring',\r\n 'tissue',\r\n 'trace',\r\n 'tracing',\r\n 'track',\r\n 'traction',\r\n 'tractor',\r\n 'trade',\r\n 'trading',\r\n 'tradition',\r\n 'traffic',\r\n 'tragedy',\r\n 'trailing',\r\n 'trailside',\r\n 'train',\r\n 'traitor',\r\n 'trance',\r\n 'tranquil',\r\n 'transfer',\r\n 'transform',\r\n 'translate',\r\n 'transpire',\r\n 'transport',\r\n 'transpose',\r\n 'trapdoor',\r\n 'trapeze',\r\n 'trapezoid',\r\n 'trapped',\r\n 'trapper',\r\n 'trapping',\r\n 'traps',\r\n 'trash',\r\n 'travel',\r\n 'traverse',\r\n 'travesty',\r\n 'tray',\r\n 'treachery',\r\n 'treading',\r\n 'treadmill',\r\n 'treason',\r\n 'treat',\r\n 'treble',\r\n 'tree',\r\n 'trekker',\r\n 'tremble',\r\n 'trembling',\r\n 'tremor',\r\n 'trench',\r\n 'trend',\r\n 'trespass',\r\n 'triage',\r\n 'trial',\r\n 'triangle',\r\n 'tribesman',\r\n 'tribunal',\r\n 'tribune',\r\n 'tributary',\r\n 'tribute',\r\n 'triceps',\r\n 'trickery',\r\n 'trickily',\r\n 'tricking',\r\n 'trickle',\r\n 'trickster',\r\n 'tricky',\r\n 'tricolor',\r\n 'tricycle',\r\n 'trident',\r\n 'tried',\r\n 'trifle',\r\n 'trifocals',\r\n 'trillion',\r\n 'trilogy',\r\n 'trimester',\r\n 'trimmer',\r\n 'trimming',\r\n 'trimness',\r\n 'trinity',\r\n 'trio',\r\n 'tripod',\r\n 'tripping',\r\n 'triumph',\r\n 'trivial',\r\n 'trodden',\r\n 'trolling',\r\n 'trombone',\r\n 'trophy',\r\n 'tropical',\r\n 'tropics',\r\n 'trouble',\r\n 'troubling',\r\n 'trough',\r\n 'trousers',\r\n 'trout',\r\n 'trowel',\r\n 'truce',\r\n 'truck',\r\n 'truffle',\r\n 'trump',\r\n 'trunks',\r\n 'trustable',\r\n 'trustee',\r\n 'trustful',\r\n 'trusting',\r\n 'trustless',\r\n 'truth',\r\n 'try',\r\n 'tubby',\r\n 'tubeless',\r\n 'tubular',\r\n 'tucking',\r\n 'tuesday',\r\n 'tug',\r\n 'tuition',\r\n 'tulip',\r\n 'tumble',\r\n 'tumbling',\r\n 'tummy',\r\n 'turban',\r\n 'turbine',\r\n 'turbofan',\r\n 'turbojet',\r\n 'turbulent',\r\n 'turf',\r\n 'turkey',\r\n 'turmoil',\r\n 'turret',\r\n 'turtle',\r\n 'tusk',\r\n 'tutor',\r\n 'tutu',\r\n 'tux',\r\n 'tweak',\r\n 'tweed',\r\n 'tweet',\r\n 'tweezers',\r\n 'twelve',\r\n 'twentieth',\r\n 'twenty',\r\n 'twerp',\r\n 'twice',\r\n 'twiddle',\r\n 'twiddling',\r\n 'twig',\r\n 'twilight',\r\n 'twine',\r\n 'twins',\r\n 'twirl',\r\n 'twistable',\r\n 'twisted',\r\n 'twister',\r\n 'twisting',\r\n 'twisty',\r\n 'twitch',\r\n 'twitter',\r\n 'tycoon',\r\n 'tying',\r\n 'tyke',\r\n 'udder',\r\n 'ultimate',\r\n 'ultimatum',\r\n 'ultra',\r\n 'umbilical',\r\n 'umbrella',\r\n 'umpire',\r\n 'unabashed',\r\n 'unable',\r\n 'unadorned',\r\n 'unadvised',\r\n 'unafraid',\r\n 'unaired',\r\n 'unaligned',\r\n 'unaltered',\r\n 'unarmored',\r\n 'unashamed',\r\n 'unaudited',\r\n 'unawake',\r\n 'unaware',\r\n 'unbaked',\r\n 'unbalance',\r\n 'unbeaten',\r\n 'unbend',\r\n 'unbent',\r\n 'unbiased',\r\n 'unbitten',\r\n 'unblended',\r\n 'unblessed',\r\n 'unblock',\r\n 'unbolted',\r\n 'unbounded',\r\n 'unboxed',\r\n 'unbraided',\r\n 'unbridle',\r\n 'unbroken',\r\n 'unbuckled',\r\n 'unbundle',\r\n 'unburned',\r\n 'unbutton',\r\n 'uncanny',\r\n 'uncapped',\r\n 'uncaring',\r\n 'uncertain',\r\n 'unchain',\r\n 'unchanged',\r\n 'uncharted',\r\n 'uncheck',\r\n 'uncivil',\r\n 'unclad',\r\n 'unclaimed',\r\n 'unclamped',\r\n 'unclasp',\r\n 'uncle',\r\n 'unclip',\r\n 'uncloak',\r\n 'unclog',\r\n 'unclothed',\r\n 'uncoated',\r\n 'uncoiled',\r\n 'uncolored',\r\n 'uncombed',\r\n 'uncommon',\r\n 'uncooked',\r\n 'uncork',\r\n 'uncorrupt',\r\n 'uncounted',\r\n 'uncouple',\r\n 'uncouth',\r\n 'uncover',\r\n 'uncross',\r\n 'uncrown',\r\n 'uncrushed',\r\n 'uncured',\r\n 'uncurious',\r\n 'uncurled',\r\n 'uncut',\r\n 'undamaged',\r\n 'undated',\r\n 'undaunted',\r\n 'undead',\r\n 'undecided',\r\n 'undefined',\r\n 'underage',\r\n 'underarm',\r\n 'undercoat',\r\n 'undercook',\r\n 'undercut',\r\n 'underdog',\r\n 'underdone',\r\n 'underfed',\r\n 'underfeed',\r\n 'underfoot',\r\n 'undergo',\r\n 'undergrad',\r\n 'underhand',\r\n 'underline',\r\n 'underling',\r\n 'undermine',\r\n 'undermost',\r\n 'underpaid',\r\n 'underpass',\r\n 'underpay',\r\n 'underrate',\r\n 'undertake',\r\n 'undertone',\r\n 'undertook',\r\n 'undertow',\r\n 'underuse',\r\n 'underwear',\r\n 'underwent',\r\n 'underwire',\r\n 'undesired',\r\n 'undiluted',\r\n 'undivided',\r\n 'undocked',\r\n 'undoing',\r\n 'undone',\r\n 'undrafted',\r\n 'undress',\r\n 'undrilled',\r\n 'undusted',\r\n 'undying',\r\n 'unearned',\r\n 'unearth',\r\n 'unease',\r\n 'uneasily',\r\n 'uneasy',\r\n 'uneatable',\r\n 'uneaten',\r\n 'unedited',\r\n 'unelected',\r\n 'unending',\r\n 'unengaged',\r\n 'unenvied',\r\n 'unequal',\r\n 'unethical',\r\n 'uneven',\r\n 'unexpired',\r\n 'unexposed',\r\n 'unfailing',\r\n 'unfair',\r\n 'unfasten',\r\n 'unfazed',\r\n 'unfeeling',\r\n 'unfiled',\r\n 'unfilled',\r\n 'unfitted',\r\n 'unfitting',\r\n 'unfixable',\r\n 'unfixed',\r\n 'unflawed',\r\n 'unfocused',\r\n 'unfold',\r\n 'unfounded',\r\n 'unframed',\r\n 'unfreeze',\r\n 'unfrosted',\r\n 'unfrozen',\r\n 'unfunded',\r\n 'unglazed',\r\n 'ungloved',\r\n 'unglue',\r\n 'ungodly',\r\n 'ungraded',\r\n 'ungreased',\r\n 'unguarded',\r\n 'unguided',\r\n 'unhappily',\r\n 'unhappy',\r\n 'unharmed',\r\n 'unhealthy',\r\n 'unheard',\r\n 'unhearing',\r\n 'unheated',\r\n 'unhelpful',\r\n 'unhidden',\r\n 'unhinge',\r\n 'unhitched',\r\n 'unholy',\r\n 'unhook',\r\n 'unicorn',\r\n 'unicycle',\r\n 'unified',\r\n 'unifier',\r\n 'uniformed',\r\n 'uniformly',\r\n 'unify',\r\n 'unimpeded',\r\n 'uninjured',\r\n 'uninstall',\r\n 'uninsured',\r\n 'uninvited',\r\n 'union',\r\n 'uniquely',\r\n 'unisexual',\r\n 'unison',\r\n 'unissued',\r\n 'unit',\r\n 'universal',\r\n 'universe',\r\n 'unjustly',\r\n 'unkempt',\r\n 'unkind',\r\n 'unknotted',\r\n 'unknowing',\r\n 'unknown',\r\n 'unlaced',\r\n 'unlatch',\r\n 'unlawful',\r\n 'unleaded',\r\n 'unlearned',\r\n 'unleash',\r\n 'unless',\r\n 'unleveled',\r\n 'unlighted',\r\n 'unlikable',\r\n 'unlimited',\r\n 'unlined',\r\n 'unlinked',\r\n 'unlisted',\r\n 'unlit',\r\n 'unlivable',\r\n 'unloaded',\r\n 'unloader',\r\n 'unlocked',\r\n 'unlocking',\r\n 'unlovable',\r\n 'unloved',\r\n 'unlovely',\r\n 'unloving',\r\n 'unluckily',\r\n 'unlucky',\r\n 'unmade',\r\n 'unmanaged',\r\n 'unmanned',\r\n 'unmapped',\r\n 'unmarked',\r\n 'unmasked',\r\n 'unmasking',\r\n 'unmatched',\r\n 'unmindful',\r\n 'unmixable',\r\n 'unmixed',\r\n 'unmolded',\r\n 'unmoral',\r\n 'unmovable',\r\n 'unmoved',\r\n 'unmoving',\r\n 'unnamable',\r\n 'unnamed',\r\n 'unnatural',\r\n 'unneeded',\r\n 'unnerve',\r\n 'unnerving',\r\n 'unnoticed',\r\n 'unopened',\r\n 'unopposed',\r\n 'unpack',\r\n 'unpadded',\r\n 'unpaid',\r\n 'unpainted',\r\n 'unpaired',\r\n 'unpaved',\r\n 'unpeeled',\r\n 'unpicked',\r\n 'unpiloted',\r\n 'unpinned',\r\n 'unplanned',\r\n 'unplanted',\r\n 'unpleased',\r\n 'unpledged',\r\n 'unplowed',\r\n 'unplug',\r\n 'unpopular',\r\n 'unproven',\r\n 'unquote',\r\n 'unranked',\r\n 'unrated',\r\n 'unraveled',\r\n 'unreached',\r\n 'unread',\r\n 'unreal',\r\n 'unreeling',\r\n 'unrefined',\r\n 'unrelated',\r\n 'unrented',\r\n 'unrest',\r\n 'unretired',\r\n 'unrevised',\r\n 'unrigged',\r\n 'unripe',\r\n 'unrivaled',\r\n 'unroasted',\r\n 'unrobed',\r\n 'unroll',\r\n 'unruffled',\r\n 'unruly',\r\n 'unrushed',\r\n 'unsaddle',\r\n 'unsafe',\r\n 'unsaid',\r\n 'unsalted',\r\n 'unsaved',\r\n 'unsavory',\r\n 'unscathed',\r\n 'unscented',\r\n 'unscrew',\r\n 'unsealed',\r\n 'unseated',\r\n 'unsecured',\r\n 'unseeing',\r\n 'unseemly',\r\n 'unseen',\r\n 'unselect',\r\n 'unselfish',\r\n 'unsent',\r\n 'unsettled',\r\n 'unshackle',\r\n 'unshaken',\r\n 'unshaved',\r\n 'unshaven',\r\n 'unsheathe',\r\n 'unshipped',\r\n 'unsightly',\r\n 'unsigned',\r\n 'unskilled',\r\n 'unsliced',\r\n 'unsmooth',\r\n 'unsnap',\r\n 'unsocial',\r\n 'unsoiled',\r\n 'unsold',\r\n 'unsolved',\r\n 'unsorted',\r\n 'unspoiled',\r\n 'unspoken',\r\n 'unstable',\r\n 'unstaffed',\r\n 'unstamped',\r\n 'unsteady',\r\n 'unsterile',\r\n 'unstirred',\r\n 'unstitch',\r\n 'unstopped',\r\n 'unstuck',\r\n 'unstuffed',\r\n 'unstylish',\r\n 'unsubtle',\r\n 'unsubtly',\r\n 'unsuited',\r\n 'unsure',\r\n 'unsworn',\r\n 'untagged',\r\n 'untainted',\r\n 'untaken',\r\n 'untamed',\r\n 'untangled',\r\n 'untapped',\r\n 'untaxed',\r\n 'unthawed',\r\n 'unthread',\r\n 'untidy',\r\n 'untie',\r\n 'until',\r\n 'untimed',\r\n 'untimely',\r\n 'untitled',\r\n 'untoasted',\r\n 'untold',\r\n 'untouched',\r\n 'untracked',\r\n 'untrained',\r\n 'untreated',\r\n 'untried',\r\n 'untrimmed',\r\n 'untrue',\r\n 'untruth',\r\n 'unturned',\r\n 'untwist',\r\n 'untying',\r\n 'unusable',\r\n 'unused',\r\n 'unusual',\r\n 'unvalued',\r\n 'unvaried',\r\n 'unvarying',\r\n 'unveiled',\r\n 'unveiling',\r\n 'unvented',\r\n 'unviable',\r\n 'unvisited',\r\n 'unvocal',\r\n 'unwanted',\r\n 'unwarlike',\r\n 'unwary',\r\n 'unwashed',\r\n 'unwatched',\r\n 'unweave',\r\n 'unwed',\r\n 'unwelcome',\r\n 'unwell',\r\n 'unwieldy',\r\n 'unwilling',\r\n 'unwind',\r\n 'unwired',\r\n 'unwitting',\r\n 'unwomanly',\r\n 'unworldly',\r\n 'unworn',\r\n 'unworried',\r\n 'unworthy',\r\n 'unwound',\r\n 'unwoven',\r\n 'unwrapped',\r\n 'unwritten',\r\n 'unzip',\r\n 'upbeat',\r\n 'upchuck',\r\n 'upcoming',\r\n 'upcountry',\r\n 'update',\r\n 'upfront',\r\n 'upgrade',\r\n 'upheaval',\r\n 'upheld',\r\n 'uphill',\r\n 'uphold',\r\n 'uplifted',\r\n 'uplifting',\r\n 'upload',\r\n 'upon',\r\n 'upper',\r\n 'upright',\r\n 'uprising',\r\n 'upriver',\r\n 'uproar',\r\n 'uproot',\r\n 'upscale',\r\n 'upside',\r\n 'upstage',\r\n 'upstairs',\r\n 'upstart',\r\n 'upstate',\r\n 'upstream',\r\n 'upstroke',\r\n 'upswing',\r\n 'uptake',\r\n 'uptight',\r\n 'uptown',\r\n 'upturned',\r\n 'upward',\r\n 'upwind',\r\n 'uranium',\r\n 'urban',\r\n 'urchin',\r\n 'urethane',\r\n 'urgency',\r\n 'urgent',\r\n 'urging',\r\n 'urologist',\r\n 'urology',\r\n 'usable',\r\n 'usage',\r\n 'useable',\r\n 'used',\r\n 'uselessly',\r\n 'user',\r\n 'usher',\r\n 'usual',\r\n 'utensil',\r\n 'utility',\r\n 'utilize',\r\n 'utmost',\r\n 'utopia',\r\n 'utter',\r\n 'vacancy',\r\n 'vacant',\r\n 'vacate',\r\n 'vacation',\r\n 'vagabond',\r\n 'vagrancy',\r\n 'vagrantly',\r\n 'vaguely',\r\n 'vagueness',\r\n 'valiant',\r\n 'valid',\r\n 'valium',\r\n 'valley',\r\n 'valuables',\r\n 'value',\r\n 'vanilla',\r\n 'vanish',\r\n 'vanity',\r\n 'vanquish',\r\n 'vantage',\r\n 'vaporizer',\r\n 'variable',\r\n 'variably',\r\n 'varied',\r\n 'variety',\r\n 'various',\r\n 'varmint',\r\n 'varnish',\r\n 'varsity',\r\n 'varying',\r\n 'vascular',\r\n 'vaseline',\r\n 'vastly',\r\n 'vastness',\r\n 'veal',\r\n 'vegan',\r\n 'veggie',\r\n 'vehicular',\r\n 'velcro',\r\n 'velocity',\r\n 'velvet',\r\n 'vendetta',\r\n 'vending',\r\n 'vendor',\r\n 'veneering',\r\n 'vengeful',\r\n 'venomous',\r\n 'ventricle',\r\n 'venture',\r\n 'venue',\r\n 'venus',\r\n 'verbalize',\r\n 'verbally',\r\n 'verbose',\r\n 'verdict',\r\n 'verify',\r\n 'verse',\r\n 'version',\r\n 'versus',\r\n 'vertebrae',\r\n 'vertical',\r\n 'vertigo',\r\n 'very',\r\n 'vessel',\r\n 'vest',\r\n 'veteran',\r\n 'veto',\r\n 'vexingly',\r\n 'viability',\r\n 'viable',\r\n 'vibes',\r\n 'vice',\r\n 'vicinity',\r\n 'victory',\r\n 'video',\r\n 'viewable',\r\n 'viewer',\r\n 'viewing',\r\n 'viewless',\r\n 'viewpoint',\r\n 'vigorous',\r\n 'village',\r\n 'villain',\r\n 'vindicate',\r\n 'vineyard',\r\n 'vintage',\r\n 'violate',\r\n 'violation',\r\n 'violator',\r\n 'violet',\r\n 'violin',\r\n 'viper',\r\n 'viral',\r\n 'virtual',\r\n 'virtuous',\r\n 'virus',\r\n 'visa',\r\n 'viscosity',\r\n 'viscous',\r\n 'viselike',\r\n 'visible',\r\n 'visibly',\r\n 'vision',\r\n 'visiting',\r\n 'visitor',\r\n 'visor',\r\n 'vista',\r\n 'vitality',\r\n 'vitalize',\r\n 'vitally',\r\n 'vitamins',\r\n 'vivacious',\r\n 'vividly',\r\n 'vividness',\r\n 'vixen',\r\n 'vocalist',\r\n 'vocalize',\r\n 'vocally',\r\n 'vocation',\r\n 'voice',\r\n 'voicing',\r\n 'void',\r\n 'volatile',\r\n 'volley',\r\n 'voltage',\r\n 'volumes',\r\n 'voter',\r\n 'voting',\r\n 'voucher',\r\n 'vowed',\r\n 'vowel',\r\n 'voyage',\r\n 'wackiness',\r\n 'wad',\r\n 'wafer',\r\n 'waffle',\r\n 'waged',\r\n 'wager',\r\n 'wages',\r\n 'waggle',\r\n 'wagon',\r\n 'wake',\r\n 'waking',\r\n 'walk',\r\n 'walmart',\r\n 'walnut',\r\n 'walrus',\r\n 'waltz',\r\n 'wand',\r\n 'wannabe',\r\n 'wanted',\r\n 'wanting',\r\n 'wasabi',\r\n 'washable',\r\n 'washbasin',\r\n 'washboard',\r\n 'washbowl',\r\n 'washcloth',\r\n 'washday',\r\n 'washed',\r\n 'washer',\r\n 'washhouse',\r\n 'washing',\r\n 'washout',\r\n 'washroom',\r\n 'washstand',\r\n 'washtub',\r\n 'wasp',\r\n 'wasting',\r\n 'watch',\r\n 'water',\r\n 'waviness',\r\n 'waving',\r\n 'wavy',\r\n 'whacking',\r\n 'whacky',\r\n 'wham',\r\n 'wharf',\r\n 'wheat',\r\n 'whenever',\r\n 'whiff',\r\n 'whimsical',\r\n 'whinny',\r\n 'whiny',\r\n 'whisking',\r\n 'whoever',\r\n 'whole',\r\n 'whomever',\r\n 'whoopee',\r\n 'whooping',\r\n 'whoops',\r\n 'why',\r\n 'wick',\r\n 'widely',\r\n 'widen',\r\n 'widget',\r\n 'widow',\r\n 'width',\r\n 'wieldable',\r\n 'wielder',\r\n 'wife',\r\n 'wifi',\r\n 'wikipedia',\r\n 'wildcard',\r\n 'wildcat',\r\n 'wilder',\r\n 'wildfire',\r\n 'wildfowl',\r\n 'wildland',\r\n 'wildlife',\r\n 'wildly',\r\n 'wildness',\r\n 'willed',\r\n 'willfully',\r\n 'willing',\r\n 'willow',\r\n 'willpower',\r\n 'wilt',\r\n 'wimp',\r\n 'wince',\r\n 'wincing',\r\n 'wind',\r\n 'wing',\r\n 'winking',\r\n 'winner',\r\n 'winnings',\r\n 'winter',\r\n 'wipe',\r\n 'wired',\r\n 'wireless',\r\n 'wiring',\r\n 'wiry',\r\n 'wisdom',\r\n 'wise',\r\n 'wish',\r\n 'wisplike',\r\n 'wispy',\r\n 'wistful',\r\n 'wizard',\r\n 'wobble',\r\n 'wobbling',\r\n 'wobbly',\r\n 'wok',\r\n 'wolf',\r\n 'wolverine',\r\n 'womanhood',\r\n 'womankind',\r\n 'womanless',\r\n 'womanlike',\r\n 'womanly',\r\n 'womb',\r\n 'woof',\r\n 'wooing',\r\n 'wool',\r\n 'woozy',\r\n 'word',\r\n 'work',\r\n 'worried',\r\n 'worrier',\r\n 'worrisome',\r\n 'worry',\r\n 'worsening',\r\n 'worshiper',\r\n 'worst',\r\n 'wound',\r\n 'woven',\r\n 'wow',\r\n 'wrangle',\r\n 'wrath',\r\n 'wreath',\r\n 'wreckage',\r\n 'wrecker',\r\n 'wrecking',\r\n 'wrench',\r\n 'wriggle',\r\n 'wriggly',\r\n 'wrinkle',\r\n 'wrinkly',\r\n 'wrist',\r\n 'writing',\r\n 'written',\r\n 'wrongdoer',\r\n 'wronged',\r\n 'wrongful',\r\n 'wrongly',\r\n 'wrongness',\r\n 'wrought',\r\n 'xbox',\r\n 'xerox',\r\n 'yahoo',\r\n 'yam',\r\n 'yanking',\r\n 'yapping',\r\n 'yard',\r\n 'yarn',\r\n 'yeah',\r\n 'yearbook',\r\n 'yearling',\r\n 'yearly',\r\n 'yearning',\r\n 'yeast',\r\n 'yelling',\r\n 'yelp',\r\n 'yen',\r\n 'yesterday',\r\n 'yiddish',\r\n 'yield',\r\n 'yin',\r\n 'yippee',\r\n 'yo-yo',\r\n 'yodel',\r\n 'yoga',\r\n 'yogurt',\r\n 'yonder',\r\n 'yoyo',\r\n 'yummy',\r\n 'zap',\r\n 'zealous',\r\n 'zebra',\r\n 'zen',\r\n 'zeppelin',\r\n 'zero',\r\n 'zestfully',\r\n 'zesty',\r\n 'zigzagged',\r\n 'zipfile',\r\n 'zipping',\r\n 'zippy',\r\n 'zips',\r\n 'zit',\r\n 'zodiac',\r\n 'zombie',\r\n 'zone',\r\n 'zoning',\r\n 'zookeeper',\r\n 'zoologist',\r\n 'zoology',\r\n 'zoom',\r\n];\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\r\nimport { NotificationsService } from '../abstractions/notifications.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\r\n baseUrl: string;\r\n webVaultUrl: string;\r\n apiUrl: string;\r\n identityUrl: string;\r\n iconsUrl: string;\r\n notificationsUrl: string;\r\n\r\n constructor(private apiService: ApiService, private storageService: StorageService,\r\n private notificationsService: NotificationsService) { }\r\n\r\n getWebVaultUrl(): string {\r\n if (this.webVaultUrl != null) {\r\n return this.webVaultUrl;\r\n } else if (this.baseUrl) {\r\n return this.baseUrl;\r\n }\r\n return null;\r\n }\r\n\r\n async setUrlsFromStorage(): Promise {\r\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\r\n const urls = urlsObj || {\r\n base: null,\r\n api: null,\r\n identity: null,\r\n icons: null,\r\n notifications: null,\r\n webVault: null,\r\n };\r\n\r\n const envUrls = new EnvironmentUrls();\r\n\r\n if (urls.base) {\r\n this.baseUrl = envUrls.base = urls.base;\r\n this.apiService.setUrls(envUrls);\r\n return;\r\n }\r\n\r\n this.webVaultUrl = urls.webVault;\r\n this.apiUrl = envUrls.api = urls.api;\r\n this.identityUrl = envUrls.identity = urls.identity;\r\n this.iconsUrl = urls.icons;\r\n this.notificationsUrl = urls.notifications;\r\n this.apiService.setUrls(envUrls);\r\n }\r\n\r\n async setUrls(urls: any): Promise {\r\n urls.base = this.formatUrl(urls.base);\r\n urls.webVault = this.formatUrl(urls.webVault);\r\n urls.api = this.formatUrl(urls.api);\r\n urls.identity = this.formatUrl(urls.identity);\r\n urls.icons = this.formatUrl(urls.icons);\r\n urls.notifications = this.formatUrl(urls.notifications);\r\n\r\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\r\n base: urls.base,\r\n api: urls.api,\r\n identity: urls.identity,\r\n webVault: urls.webVault,\r\n icons: urls.icons,\r\n notifications: urls.notifications,\r\n });\r\n\r\n this.baseUrl = urls.base;\r\n this.webVaultUrl = urls.webVault;\r\n this.apiUrl = urls.api;\r\n this.identityUrl = urls.identity;\r\n this.iconsUrl = urls.icons;\r\n this.notificationsUrl = urls.notifications;\r\n\r\n const envUrls = new EnvironmentUrls();\r\n if (this.baseUrl) {\r\n envUrls.base = this.baseUrl;\r\n } else {\r\n envUrls.api = this.apiUrl;\r\n envUrls.identity = this.identityUrl;\r\n }\r\n\r\n this.apiService.setUrls(envUrls);\r\n if (this.notificationsService != null) {\r\n this.notificationsService.init(this);\r\n }\r\n return urls;\r\n }\r\n\r\n private formatUrl(url: string): string {\r\n if (url == null || url === '') {\r\n return null;\r\n }\r\n\r\n url = url.replace(/\\/+$/g, '');\r\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\r\n url = 'https://' + url;\r\n }\r\n\r\n return url.trim();\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\n\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { ServiceUtils } from '../misc/serviceUtils';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n foldersPrefix: 'folders_',\r\n ciphersPrefix: 'ciphers_',\r\n};\r\nconst NestingDelimiter = '/';\r\n\r\nexport class FolderService implements FolderServiceAbstraction {\r\n decryptedFolderCache: FolderView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cipherService: CipherService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\r\n const folder = new Folder();\r\n folder.id = model.id;\r\n folder.name = await this.cryptoService.encrypt(model.name, key);\r\n return folder;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null || !folders.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Folder(folders[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n const response: Folder[] = [];\r\n for (const id in folders) {\r\n if (folders.hasOwnProperty(id)) {\r\n response.push(new Folder(folders[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedFolderCache != null) {\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decFolders: FolderView[] = [];\r\n const promises: Array> = [];\r\n const folders = await this.getAll();\r\n folders.forEach((folder) => {\r\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const noneFolder = new FolderView();\r\n noneFolder.name = this.i18nService.t('noneFolder');\r\n decFolders.push(noneFolder);\r\n\r\n this.decryptedFolderCache = decFolders;\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n async getAllNested(): Promise>> {\r\n const folders = await this.getAllDecrypted();\r\n const nodes: Array> = [];\r\n folders.forEach((f) => {\r\n const folderCopy = new FolderView();\r\n folderCopy.id = f.id;\r\n folderCopy.revisionDate = f.revisionDate;\r\n ServiceUtils.nestedTraverse(nodes, 0, f.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter),\r\n folderCopy, null, NestingDelimiter);\r\n });\r\n return nodes;\r\n }\r\n\r\n async getNested(id: string): Promise> {\r\n const folders = await this.getAllNested();\r\n return ServiceUtils.getTreeNodeObject(folders, id) as TreeNode;\r\n }\r\n\r\n async saveWithServer(folder: Folder): Promise {\r\n const request = new FolderRequest(folder);\r\n\r\n let response: FolderResponse;\r\n if (folder.id == null) {\r\n response = await this.apiService.postFolder(request);\r\n folder.id = response.id;\r\n } else {\r\n response = await this.apiService.putFolder(folder.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new FolderData(response, userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(folder: FolderData | FolderData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n folders = {};\r\n }\r\n\r\n if (folder instanceof FolderData) {\r\n const f = folder as FolderData;\r\n folders[f.id] = f;\r\n } else {\r\n (folder as FolderData[]).forEach((f) => {\r\n folders[f.id] = f;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async replace(folders: { [id: string]: FolderData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.foldersPrefix + userId);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n if (folders[id] == null) {\r\n return;\r\n }\r\n delete folders[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete folders[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n\r\n // Items in a deleted folder are re-assigned to \"No Folder\"\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\r\n if (ciphers != null) {\r\n const updates: CipherData[] = [];\r\n for (const cId in ciphers) {\r\n if (ciphers[cId].folderId === id) {\r\n ciphers[cId].folderId = null;\r\n updates.push(ciphers[cId]);\r\n }\r\n }\r\n if (updates.length > 0) {\r\n this.cipherService.upsert(updates);\r\n }\r\n }\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteFolder(id);\r\n await this.delete(id);\r\n }\r\n}\r\n","import { FolderResponse } from '../response/folderResponse';\r\n\r\nexport class FolderData {\r\n id: string;\r\n userId: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: FolderResponse, userId: string) {\r\n this.userId = userId;\r\n this.name = response.name;\r\n this.id = response.id;\r\n this.revisionDate = response.revisionDate;\r\n }\r\n}\r\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\n\nexport class I18nService implements I18nServiceAbstraction {\n locale: string;\n // First locale is the default (English)\n supportedTranslationLocales: string[] = ['en'];\n translationLocale: string;\n collator: Intl.Collator;\n\n protected inited: boolean;\n protected defaultMessages: any = {};\n protected localeMessages: any = {};\n\n constructor(protected systemLanguage: string, protected localesDirectory: string,\n protected getLocalesJson: (formattedLocale: string) => Promise) {\n this.systemLanguage = systemLanguage.replace('_', '-');\n }\n\n async init(locale?: string) {\n if (this.inited) {\n throw new Error('i18n already initialized.');\n }\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\n throw new Error('supportedTranslationLocales not set.');\n }\n\n this.inited = true;\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\n\n try {\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\n } catch {\n this.collator = null;\n }\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.translationLocale.slice(0, 2);\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.supportedTranslationLocales[0];\n }\n }\n\n if (this.localesDirectory != null) {\n await this.loadMessages(this.translationLocale, this.localeMessages);\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\n }\n }\n }\n\n t(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.translate(id, p1, p2, p3);\n }\n\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\n let result: string;\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\n result = this.localeMessages[id];\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\n result = this.defaultMessages[id];\n } else {\n result = '';\n }\n\n if (result !== '') {\n if (p1 != null) {\n result = result.split('__$1__').join(p1);\n }\n if (p2 != null) {\n result = result.split('__$2__').join(p2);\n }\n if (p3 != null) {\n result = result.split('__$3__').join(p3);\n }\n }\n\n return result;\n }\n\n private async loadMessages(locale: string, messagesObj: any): Promise {\n const formattedLocale = locale.replace('-', '_');\n const locales = await this.getLocalesJson(formattedLocale);\n for (const prop in locales) {\n if (!locales.hasOwnProperty(prop)) {\n continue;\n }\n messagesObj[prop] = locales[prop].message;\n\n if (locales[prop].placeholders) {\n for (const placeProp in locales[prop].placeholders) {\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\n !locales[prop].placeholders[placeProp].content) {\n continue;\n }\n\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\n let replaceContent = locales[prop].placeholders[placeProp].content;\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\n replaceContent = '__$' + replaceContent + '__';\n }\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\n }\n }\n }\n }\n\n}\n","import { ConstantsService } from './constants.service';\r\n\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CollectionService } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\nimport { LockService as LockServiceAbstraction } from '../abstractions/lock.service';\r\nimport { MessagingService } from '../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { SearchService } from '../abstractions/search.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class LockService implements LockServiceAbstraction {\r\n pinLocked = false;\r\n\r\n private inited = false;\r\n\r\n constructor(private cipherService: CipherService, private folderService: FolderService,\r\n private collectionService: CollectionService, private cryptoService: CryptoService,\r\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\r\n private messagingService: MessagingService, private searchService: SearchService,\r\n private lockedCallback: () => Promise = null) {\r\n }\r\n\r\n init(checkOnInterval: boolean) {\r\n if (this.inited) {\r\n return;\r\n }\r\n\r\n this.inited = true;\r\n if (checkOnInterval) {\r\n this.checkLock();\r\n setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds\r\n }\r\n }\r\n\r\n async isLocked(): Promise {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (hasKey && this.pinLocked) {\r\n return true;\r\n }\r\n return !hasKey;\r\n }\r\n\r\n async checkLock(): Promise {\r\n if (this.platformUtilsService.isViewOpen()) {\r\n // Do not lock\r\n return;\r\n }\r\n\r\n if (await this.isLocked()) {\r\n return;\r\n }\r\n\r\n let lockOption = this.platformUtilsService.lockTimeout();\r\n if (lockOption == null) {\r\n lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\r\n }\r\n if (lockOption == null || lockOption < 0) {\r\n return;\r\n }\r\n\r\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\r\n if (lastActive == null) {\r\n return;\r\n }\r\n\r\n const lockOptionSeconds = lockOption * 60;\r\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\r\n if (diffSeconds >= lockOptionSeconds) {\r\n // need to lock now\r\n await this.lock(true);\r\n }\r\n }\r\n\r\n async lock(allowSoftLock = false): Promise {\r\n if (allowSoftLock) {\r\n const pinSet = await this.isPinLockSet();\r\n if (pinSet[0]) {\r\n this.pinLocked = true;\r\n this.messagingService.send('locked');\r\n if (this.lockedCallback != null) {\r\n await this.lockedCallback();\r\n }\r\n return;\r\n }\r\n }\r\n\r\n await Promise.all([\r\n this.cryptoService.clearKey(),\r\n this.cryptoService.clearOrgKeys(true),\r\n this.cryptoService.clearKeyPair(true),\r\n this.cryptoService.clearEncKey(true),\r\n ]);\r\n\r\n this.folderService.clearCache();\r\n this.cipherService.clearCache();\r\n this.collectionService.clearCache();\r\n this.searchService.clearIndex();\r\n this.messagingService.send('locked');\r\n if (this.lockedCallback != null) {\r\n await this.lockedCallback();\r\n }\r\n }\r\n\r\n async setLockOption(lockOption: number): Promise {\r\n await this.storageService.save(ConstantsService.lockOptionKey, lockOption);\r\n await this.cryptoService.toggleKey();\r\n }\r\n\r\n async isPinLockSet(): Promise<[boolean, boolean]> {\r\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\r\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\r\n return [protectedPin != null, pinProtectedKey != null];\r\n }\r\n\r\n clear(): Promise {\r\n return this.storageService.remove(ConstantsService.protectedPin);\r\n }\r\n}\r\n","import * as zxcvbn from 'zxcvbn';\r\n\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\n\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport {\r\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\r\n} from '../abstractions/passwordGeneration.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { EEFLongWordList } from '../misc/wordlist';\r\n\r\nconst DefaultOptions = {\r\n length: 14,\r\n ambiguous: false,\r\n number: true,\r\n minNumber: 1,\r\n uppercase: true,\r\n minUppercase: 0,\r\n lowercase: true,\r\n minLowercase: 0,\r\n special: false,\r\n minSpecial: 1,\r\n type: 'password',\r\n numWords: 3,\r\n wordSeparator: '-',\r\n};\r\n\r\nconst Keys = {\r\n options: 'passwordGenerationOptions',\r\n history: 'generatedPasswordHistory',\r\n};\r\n\r\nconst MaxPasswordsInHistory = 100;\r\n\r\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\r\n private optionsCache: any;\r\n private history: GeneratedPasswordHistory[];\r\n\r\n constructor(private cryptoService: CryptoService, private storageService: StorageService) { }\r\n\r\n async generatePassword(options: any): Promise {\r\n // overload defaults with given options\r\n const o = Object.assign({}, DefaultOptions, options);\r\n\r\n if (o.type === 'passphrase') {\r\n return this.generatePassphrase(options);\r\n }\r\n\r\n // sanitize\r\n if (o.uppercase && o.minUppercase <= 0) {\r\n o.minUppercase = 1;\r\n }\r\n if (o.lowercase && o.minLowercase <= 0) {\r\n o.minLowercase = 1;\r\n }\r\n if (o.number && o.minNumber <= 0) {\r\n o.minNumber = 1;\r\n }\r\n if (o.special && o.minSpecial <= 0) {\r\n o.minSpecial = 1;\r\n }\r\n\r\n if (!o.length || o.length < 1) {\r\n o.length = 10;\r\n }\r\n\r\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\r\n if (o.length < minLength) {\r\n o.length = minLength;\r\n }\r\n\r\n const positions: string[] = [];\r\n if (o.lowercase && o.minLowercase > 0) {\r\n for (let i = 0; i < o.minLowercase; i++) {\r\n positions.push('l');\r\n }\r\n }\r\n if (o.uppercase && o.minUppercase > 0) {\r\n for (let i = 0; i < o.minUppercase; i++) {\r\n positions.push('u');\r\n }\r\n }\r\n if (o.number && o.minNumber > 0) {\r\n for (let i = 0; i < o.minNumber; i++) {\r\n positions.push('n');\r\n }\r\n }\r\n if (o.special && o.minSpecial > 0) {\r\n for (let i = 0; i < o.minSpecial; i++) {\r\n positions.push('s');\r\n }\r\n }\r\n while (positions.length < o.length) {\r\n positions.push('a');\r\n }\r\n\r\n // shuffle\r\n await this.shuffleArray(positions);\r\n\r\n // build out the char sets\r\n let allCharSet = '';\r\n\r\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\r\n if (o.ambiguous) {\r\n lowercaseCharSet += 'l';\r\n }\r\n if (o.lowercase) {\r\n allCharSet += lowercaseCharSet;\r\n }\r\n\r\n let uppercaseCharSet = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';\r\n if (o.ambiguous) {\r\n uppercaseCharSet += 'O';\r\n }\r\n if (o.uppercase) {\r\n allCharSet += uppercaseCharSet;\r\n }\r\n\r\n let numberCharSet = '23456789';\r\n if (o.ambiguous) {\r\n numberCharSet += '01';\r\n }\r\n if (o.number) {\r\n allCharSet += numberCharSet;\r\n }\r\n\r\n const specialCharSet = '!@#$%^&*';\r\n if (o.special) {\r\n allCharSet += specialCharSet;\r\n }\r\n\r\n let password = '';\r\n for (let i = 0; i < o.length; i++) {\r\n let positionChars: string;\r\n switch (positions[i]) {\r\n case 'l':\r\n positionChars = lowercaseCharSet;\r\n break;\r\n case 'u':\r\n positionChars = uppercaseCharSet;\r\n break;\r\n case 'n':\r\n positionChars = numberCharSet;\r\n break;\r\n case 's':\r\n positionChars = specialCharSet;\r\n break;\r\n case 'a':\r\n positionChars = allCharSet;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\r\n password += positionChars.charAt(randomCharIndex);\r\n }\r\n\r\n return password;\r\n }\r\n\r\n async generatePassphrase(options: any): Promise {\r\n const o = Object.assign({}, DefaultOptions, options);\r\n\r\n if (o.numWords == null || o.numWords <= 2) {\r\n o.numWords = DefaultOptions.numWords;\r\n }\r\n if (o.wordSeparator == null || o.wordSeparator.length === 0 || o.wordSeparator.length > 1) {\r\n o.wordSeparator = ' ';\r\n }\r\n\r\n const listLength = EEFLongWordList.length - 1;\r\n const wordList = new Array(o.numWords);\r\n for (let i = 0; i < o.numWords; i++) {\r\n const wordIndex = await this.cryptoService.randomNumber(0, listLength);\r\n wordList[i] = EEFLongWordList[wordIndex];\r\n }\r\n return wordList.join(o.wordSeparator);\r\n }\r\n\r\n async getOptions() {\r\n if (this.optionsCache == null) {\r\n const options = await this.storageService.get(Keys.options);\r\n if (options == null) {\r\n this.optionsCache = DefaultOptions;\r\n } else {\r\n this.optionsCache = Object.assign({}, DefaultOptions, options);\r\n }\r\n }\r\n\r\n return this.optionsCache;\r\n }\r\n\r\n async saveOptions(options: any) {\r\n await this.storageService.save(Keys.options, options);\r\n this.optionsCache = options;\r\n }\r\n\r\n async getHistory(): Promise {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return new Array();\r\n }\r\n\r\n if (!this.history) {\r\n const encrypted = await this.storageService.get(Keys.history);\r\n this.history = await this.decryptHistory(encrypted);\r\n }\r\n\r\n return this.history || new Array();\r\n }\r\n\r\n async addHistory(password: string): Promise {\r\n // Cannot add new history if no key is available\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return;\r\n }\r\n\r\n const currentHistory = await this.getHistory();\r\n\r\n // Prevent duplicates\r\n if (this.matchesPrevious(password, currentHistory)) {\r\n return;\r\n }\r\n\r\n currentHistory.unshift(new GeneratedPasswordHistory(password, Date.now()));\r\n\r\n // Remove old items.\r\n if (currentHistory.length > MaxPasswordsInHistory) {\r\n currentHistory.pop();\r\n }\r\n\r\n const newHistory = await this.encryptHistory(currentHistory);\r\n return await this.storageService.save(Keys.history, newHistory);\r\n }\r\n\r\n async clear(): Promise {\r\n this.history = [];\r\n return await this.storageService.remove(Keys.history);\r\n }\r\n\r\n passwordStrength(password: string, userInputs: string[] = null): zxcvbn.ZXCVBNResult {\r\n if (password == null || password.length === 0) {\r\n return null;\r\n }\r\n let globalUserInputs = ['bitwarden', 'bit', 'warden'];\r\n if (userInputs != null && userInputs.length > 0) {\r\n globalUserInputs = globalUserInputs.concat(userInputs);\r\n }\r\n // Use a hash set to get rid of any duplicate user inputs\r\n const finalUserInputs = Array.from(new Set(globalUserInputs));\r\n const result = zxcvbn(password, finalUserInputs);\r\n return result;\r\n }\r\n\r\n private async encryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const encrypted = await this.cryptoService.encrypt(item.password);\r\n return new GeneratedPasswordHistory(encrypted.encryptedString, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private async decryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\r\n return new GeneratedPasswordHistory(decrypted, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private matchesPrevious(password: string, history: GeneratedPasswordHistory[]): boolean {\r\n if (history == null || history.length === 0) {\r\n return false;\r\n }\r\n\r\n return history[history.length - 1].password === password;\r\n }\r\n\r\n // ref: https://stackoverflow.com/a/12646864/1090359\r\n private async shuffleArray(array: string[]) {\r\n for (let i = array.length - 1; i > 0; i--) {\r\n const j = await this.cryptoService.randomNumber(0, i);\r\n [array[i], array[j]] = [array[j], array[i]];\r\n }\r\n }\r\n}\r\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nconst Keys = {\r\n settingsPrefix: 'settings_',\r\n equivalentDomains: 'equivalentDomains',\r\n};\r\n\r\nexport class SettingsService implements SettingsServiceAbstraction {\r\n private settingsCache: any;\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.settingsCache = null;\r\n }\r\n\r\n getEquivalentDomains(): Promise {\r\n return this.getSettingsKey(Keys.equivalentDomains);\r\n }\r\n\r\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\r\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.settingsPrefix + userId);\r\n this.settingsCache = null;\r\n }\r\n\r\n // Helpers\r\n\r\n private async getSettings(): Promise {\r\n if (this.settingsCache == null) {\r\n const userId = await this.userService.getUserId();\r\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\r\n }\r\n return this.settingsCache;\r\n }\r\n\r\n private async getSettingsKey(key: string): Promise {\r\n const settings = await this.getSettings();\r\n if (settings != null && settings[key]) {\r\n return settings[key];\r\n }\r\n return null;\r\n }\r\n\r\n private async setSettingsKey(key: string, value: any): Promise {\r\n const userId = await this.userService.getUserId();\r\n let settings = await this.getSettings();\r\n if (!settings) {\r\n settings = {};\r\n }\r\n\r\n settings[key] = value;\r\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\r\n this.settingsCache = settings;\r\n }\r\n}\r\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\r\n\r\nexport class StateService implements StateServiceAbstraction {\r\n private state: any = {};\r\n\r\n get(key: string): Promise {\r\n if (this.state.hasOwnProperty(key)) {\r\n return Promise.resolve(this.state[key]);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n this.state[key] = obj;\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n delete this.state[key];\r\n return Promise.resolve();\r\n }\r\n\r\n purge(): Promise {\r\n this.state = {};\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CollectionService } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\nimport { MessagingService } from '../abstractions/messaging.service';\r\nimport { SettingsService } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\nimport { CollectionData } from '../models/data/collectionData';\r\nimport { FolderData } from '../models/data/folderData';\r\nimport { OrganizationData } from '../models/data/organizationData';\r\n\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n SyncCipherNotification,\r\n SyncFolderNotification,\r\n} from '../models/response/notificationResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\n\r\nconst Keys = {\r\n lastSyncPrefix: 'lastSync_',\r\n};\r\n\r\nexport class SyncService implements SyncServiceAbstraction {\r\n syncInProgress: boolean = false;\r\n\r\n constructor(private userService: UserService, private apiService: ApiService,\r\n private settingsService: SettingsService, private folderService: FolderService,\r\n private cipherService: CipherService, private cryptoService: CryptoService,\r\n private collectionService: CollectionService, private storageService: StorageService,\r\n private messagingService: MessagingService, private logoutCallback: (expired: boolean) => Promise) {\r\n }\r\n\r\n async getLastSync(): Promise {\r\n const userId = await this.userService.getUserId();\r\n if (userId == null) {\r\n return null;\r\n }\r\n\r\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\r\n if (lastSync) {\r\n return new Date(lastSync);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async setLastSync(date: Date): Promise {\r\n const userId = await this.userService.getUserId();\r\n if (userId == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\r\n }\r\n\r\n async fullSync(forceSync: boolean): Promise {\r\n this.syncStarted();\r\n const isAuthenticated = await this.userService.isAuthenticated();\r\n if (!isAuthenticated) {\r\n return this.syncCompleted(false);\r\n }\r\n\r\n const now = new Date();\r\n const needsSyncResult = await this.needsSyncing(forceSync);\r\n const needsSync = needsSyncResult[0];\r\n const skipped = needsSyncResult[1];\r\n\r\n if (skipped) {\r\n return this.syncCompleted(false);\r\n }\r\n\r\n if (!needsSync) {\r\n await this.setLastSync(now);\r\n return this.syncCompleted(false);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n try {\r\n const response = await this.apiService.getSync();\r\n\r\n await this.syncProfile(response.profile);\r\n await this.syncFolders(userId, response.folders);\r\n await this.syncCollections(response.collections);\r\n await this.syncCiphers(userId, response.ciphers);\r\n await this.syncSettings(userId, response.domains);\r\n\r\n await this.setLastSync(now);\r\n return this.syncCompleted(true);\r\n } catch (e) {\r\n return this.syncCompleted(false);\r\n }\r\n }\r\n\r\n async syncUpsertFolder(notification: SyncFolderNotification, isEdit: boolean): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n try {\r\n const localFolder = await this.folderService.get(notification.id);\r\n if ((!isEdit && localFolder == null) ||\r\n (isEdit && localFolder != null && localFolder.revisionDate < notification.revisionDate)) {\r\n const remoteFolder = await this.apiService.getFolder(notification.id);\r\n if (remoteFolder != null) {\r\n const userId = await this.userService.getUserId();\r\n await this.folderService.upsert(new FolderData(remoteFolder, userId));\r\n this.messagingService.send('syncedUpsertedFolder', { folderId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n }\r\n } catch { }\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n async syncDeleteFolder(notification: SyncFolderNotification): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n await this.folderService.delete(notification.id);\r\n this.messagingService.send('syncedDeletedFolder', { folderId: notification.id });\r\n this.syncCompleted(true);\r\n return true;\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n async syncUpsertCipher(notification: SyncCipherNotification, isEdit: boolean): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n try {\r\n let shouldUpdate = true;\r\n const localCipher = await this.cipherService.get(notification.id);\r\n if (localCipher != null && localCipher.revisionDate >= notification.revisionDate) {\r\n shouldUpdate = false;\r\n }\r\n\r\n let checkCollections = false;\r\n if (shouldUpdate) {\r\n if (isEdit) {\r\n shouldUpdate = localCipher != null;\r\n checkCollections = true;\r\n } else {\r\n if (notification.collectionIds == null || notification.organizationId == null) {\r\n shouldUpdate = localCipher == null;\r\n } else {\r\n shouldUpdate = false;\r\n checkCollections = true;\r\n }\r\n }\r\n }\r\n\r\n if (!shouldUpdate && checkCollections && notification.organizationId != null &&\r\n notification.collectionIds != null && notification.collectionIds.length > 0) {\r\n const collections = await this.collectionService.getAll();\r\n if (collections != null) {\r\n for (let i = 0; i < collections.length; i++) {\r\n if (notification.collectionIds.indexOf(collections[i].id)) {\r\n shouldUpdate = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (shouldUpdate) {\r\n const remoteCipher = await this.apiService.getCipher(notification.id);\r\n if (remoteCipher != null) {\r\n const userId = await this.userService.getUserId();\r\n await this.cipherService.upsert(new CipherData(remoteCipher, userId));\r\n this.messagingService.send('syncedUpsertedCipher', { cipherId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n }\r\n } catch (e) {\r\n if (e != null && e.statusCode === 404 && isEdit) {\r\n await this.cipherService.delete(notification.id);\r\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n }\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n async syncDeleteCipher(notification: SyncCipherNotification): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n await this.cipherService.delete(notification.id);\r\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n // Helpers\r\n\r\n private syncStarted() {\r\n this.syncInProgress = true;\r\n this.messagingService.send('syncStarted');\r\n }\r\n\r\n private syncCompleted(successfully: boolean): boolean {\r\n this.syncInProgress = false;\r\n this.messagingService.send('syncCompleted', { successfully: successfully });\r\n return successfully;\r\n }\r\n\r\n private async needsSyncing(forceSync: boolean) {\r\n if (forceSync) {\r\n return [true, false];\r\n }\r\n\r\n const lastSync = await this.getLastSync();\r\n if (lastSync == null || lastSync.getTime() === 0) {\r\n return [true, false];\r\n }\r\n\r\n try {\r\n const response = await this.apiService.getAccountRevisionDate();\r\n if (new Date(response) <= lastSync) {\r\n return [false, false];\r\n }\r\n return [true, false];\r\n } catch (e) {\r\n return [false, true];\r\n }\r\n }\r\n\r\n private async syncProfile(response: ProfileResponse) {\r\n const stamp = await this.userService.getSecurityStamp();\r\n if (stamp != null && stamp !== response.securityStamp) {\r\n if (this.logoutCallback != null) {\r\n await this.logoutCallback(true);\r\n }\r\n\r\n throw new Error('Stamp has changed');\r\n }\r\n\r\n await this.cryptoService.setEncKey(response.key);\r\n await this.cryptoService.setEncPrivateKey(response.privateKey);\r\n await this.cryptoService.setOrgKeys(response.organizations);\r\n await this.userService.setSecurityStamp(response.securityStamp);\r\n await this.userService.setSecurityStamp(response.securityStamp);\r\n\r\n const organizations: { [id: string]: OrganizationData; } = {};\r\n response.organizations.forEach((o) => {\r\n organizations[o.id] = new OrganizationData(o);\r\n });\r\n return await this.userService.replaceOrganizations(organizations);\r\n }\r\n\r\n private async syncFolders(userId: string, response: FolderResponse[]) {\r\n const folders: { [id: string]: FolderData; } = {};\r\n response.forEach((f) => {\r\n folders[f.id] = new FolderData(f, userId);\r\n });\r\n return await this.folderService.replace(folders);\r\n }\r\n\r\n private async syncCollections(response: CollectionDetailsResponse[]) {\r\n const collections: { [id: string]: CollectionData; } = {};\r\n response.forEach((c) => {\r\n collections[c.id] = new CollectionData(c);\r\n });\r\n return await this.collectionService.replace(collections);\r\n }\r\n\r\n private async syncCiphers(userId: string, response: CipherResponse[]) {\r\n const ciphers: { [id: string]: CipherData; } = {};\r\n response.forEach((c) => {\r\n ciphers[c.id] = new CipherData(c, userId);\r\n });\r\n return await this.cipherService.replace(ciphers);\r\n }\r\n\r\n private async syncSettings(userId: string, response: DomainsResponse) {\r\n let eqDomains: string[][] = [];\r\n if (response != null && response.equivalentDomains != null) {\r\n eqDomains = eqDomains.concat(response.equivalentDomains);\r\n }\r\n\r\n if (response != null && response.globalEquivalentDomains != null) {\r\n response.globalEquivalentDomains.forEach((global) => {\r\n if (global.domains.length > 0) {\r\n eqDomains.push(global.domains);\r\n }\r\n });\r\n }\r\n\r\n return this.settingsService.setEquivalentDomains(eqDomains);\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\n\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n twoFactorTokenPrefix: 'twoFactorToken_',\n};\n\nexport class TokenService implements TokenServiceAbstraction {\n token: string;\n decodedToken: any;\n refreshToken: string;\n\n constructor(private storageService: StorageService) {\n }\n\n setTokens(accessToken: string, refreshToken: string): Promise {\n return Promise.all([\n this.setToken(accessToken),\n this.setRefreshToken(refreshToken),\n ]);\n }\n\n setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n return this.storageService.save(Keys.accessToken, token);\n }\n\n async getToken(): Promise {\n if (this.token != null) {\n return this.token;\n }\n\n this.token = await this.storageService.get(Keys.accessToken);\n return this.token;\n }\n\n setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n return this.storageService.save(Keys.refreshToken, refreshToken);\n }\n\n async getRefreshToken(): Promise {\n if (this.refreshToken != null) {\n return this.refreshToken;\n }\n\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\n return this.refreshToken;\n }\n\n setTwoFactorToken(token: string, email: string): Promise {\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\n }\n\n getTwoFactorToken(email: string): Promise {\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\n }\n\n clearTwoFactorToken(email: string): Promise {\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\n }\n\n clearToken(): Promise {\n this.token = null;\n this.decodedToken = null;\n this.refreshToken = null;\n\n return Promise.all([\n this.storageService.remove(Keys.accessToken),\n this.storageService.remove(Keys.refreshToken),\n ]);\n }\n\n // jwthelper methods\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\n\n decodeToken(): any {\n if (this.decodedToken) {\n return this.decodedToken;\n }\n\n if (this.token == null) {\n throw new Error('Token not found.');\n }\n\n const parts = this.token.split('.');\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\n if (decoded == null) {\n throw new Error('Cannot decode the token');\n }\n\n this.decodedToken = JSON.parse(decoded);\n return this.decodedToken;\n }\n\n getTokenExpirationDate(): Date {\n const decoded = this.decodeToken();\n if (typeof decoded.exp === 'undefined') {\n return null;\n }\n\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\n d.setUTCSeconds(decoded.exp);\n return d;\n }\n\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\n const d = this.getTokenExpirationDate();\n if (d == null) {\n return 0;\n }\n\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\n return Math.round(msRemaining / 1000);\n }\n\n tokenNeedsRefresh(minutes: number = 5): boolean {\n const sRemaining = this.tokenSecondsRemaining();\n return sRemaining < (60 * minutes);\n }\n\n getUserId(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.sub === 'undefined') {\n throw new Error('No user id found');\n }\n\n return decoded.sub as string;\n }\n\n getEmail(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.email === 'undefined') {\n throw new Error('No email found');\n }\n\n return decoded.email as string;\n }\n\n getEmailVerified(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.email_verified === 'undefined') {\n throw new Error('No email verification found');\n }\n\n return decoded.email_verified as boolean;\n }\n\n getName(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.name === 'undefined') {\n return null;\n }\n\n return decoded.name as string;\n }\n\n getPremium(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.premium === 'undefined') {\n return false;\n }\n\n return decoded.premium as boolean;\n }\n\n getIssuer(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.iss === 'undefined') {\n throw new Error('No issuer found');\n }\n\n return decoded.iss as string;\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\n\nimport { Utils } from '../misc/utils';\n\nconst B32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\nconst SteamChars = '23456789BCDFGHJKMNPQRTVWXY';\n\nexport class TotpService implements TotpServiceAbstraction {\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) { }\n\n async getCode(key: string): Promise {\n if (key == null) {\n return null;\n }\n let period = 30;\n let alg: 'sha1' | 'sha256' | 'sha512' = 'sha1';\n let digits = 6;\n let keyB32 = key;\n const isOtpAuth = key.toLowerCase().indexOf('otpauth://') === 0;\n const isSteamAuth = !isOtpAuth && key.toLowerCase().indexOf('steam://') === 0;\n if (isOtpAuth) {\n const params = Utils.getQueryParams(key);\n if (params.has('digits') && params.get('digits') != null) {\n try {\n const digitParams = parseInt(params.get('digits').trim(), null);\n if (digitParams > 10) {\n digits = 10;\n } else if (digitParams > 0) {\n digits = digitParams;\n }\n } catch { }\n }\n if (params.has('period') && params.get('period') != null) {\n try {\n const periodParam = parseInt(params.get('period').trim(), null);\n if (periodParam > 0) {\n period = periodParam;\n }\n } catch { }\n }\n if (params.has('secret') && params.get('secret') != null) {\n keyB32 = params.get('secret');\n }\n if (params.has('algorithm') && params.get('algorithm') != null) {\n const algParam = params.get('algorithm').toLowerCase();\n if (algParam === 'sha1' || algParam === 'sha256' || algParam === 'sha512') {\n alg = algParam;\n }\n }\n } else if (isSteamAuth) {\n keyB32 = key.substr('steam://'.length);\n digits = 5;\n }\n\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const timeHex = this.leftPad(this.decToHex(Math.floor(epoch / period)), 16, '0');\n const timeBytes = Utils.fromHexToArray(timeHex);\n const keyBytes = this.b32ToBytes(keyB32);\n\n if (!keyBytes.length || !timeBytes.length) {\n return null;\n }\n\n const hash = await this.sign(keyBytes, timeBytes, alg);\n if (hash.length === 0) {\n return null;\n }\n\n /* tslint:disable */\n const offset = (hash[hash.length - 1] & 0xf);\n const binary = ((hash[offset] & 0x7f) << 24) | ((hash[offset + 1] & 0xff) << 16) |\n ((hash[offset + 2] & 0xff) << 8) | (hash[offset + 3] & 0xff);\n /* tslint:enable */\n\n let otp = '';\n if (isSteamAuth) {\n // tslint:disable-next-line\n let fullCode = binary & 0x7fffffff;\n for (let i = 0; i < digits; i++) {\n otp += SteamChars[fullCode % SteamChars.length];\n fullCode = Math.trunc(fullCode / SteamChars.length);\n }\n } else {\n otp = (binary % Math.pow(10, digits)).toString();\n otp = this.leftPad(otp, digits, '0');\n }\n\n return otp;\n }\n\n getTimeInterval(key: string): number {\n let period = 30;\n if (key != null && key.toLowerCase().indexOf('otpauth://') === 0) {\n const params = Utils.getQueryParams(key);\n if (params.has('period') && params.get('period') != null) {\n try {\n period = parseInt(params.get('period').trim(), null);\n } catch { }\n }\n }\n return period;\n }\n\n async isAutoCopyEnabled(): Promise {\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\n }\n\n // Helpers\n\n private leftPad(s: string, l: number, p: string): string {\n if (l + 1 >= s.length) {\n s = Array(l + 1 - s.length).join(p) + s;\n }\n return s;\n }\n\n private decToHex(d: number): string {\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\n }\n\n private b32ToHex(s: string): string {\n s = s.toUpperCase();\n let cleanedInput = '';\n\n for (let i = 0; i < s.length; i++) {\n if (B32Chars.indexOf(s[i]) < 0) {\n continue;\n }\n\n cleanedInput += s[i];\n }\n s = cleanedInput;\n\n let bits = '';\n let hex = '';\n for (let i = 0; i < s.length; i++) {\n const byteIndex = B32Chars.indexOf(s.charAt(i));\n if (byteIndex < 0) {\n continue;\n }\n bits += this.leftPad(byteIndex.toString(2), 5, '0');\n }\n for (let i = 0; i + 4 <= bits.length; i += 4) {\n const chunk = bits.substr(i, 4);\n hex = hex + parseInt(chunk, 2).toString(16);\n }\n return hex;\n }\n\n private b32ToBytes(s: string): Uint8Array {\n return Utils.fromHexToArray(this.b32ToHex(s));\n }\n\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array, alg: 'sha1' | 'sha256' | 'sha512') {\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, alg);\n return new Uint8Array(signature);\n }\n}\n","import { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\n\nimport { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nimport { KdfType } from '../enums/kdfType';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n kdf: 'kdf',\n kdfIterations: 'kdfIterations',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n private userId: string;\n private email: string;\n private stamp: string;\n private kdf: KdfType;\n private kdfIterations: number;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) { }\n\n setInformation(userId: string, email: string, kdf: KdfType, kdfIterations: number): Promise {\n this.email = email;\n this.userId = userId;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n this.storageService.save(Keys.kdf, kdf),\n this.storageService.save(Keys.kdfIterations, kdfIterations),\n ]);\n }\n\n setSecurityStamp(stamp: string): Promise {\n this.stamp = stamp;\n return this.storageService.save(Keys.stamp, stamp);\n }\n\n async getUserId(): Promise {\n if (this.userId != null) {\n return this.userId;\n }\n\n this.userId = await this.storageService.get(Keys.userId);\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email != null) {\n return this.email;\n }\n\n this.email = await this.storageService.get(Keys.userEmail);\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp != null) {\n return this.stamp;\n }\n\n this.stamp = await this.storageService.get(Keys.stamp);\n return this.stamp;\n }\n\n async getKdf(): Promise {\n if (this.kdf != null) {\n return this.kdf;\n }\n\n this.kdf = await this.storageService.get(Keys.kdf);\n return this.kdf;\n }\n\n async getKdfIterations(): Promise {\n if (this.kdfIterations != null) {\n return this.kdfIterations;\n }\n\n this.kdfIterations = await this.storageService.get(Keys.kdfIterations);\n return this.kdfIterations;\n }\n\n async clear(): Promise {\n const userId = await this.getUserId();\n\n await Promise.all([\n this.storageService.remove(Keys.userId),\n this.storageService.remove(Keys.userEmail),\n this.storageService.remove(Keys.stamp),\n this.storageService.remove(Keys.kdf),\n this.storageService.remove(Keys.kdfIterations),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n this.kdf = null;\n this.kdfIterations = null;\n }\n\n async isAuthenticated(): Promise {\n const token = await this.tokenService.getToken();\n if (token == null) {\n return false;\n }\n\n const userId = await this.getUserId();\n return userId != null;\n }\n\n async canAccessPremium(): Promise {\n const tokenPremium = await this.tokenService.getPremium();\n if (tokenPremium) {\n return true;\n }\n\n const orgs = await this.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium && orgs[i].enabled) {\n return true;\n }\n }\n return false;\n }\n\n async getOrganization(id: string): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n if (organizations == null || !organizations.hasOwnProperty(id)) {\n return null;\n }\n\n return new Organization(organizations[id]);\n }\n\n async getAllOrganizations(): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n const response: Organization[] = [];\n for (const id in organizations) {\n if (organizations.hasOwnProperty(id)) {\n response.push(new Organization(organizations[id]));\n }\n }\n return response;\n }\n\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\n const userId = await this.getUserId();\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\n }\n\n async clearOrganizations(userId: string): Promise {\n await this.storageService.remove(Keys.organizationsPrefix + userId);\n }\n}\n","import { Cipher } from './cipher';\r\n\r\nimport { CipherView } from '../view/cipherView';\r\n\r\nexport class CipherWithIds extends Cipher {\r\n id: string;\r\n collectionIds: string[];\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CipherView) {\r\n this.id = o.id;\r\n super.build(o);\r\n this.collectionIds = o.collectionIds;\r\n }\r\n}\r\n","import { Collection } from './collection';\r\n\r\nimport { CollectionView } from '../view/collectionView';\r\n\r\nexport class CollectionWithId extends Collection {\r\n id: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CollectionView) {\r\n this.id = o.id;\r\n super.build(o);\r\n }\r\n}\r\n","import { Folder } from './folder';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nexport class FolderWithId extends Folder {\r\n id: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: FolderView) {\r\n this.id = o.id;\r\n super.build(o);\r\n }\r\n}\r\n","export enum NotificationType {\n SyncCipherUpdate = 0,\n SyncCipherCreate = 1,\n SyncLoginDelete = 2,\n SyncFolderDelete = 3,\n SyncCiphers = 4,\n\n SyncVault = 5,\n SyncOrgKeys = 6,\n SyncFolderCreate = 7,\n SyncFolderUpdate = 8,\n SyncCipherDelete = 9,\n SyncSettings = 10,\n\n LogOut = 11,\n}\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\n\r\nimport { LockService } from '../../abstractions/lock.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivate {\r\n constructor(private lockService: LockService, private userService: UserService, private router: Router,\r\n private messagingService: MessagingService) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot, routerState: RouterStateSnapshot) {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (!isAuthed) {\r\n this.messagingService.send('logout');\r\n return false;\r\n }\r\n\r\n const locked = await this.lockService.isLocked();\r\n if (locked) {\r\n if (routerState != null) {\r\n this.messagingService.send('lockedUrl', { url: routerState.url });\r\n }\r\n this.router.navigate(['lock']);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class OrganizationGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n if (org == null) {\n this.router.navigate(['/']);\n return false;\n }\n if (!org.isOwner && !org.enabled) {\n this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));\n this.router.navigate(['/']);\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Injectable()\r\nexport class OrganizationTypeGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.parent.params.organizationId);\r\n const allowedTypes = route.data == null ? null : route.data.allowedTypes as OrganizationUserType[];\r\n if (allowedTypes == null || allowedTypes.indexOf(org.type) === -1) {\r\n this.router.navigate(['/organizations', org.id]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class UnauthGuardService implements CanActivate {\n constructor(private lockService: LockService, private userService: UserService,\n private router: Router) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (isAuthed) {\n const locked = await this.lockService.isLocked();\n if (locked) {\n this.router.navigate(['lock']);\n } else {\n this.router.navigate(['vault']);\n }\n return false;\n }\n\n return true;\n }\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport 'bootstrap';\nimport 'jquery';\nimport 'popper.js';\n\n// tslint:disable-next-line\nrequire('../scss/styles.scss');\n\nimport { AppModule } from './app.module';\n\nif (process.env.ENV === 'production') {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule, { preserveWhitespaces: true });\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ServicesModule } from './services/services.module';\n\nimport { AppComponent } from './app.component';\nimport { ModalComponent } from './modal.component';\n\nimport { AvatarComponent } from './components/avatar.component';\nimport { CalloutComponent } from './components/callout.component';\nimport { PasswordStrengthComponent } from './components/password-strength.component';\n\nimport { FooterComponent } from './layouts/footer.component';\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { NavbarComponent } from './layouts/navbar.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport {\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\n} from './organizations/manage/collection-add-edit.component';\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserConfirmComponent as OrgUserConfirmComponent } from './organizations/manage/user-confirm.component';\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.component';\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AddCreditComponent } from './settings/add-credit.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangeKdfComponent } from './settings/change-kdf.component';\nimport { ChangePasswordComponent } from './settings/change-password.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './settings/delete-account.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PaymentComponent } from './settings/payment.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { ProfileComponent } from './settings/profile.component';\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\nimport { UpdateKeyComponent } from './settings/update-key.component';\nimport { UpdateLicenseComponent } from './settings/update-license.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkShareComponent } from './vault/bulk-share.component';\nimport { CiphersComponent } from './vault/ciphers.component';\nimport { CollectionsComponent } from './vault/collections.component';\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\nimport { GroupingsComponent } from './vault/groupings.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\nimport { FlexCopyDirective } from 'jslib/angular/directives/flex-copy.directive';\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\n\nimport { ColorPasswordPipe } from 'jslib/angular/pipes/color-password.pipe';\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeCa from '@angular/common/locales/ca';\nimport localeCs from '@angular/common/locales/cs';\nimport localeDa from '@angular/common/locales/da';\nimport localeDe from '@angular/common/locales/de';\nimport localeEnGb from '@angular/common/locales/en-GB';\nimport localeEs from '@angular/common/locales/es';\nimport localeEt from '@angular/common/locales/et';\nimport localeFr from '@angular/common/locales/fr';\nimport localeIt from '@angular/common/locales/it';\nimport localeJa from '@angular/common/locales/ja';\nimport localeNb from '@angular/common/locales/nb';\nimport localeNl from '@angular/common/locales/nl';\nimport localePl from '@angular/common/locales/pl';\nimport localePtBr from '@angular/common/locales/pt';\nimport localePtPt from '@angular/common/locales/pt-PT';\nimport localeRu from '@angular/common/locales/ru';\nimport localeSk from '@angular/common/locales/sk';\nimport localeSv from '@angular/common/locales/sv';\nimport localeUk from '@angular/common/locales/uk';\nimport localeZhCn from '@angular/common/locales/zh-Hans';\nimport localeZhTw from '@angular/common/locales/zh-Hant';\n\nregisterLocaleData(localeCa, 'ca');\nregisterLocaleData(localeCs, 'cs');\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeDe, 'de');\nregisterLocaleData(localeEnGb, 'en-GB');\nregisterLocaleData(localeEs, 'es');\nregisterLocaleData(localeEt, 'et');\nregisterLocaleData(localeFr, 'fr');\nregisterLocaleData(localeIt, 'it');\nregisterLocaleData(localeJa, 'ja');\nregisterLocaleData(localeNb, 'nb');\nregisterLocaleData(localeNl, 'nl');\nregisterLocaleData(localePl, 'pl');\nregisterLocaleData(localePtBr, 'pt-BR');\nregisterLocaleData(localePtPt, 'pt-PT');\nregisterLocaleData(localeRu, 'ru');\nregisterLocaleData(localeSk, 'sk');\nregisterLocaleData(localeSv, 'sv');\nregisterLocaleData(localeUk, 'uk');\nregisterLocaleData(localeZhCn, 'zh-CN');\nregisterLocaleData(localeZhTw, 'zh-TW');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot([Angulartics2GoogleAnalytics], {\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule.forRoot(),\n ],\n declarations: [\n AcceptOrganizationComponent,\n AccountComponent,\n AddCreditComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangeKdfComponent,\n ChangePasswordComponent,\n CiphersComponent,\n CollectionsComponent,\n ColorPasswordPipe,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n ExportComponent,\n ExposedPasswordsReportComponent,\n FallbackSrcDirective,\n FlexCopyDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n I18nPipe,\n IconComponent,\n ImportComponent,\n InactiveTwoFactorReportComponent,\n InputVerbatimDirective,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrganizationSubscriptionComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgExposedPasswordsReportComponent,\n OrgImportComponent,\n OrgInactiveTwoFactorReportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgReusedPasswordsReportComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgUnsecuredWebsitesReportComponent,\n OrgVaultComponent,\n OrgWeakPasswordsReportComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PasswordStrengthComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n ReusedPasswordsReportComponent,\n SearchCiphersPipe,\n SearchPipe,\n SettingsComponent,\n ShareComponent,\n StopClickDirective,\n StopPropDirective,\n ToolsComponent,\n TrueFalseValueDirective,\n TwoFactorAuthenticatorComponent,\n TwoFactorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorSetupComponent,\n TwoFactorU2fComponent,\n TwoFactorVerifyComponent,\n TwoFactorYubiKeyComponent,\n UnsecuredWebsitesReportComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n UserSubscriptionComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n WeakPasswordsReportComponent,\n ],\n entryComponents: [\n AddEditComponent,\n AttachmentsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { BroadcasterService as BroadcasterServiceAbstraction } from '../abstractions/broadcaster.service';\r\n\r\nexport class BroadcasterService implements BroadcasterServiceAbstraction {\r\n subscribers: Map any> = new Map any>();\r\n\r\n send(message: any, id?: string) {\r\n if (id != null) {\r\n if (this.subscribers.has(id)) {\r\n this.subscribers.get(id)(message);\r\n }\r\n return;\r\n }\r\n\r\n this.subscribers.forEach((value) => {\r\n value(message);\r\n });\r\n }\r\n\r\n subscribe(id: string, messageCallback: (message: any) => any) {\r\n if (this.subscribers.has(id)) {\r\n return;\r\n }\r\n\r\n this.subscribers.set(id, messageCallback);\r\n }\r\n\r\n unsubscribe(id: string) {\r\n if (this.subscribers.has(id)) {\r\n this.subscribers.delete(id);\r\n }\r\n }\r\n}\r\n","\n
\n © {{year}}, 8bit Solutions LLC\n
{{'versionNumber' | i18n : version}}\n
\n","
\n
\n
\n \n

{{'loginOrCreateNewAccount' | i18n}}

\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n {{'getMasterPasswordHint' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n \n \n {{'createAccount' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import {\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthResult } from '../../models/domain/authResult';\r\n\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StorageService } from '../../abstractions/storage.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nconst Keys = {\r\n rememberedEmail: 'rememberedEmail',\r\n rememberEmail: 'rememberEmail',\r\n};\r\n\r\nexport class LoginComponent implements OnInit {\r\n @Input() email: string = '';\r\n @Input() rememberEmail = true;\r\n\r\n masterPassword: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n onSuccessfulLoginTwoFactorNavigate: () => Promise;\r\n\r\n protected twoFactorRoute = '2fa';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n private storageService: StorageService) { }\r\n\r\n async ngOnInit() {\r\n if (this.email == null || this.email === '') {\r\n this.email = await this.storageService.get(Keys.rememberedEmail);\r\n if (this.email == null) {\r\n this.email = '';\r\n }\r\n }\r\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\r\n if (this.rememberEmail == null) {\r\n this.rememberEmail = true;\r\n }\r\n if (Utils.isBrowser) {\r\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\r\n const response = await this.formPromise;\r\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\r\n if (this.rememberEmail) {\r\n await this.storageService.save(Keys.rememberedEmail, this.email);\r\n } else {\r\n await this.storageService.remove(Keys.rememberedEmail);\r\n }\r\n if (response.twoFactor) {\r\n this.platformUtilsService.eventTrack('Logged In To Two-step');\r\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\r\n this.onSuccessfulLoginTwoFactorNavigate();\r\n } else {\r\n this.router.navigate([this.twoFactorRoute]);\r\n }\r\n } else {\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.platformUtilsService.eventTrack('Logged In');\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n }\r\n } catch { }\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Login');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n}\r\n","export function getDomain(host: string): string | null {\r\n return null;\r\n}\r\n","
\n
\n
\n

{{title}}

\n
\n
\n \n

\n {{'enterVerificationCodeApp' | i18n}}

\n

\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\n

\n
\n \n \n \n \n {{'sendVerificationCodeEmailAgain' | i18n}}\n \n \n
\n \n \n

{{'insertYubiKey' | i18n}}

\n \"\"\n
\n \n \n
\n
\n \n

\n \n

\n \n

{{'insertU2f' | i18n}}

\n \"\"\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n
\n \n

{{'noTwoStepProviders' | i18n}}

\n

{{'noTwoStepProviders2' | i18n}}

\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n\n\n","import {\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class TwoFactorOptionsComponent implements OnInit {\r\n @Output() onProviderSelected = new EventEmitter();\r\n @Output() onRecoverSelected = new EventEmitter();\r\n\r\n providers: any[] = [];\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\r\n protected win: Window) { }\r\n\r\n ngOnInit() {\r\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\r\n }\r\n\r\n choose(p: any) {\r\n this.onProviderSelected.emit(p.type);\r\n }\r\n\r\n recover() {\r\n this.platformUtilsService.eventTrack('Selected Recover');\r\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\r\n this.onRecoverSelected.emit();\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n OnDestroy,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent implements OnDestroy {\r\n @Output() onClose = new EventEmitter();\r\n @Output() onClosed = new EventEmitter();\r\n @Output() onShow = new EventEmitter();\r\n @Output() onShown = new EventEmitter();\r\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\r\n parentContainer: ViewContainerRef = null;\r\n fade: boolean = true;\r\n\r\n constructor(protected componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('modal-open');\r\n document.body.removeChild(document.querySelector('.modal-backdrop'));\r\n }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.onShow.emit();\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n document.body.classList.add('modal-open');\r\n const backdrop = document.createElement('div');\r\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\r\n document.body.appendChild(backdrop);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n });\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\r\n for (const closeElement of modals) {\r\n closeElement.addEventListener('click', (event) => {\r\n this.close();\r\n });\r\n }\r\n\r\n this.onShown.emit();\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n }\r\n}\r\n","import {\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { DeviceType } from '../../enums/deviceType';\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { TwoFactorProviders } from '../../services/auth.service';\r\n\r\nimport * as DuoWebSDK from 'duo_web_sdk';\r\nimport { U2f } from '../../misc/u2f';\r\n\r\nexport class TwoFactorComponent implements OnInit, OnDestroy {\r\n token: string = '';\r\n remember: boolean = false;\r\n u2fReady: boolean = false;\r\n providers = TwoFactorProviders;\r\n providerType = TwoFactorProviderType;\r\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\r\n u2fSupported: boolean = false;\r\n u2f: U2f = null;\r\n title: string = '';\r\n twoFactorEmail: string = null;\r\n formPromise: Promise;\r\n emailPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n\r\n protected loginRoute = 'login';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected apiService: ApiService,\r\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\r\n protected environmentService: EnvironmentService) {\r\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.authService.email == null || this.authService.masterPasswordHash == null ||\r\n this.authService.twoFactorProviders == null) {\r\n this.router.navigate([this.loginRoute]);\r\n return;\r\n }\r\n\r\n if (this.win != null && this.u2fSupported) {\r\n let customWebVaultUrl: string = null;\r\n if (this.environmentService.baseUrl != null) {\r\n customWebVaultUrl = this.environmentService.baseUrl;\r\n } else if (this.environmentService.webVaultUrl != null) {\r\n customWebVaultUrl = this.environmentService.webVaultUrl;\r\n }\r\n\r\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\r\n this.token = token;\r\n this.submit();\r\n }, (error: string) => {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), error);\r\n }, (info: string) => {\r\n if (info === 'ready') {\r\n this.u2fReady = true;\r\n }\r\n });\r\n }\r\n\r\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\r\n await this.init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.cleanupU2f();\r\n this.u2f = null;\r\n }\r\n\r\n async init() {\r\n if (this.selectedProviderType == null) {\r\n this.title = this.i18nService.t('loginUnavailable');\r\n return;\r\n }\r\n\r\n this.cleanupU2f();\r\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\r\n const params = this.authService.twoFactorProviders.get(this.selectedProviderType);\r\n switch (this.selectedProviderType) {\r\n case TwoFactorProviderType.U2f:\r\n if (!this.u2fSupported || this.u2f == null) {\r\n break;\r\n }\r\n\r\n if (params.Challenge != null) {\r\n this.u2f.init(JSON.parse(params.Challenge));\r\n } else {\r\n // TODO: Deprecated. Remove in future version.\r\n const challenges = JSON.parse(params.Challenges);\r\n if (challenges != null && challenges.length > 0) {\r\n this.u2f.init({\r\n appId: challenges[0].appId,\r\n challenge: challenges[0].challenge,\r\n keys: challenges.map((c: any) => {\r\n return {\r\n version: c.version,\r\n keyHandle: c.keyHandle,\r\n };\r\n }),\r\n });\r\n }\r\n }\r\n break;\r\n case TwoFactorProviderType.Duo:\r\n case TwoFactorProviderType.OrganizationDuo:\r\n if (this.platformUtilsService.getDevice() === DeviceType.SafariExtension) {\r\n break;\r\n }\r\n\r\n setTimeout(() => {\r\n DuoWebSDK.init({\r\n iframe: undefined,\r\n host: params.Host,\r\n sig_request: params.Signature,\r\n submit_callback: async (f: HTMLFormElement) => {\r\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\r\n if (sig != null) {\r\n this.token = sig.value;\r\n await this.submit();\r\n }\r\n },\r\n });\r\n }, 0);\r\n break;\r\n case TwoFactorProviderType.Email:\r\n this.twoFactorEmail = params.Email;\r\n if (this.authService.twoFactorProviders.size > 1) {\r\n await this.sendEmail(false);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.token == null || this.token === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('verificationCodeRequired'));\r\n return;\r\n }\r\n\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n } else {\r\n return;\r\n }\r\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\r\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\r\n this.token = this.token.replace(' ', '').trim();\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\r\n await this.formPromise;\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.platformUtilsService.eventTrack('Logged In From Two-step');\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch {\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\r\n this.u2f.start();\r\n }\r\n }\r\n }\r\n\r\n async sendEmail(doToast: boolean) {\r\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\r\n return;\r\n }\r\n\r\n if (this.emailPromise != null) {\r\n return;\r\n }\r\n\r\n try {\r\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\r\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\r\n await this.emailPromise;\r\n if (doToast) {\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\r\n }\r\n } catch { }\r\n\r\n this.emailPromise = null;\r\n }\r\n\r\n private cleanupU2f() {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n this.u2f.cleanup();\r\n }\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class AuthResult {\r\n twoFactor: boolean = false;\r\n twoFactorProviders: Map = null;\r\n}\r\n","import { DeviceType } from '../../enums/deviceType';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class DeviceRequest {\r\n type: DeviceType;\r\n name: string;\r\n identifier: string;\r\n pushToken?: string;\r\n\r\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\r\n this.type = platformUtilsService.getDevice();\r\n this.name = platformUtilsService.getDeviceString();\r\n this.identifier = appId;\r\n this.pushToken = null;\r\n }\r\n}\r\n","export class PreloginRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\n\nexport class TokenRequest {\n email: string;\n masterPasswordHash: string;\n token: string;\n provider: TwoFactorProviderType;\n remember: boolean;\n device?: DeviceRequest;\n\n constructor(email: string, masterPasswordHash: string, provider: TwoFactorProviderType,\n token: string, remember: boolean, device?: DeviceRequest) {\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.token = token;\n this.provider = provider;\n this.remember = remember;\n this.device = device != null ? device : null;\n }\n\n toIdentityToken(clientId: string) {\n const obj: any = {\n grant_type: 'password',\n username: this.email,\n password: this.masterPasswordHash,\n scope: 'api offline_access',\n client_id: clientId,\n };\n\n if (this.device) {\n obj.deviceType = this.device.type;\n obj.deviceIdentifier = this.device.identifier;\n obj.deviceName = this.device.name;\n // no push tokens for browser apps yet\n // obj.devicePushToken = this.device.pushToken;\n }\n\n if (this.token && this.provider != null) {\n obj.twoFactorToken = this.token;\n obj.twoFactorProvider = this.provider;\n obj.twoFactorRemember = this.remember ? '1' : '0';\n }\n\n return obj;\n }\n}\n","export class U2f {\r\n private iframe: HTMLIFrameElement = null;\r\n private connectorLink: HTMLAnchorElement;\r\n private parseFunction = this.parseMessage.bind(this);\r\n\r\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\r\n private errorCallback: Function, private infoCallback: Function) {\r\n this.connectorLink = win.document.createElement('a');\r\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\r\n }\r\n\r\n init(data: any): void {\r\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\r\n '?data=' + this.base64Encode(JSON.stringify(data)) +\r\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\r\n '&v=1';\r\n\r\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\r\n this.iframe.src = this.connectorLink.href;\r\n\r\n this.win.addEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n stop() {\r\n this.sendMessage('stop');\r\n }\r\n\r\n start() {\r\n this.sendMessage('start');\r\n }\r\n\r\n sendMessage(message: any) {\r\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\r\n return;\r\n }\r\n\r\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\r\n }\r\n\r\n base64Encode(str: string): string {\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\r\n return String.fromCharCode(('0x' + p1) as any);\r\n }));\r\n }\r\n\r\n cleanup() {\r\n this.win.removeEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n private parseMessage(event: MessageEvent) {\r\n if (!this.validMessage(event)) {\r\n return;\r\n }\r\n\r\n const parts: string[] = event.data.split('|');\r\n if (parts[0] === 'success' && this.successCallback) {\r\n this.successCallback(parts[1]);\r\n } else if (parts[0] === 'error' && this.errorCallback) {\r\n this.errorCallback(parts[1]);\r\n } else if (parts[0] === 'info' && this.infoCallback) {\r\n this.infoCallback(parts[1]);\r\n }\r\n }\r\n\r\n private validMessage(event: MessageEvent) {\r\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\r\n event.data == null || typeof (event.data) !== 'string') {\r\n return false;\r\n }\r\n\r\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\r\n event.data.indexOf('info|') === 0;\r\n }\r\n}\r\n","
\n
\n
\n

{{'createAccount' | i18n}}

\n
\n
\n \n {{'createOrganizationCreatePersonalAccount' | i18n}}\n \n
\n \n \n {{'emailAddressDesc' | i18n}}\n
\n
\n \n \n {{'yourNameDesc' | i18n}}\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n {{'submitAgreePolicies' | i18n}}\n {{'termsOfService' | i18n}},\n {{'privacyPolicy' | i18n}}\n \n
\n
\n
\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { RegisterRequest } from '../../models/request/registerRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class RegisterComponent {\r\n name: string = '';\r\n email: string = '';\r\n masterPassword: string = '';\r\n confirmMasterPassword: string = '';\r\n hint: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n masterPasswordScore: number;\r\n\r\n protected successRoute = 'login';\r\n private masterPasswordStrengthTimeout: any;\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected apiService: ApiService, protected stateService: StateService,\r\n protected platformUtilsService: PlatformUtilsService,\r\n protected passwordGenerationService: PasswordGenerationService) { }\r\n\r\n get masterPasswordScoreWidth() {\r\n return this.masterPasswordScore == null ? 0 : (this.masterPasswordScore + 1) * 20;\r\n }\r\n\r\n get masterPasswordScoreColor() {\r\n switch (this.masterPasswordScore) {\r\n case 4:\r\n return 'success';\r\n case 3:\r\n return 'primary';\r\n case 2:\r\n return 'warning';\r\n default:\r\n return 'danger';\r\n }\r\n }\r\n\r\n get masterPasswordScoreText() {\r\n switch (this.masterPasswordScore) {\r\n case 4:\r\n return this.i18nService.t('strong');\r\n case 3:\r\n return this.i18nService.t('good');\r\n case 2:\r\n return this.i18nService.t('weak');\r\n default:\r\n return this.masterPasswordScore != null ? this.i18nService.t('weak') : null;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.confirmMasterPassword) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\r\n this.getPasswordStrengthUserInput());\r\n if (strengthResult != null && strengthResult.score < 3) {\r\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\r\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\r\n 'warning');\r\n if (!result) {\r\n return;\r\n }\r\n }\r\n\r\n this.name = this.name === '' ? null : this.name;\r\n this.email = this.email.trim().toLowerCase();\r\n const kdf = KdfType.PBKDF2_SHA256;\r\n const useLowerKdf = this.platformUtilsService.isEdge() || this.platformUtilsService.isIE();\r\n const kdfIterations = useLowerKdf ? 10000 : 100000;\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\r\n this.hint, encKey[1].encryptedString, kdf, kdfIterations);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n const orgInvite = await this.stateService.get('orgInvitation');\r\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\r\n request.token = orgInvite.token;\r\n request.organizationUserId = orgInvite.organizationUserId;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postRegister(request);\r\n await this.formPromise;\r\n this.platformUtilsService.eventTrack('Registered');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('newAccountCreated'));\r\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\r\n } catch { }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Register');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n\r\n updatePasswordStrength() {\r\n if (this.masterPasswordStrengthTimeout != null) {\r\n clearTimeout(this.masterPasswordStrengthTimeout);\r\n }\r\n this.masterPasswordStrengthTimeout = setTimeout(() => {\r\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\r\n this.getPasswordStrengthUserInput());\r\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\r\n }, 300);\r\n }\r\n\r\n private getPasswordStrengthUserInput() {\r\n let userInput: string[] = [];\r\n const atPosition = this.email.indexOf('@');\r\n if (atPosition > -1) {\r\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\r\n }\r\n if (this.name != null && this.name !== '') {\r\n userInput = userInput.concat(this.name.trim().toLowerCase().split(' '));\r\n }\r\n return userInput;\r\n }\r\n}\r\n","import { KeysRequest } from './keysRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class RegisterRequest {\n name: string;\n email: string;\n masterPasswordHash: string;\n masterPasswordHint: string;\n key: string;\n keys: KeysRequest;\n token: string;\n organizationUserId: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string,\n kdf: KdfType, kdfIterations: number) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n }\n}\n","
\n
\n
\n

{{'passwordHint' | i18n}}

\n
\n
\n
\n \n \n {{'enterEmailToGetHint' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class HintComponent {\r\n email: string = '';\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n protected onSuccessfulSubmit: () => void;\r\n\r\n constructor(protected router: Router, protected i18nService: I18nService,\r\n protected apiService: ApiService, protected platformUtilsService: PlatformUtilsService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\r\n await this.formPromise;\r\n this.platformUtilsService.eventTrack('Requested Hint');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('masterPassSent'));\r\n if (this.onSuccessfulSubmit != null) {\r\n this.onSuccessfulSubmit();\r\n } else if (this.router != null) {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch { }\r\n }\r\n}\r\n","export class PasswordHintRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n {{'loggedInAsEmail' | i18n : email}}\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { LockService } from '../../abstractions/lock.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nexport class LockComponent implements OnInit {\n masterPassword: string = '';\n pin: string = '';\n showPassword: boolean = false;\n email: string;\n pinLock: boolean = false;\n\n protected successRoute: string = 'vault';\n protected onSuccessfulSubmit: () => void;\n\n private invalidPinAttempts = 0;\n private pinSet: [boolean, boolean];\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\n protected userService: UserService, protected cryptoService: CryptoService,\n protected storageService: StorageService, protected lockService: LockService) { }\n\n async ngOnInit() {\n this.pinSet = await this.lockService.isPinLockSet();\n const hasKey = await this.cryptoService.hasKey();\n this.pinLock = (this.pinSet[0] && hasKey) || this.pinSet[1];\n this.email = await this.userService.getEmail();\n }\n\n async submit() {\n if (this.pinLock && (this.pin == null || this.pin === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('pinRequired'));\n return;\n }\n if (!this.pinLock && (this.masterPassword == null || this.masterPassword === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n\n if (this.pinLock) {\n let failed = true;\n try {\n if (this.pinSet[0]) {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin));\n failed = decPin !== this.pin;\n this.lockService.pinLocked = failed;\n if (!failed) {\n this.doContinue();\n }\n } else {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations);\n failed = false;\n await this.setKeyAndContinue(key);\n }\n } catch {\n failed = true;\n }\n\n if (failed) {\n this.invalidPinAttempts++;\n if (this.invalidPinAttempts >= 5) {\n this.messagingService.send('logout');\n return;\n }\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidPin'));\n }\n } else {\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n this.setKeyAndContinue(key);\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('Toggled Master Password on Unlock');\n this.showPassword = !this.showPassword;\n document.getElementById(this.pinLock ? 'pin' : 'masterPassword').focus();\n }\n\n private async setKeyAndContinue(key: SymmetricCryptoKey) {\n await this.cryptoService.setKey(key);\n this.doContinue();\n }\n\n private doContinue() {\n this.messagingService.send('unlocked');\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n","export class VerifyEmailRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n
\n
\n
\n

{{'joinOrganization' | i18n}}

\n
\n
\n

\n {{orgName}}\n {{email}}\n

\n

{{'joinOrganizationDesc' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","
\n
\n
\n

{{'recoverAccountTwoStep' | i18n}}

\n
\n
\n

{{'recoverAccountTwoStepDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n

{{'deleteRecoverDesc' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class DeleteRecoverRequest {\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n {{'deleteAccountWarning' | i18n}}\n

\n {{email}}\n

\n

{{'deleteRecoverConfirmDesc' | i18n}}

\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class VerifyDeleteRecoverRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","\n\n\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'myVault' | i18n}}\n \n \n \n

\n \n
\n \n \n
\n
\n
\n
\n {{'updateKeyTitle' | i18n}}\n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\n \n
\n
\n \n
\n
\n {{'updateBrowser' | i18n}}\n
\n
\n

{{'updateBrowserDesc' | i18n}}

\n \n {{'updateBrowser' | i18n}}\n \n
\n
\n
\n
\n {{'goPremium' | i18n}}\n
\n
\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n \n {{'goPremium' | i18n}}\n \n
\n
\n
\n
\n {{'organizations' | i18n}}\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n","
\n
\n {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","
\n
\n {{'filters' | i18n}}\n \n \n \n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n

\n \n \n

\n {{'folders' | i18n}}\n \n \n \n

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","import {\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CollectionView } from '../../models/view/collectionView';\r\nimport { FolderView } from '../../models/view/folderView';\r\n\r\nimport { TreeNode } from '../../models/domain/treeNode';\r\n\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { FolderService } from '../../abstractions/folder.service';\r\nimport { StorageService } from '../../abstractions/storage.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { ConstantsService } from '../../services/constants.service';\r\n\r\nexport class GroupingsComponent {\r\n @Input() showFolders = true;\r\n @Input() showCollections = true;\r\n @Input() showFavorites = true;\r\n\r\n @Output() onAllClicked = new EventEmitter();\r\n @Output() onFavoritesClicked = new EventEmitter();\r\n @Output() onCipherTypeClicked = new EventEmitter();\r\n @Output() onFolderClicked = new EventEmitter();\r\n @Output() onAddFolder = new EventEmitter();\r\n @Output() onEditFolder = new EventEmitter();\r\n @Output() onCollectionClicked = new EventEmitter();\r\n\r\n folders: FolderView[];\r\n nestedFolders: Array>;\r\n collections: CollectionView[];\r\n nestedCollections: Array>;\r\n loaded: boolean = false;\r\n cipherType = CipherType;\r\n selectedAll: boolean = false;\r\n selectedFavorites: boolean = false;\r\n selectedType: CipherType = null;\r\n selectedFolder: boolean = false;\r\n selectedFolderId: string = null;\r\n selectedCollectionId: string = null;\r\n\r\n private collapsedGroupings: Set;\r\n private collapsedGroupingsKey: string;\r\n\r\n constructor(protected collectionService: CollectionService, protected folderService: FolderService,\r\n protected storageService: StorageService, protected userService: UserService) { }\r\n\r\n async load(setLoaded = true) {\r\n const userId = await this.userService.getUserId();\r\n this.collapsedGroupingsKey = ConstantsService.collapsedGroupingsKey + '_' + userId;\r\n const collapsedGroupings = await this.storageService.get(this.collapsedGroupingsKey);\r\n if (collapsedGroupings == null) {\r\n this.collapsedGroupings = new Set();\r\n } else {\r\n this.collapsedGroupings = new Set(collapsedGroupings);\r\n }\r\n\r\n await this.loadFolders();\r\n await this.loadCollections();\r\n\r\n if (setLoaded) {\r\n this.loaded = true;\r\n }\r\n }\r\n\r\n async loadCollections(organizationId?: string) {\r\n if (!this.showCollections) {\r\n return;\r\n }\r\n const collections = await this.collectionService.getAllDecrypted();\r\n if (organizationId != null) {\r\n this.collections = collections.filter((c) => c.organizationId === organizationId);\r\n } else {\r\n this.collections = collections;\r\n }\r\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\r\n }\r\n\r\n async loadFolders() {\r\n if (!this.showFolders) {\r\n return;\r\n }\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.nestedFolders = await this.folderService.getAllNested();\r\n }\r\n\r\n selectAll() {\r\n this.clearSelections();\r\n this.selectedAll = true;\r\n this.onAllClicked.emit();\r\n }\r\n\r\n selectFavorites() {\r\n this.clearSelections();\r\n this.selectedFavorites = true;\r\n this.onFavoritesClicked.emit();\r\n }\r\n\r\n selectType(type: CipherType) {\r\n this.clearSelections();\r\n this.selectedType = type;\r\n this.onCipherTypeClicked.emit(type);\r\n }\r\n\r\n selectFolder(folder: FolderView) {\r\n this.clearSelections();\r\n this.selectedFolder = true;\r\n this.selectedFolderId = folder.id;\r\n this.onFolderClicked.emit(folder);\r\n }\r\n\r\n addFolder() {\r\n this.onAddFolder.emit();\r\n }\r\n\r\n editFolder(folder: FolderView) {\r\n this.onEditFolder.emit(folder);\r\n }\r\n\r\n selectCollection(collection: CollectionView) {\r\n this.clearSelections();\r\n this.selectedCollectionId = collection.id;\r\n this.onCollectionClicked.emit(collection);\r\n }\r\n\r\n clearSelections() {\r\n this.selectedAll = false;\r\n this.selectedFavorites = false;\r\n this.selectedType = null;\r\n this.selectedFolder = false;\r\n this.selectedFolderId = null;\r\n this.selectedCollectionId = null;\r\n }\r\n\r\n collapse(grouping: FolderView | CollectionView, idPrefix = '') {\r\n if (grouping.id == null) {\r\n return;\r\n }\r\n const id = idPrefix + grouping.id;\r\n if (this.isCollapsed(grouping, idPrefix)) {\r\n this.collapsedGroupings.delete(id);\r\n } else {\r\n this.collapsedGroupings.add(id);\r\n }\r\n this.storageService.save(this.collapsedGroupingsKey, this.collapsedGroupings);\r\n }\r\n\r\n isCollapsed(grouping: FolderView | CollectionView, idPrefix = '') {\r\n return this.collapsedGroupings.has(idPrefix + grouping.id);\r\n }\r\n}\r\n","\n 0\">\n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n \n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFallbackSrc]',\r\n})\r\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\r\n this.el.nativeElement.src = this.appFallbackSrc;\r\n }\r\n}\n","import {\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { SearchService } from '../../abstractions/search.service';\r\n\r\nimport { CipherView } from '../../models/view/cipherView';\r\n\r\nexport class CiphersComponent {\r\n @Input() activeCipherId: string = null;\r\n @Output() onCipherClicked = new EventEmitter();\r\n @Output() onCipherRightClicked = new EventEmitter();\r\n @Output() onAddCipher = new EventEmitter();\r\n @Output() onAddCipherOptions = new EventEmitter();\r\n\r\n loaded: boolean = false;\r\n ciphers: CipherView[] = [];\r\n searchText: string;\r\n searchPlaceholder: string = null;\r\n filter: (cipher: CipherView) => boolean = null;\r\n\r\n protected searchPending = false;\r\n\r\n private searchTimeout: any = null;\r\n\r\n constructor(protected searchService: SearchService) { }\r\n\r\n async load(filter: (cipher: CipherView) => boolean = null) {\r\n await this.applyFilter(filter);\r\n this.loaded = true;\r\n }\r\n\r\n async refresh() {\r\n this.loaded = false;\r\n this.ciphers = [];\r\n await this.load(this.filter);\r\n }\r\n\r\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\r\n this.filter = filter;\r\n await this.search(null);\r\n }\r\n\r\n async search(timeout: number = null) {\r\n this.searchPending = false;\r\n if (this.searchTimeout != null) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n if (timeout == null) {\r\n this.ciphers = await this.searchService.searchCiphers(this.searchText, this.filter);\r\n return;\r\n }\r\n this.searchPending = true;\r\n this.searchTimeout = setTimeout(async () => {\r\n this.ciphers = await this.searchService.searchCiphers(this.searchText, this.filter);\r\n this.searchPending = false;\r\n }, timeout);\r\n }\r\n\r\n selectCipher(cipher: CipherView) {\r\n this.onCipherClicked.emit(cipher);\r\n }\r\n\r\n rightClickCipher(cipher: CipherView) {\r\n this.onCipherRightClicked.emit(cipher);\r\n }\r\n\r\n addCipher() {\r\n this.onAddCipher.emit();\r\n }\r\n\r\n addCipherOptions() {\r\n this.onAddCipherOptions.emit();\r\n }\r\n}\r\n","export class AttachmentRequest {\r\n fileName: string;\r\n key: string;\r\n}\r\n","import {\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherType } from '../../enums/cipherType';\r\nimport { FieldType } from '../../enums/fieldType';\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { SecureNoteType } from '../../enums/secureNoteType';\r\nimport { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { AuditService } from '../../abstractions/audit.service';\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { FolderService } from '../../abstractions/folder.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { Cipher } from '../../models/domain/cipher';\r\n\r\nimport { CardView } from '../../models/view/cardView';\r\nimport { CipherView } from '../../models/view/cipherView';\r\nimport { CollectionView } from '../../models/view/collectionView';\r\nimport { FieldView } from '../../models/view/fieldView';\r\nimport { FolderView } from '../../models/view/folderView';\r\nimport { IdentityView } from '../../models/view/identityView';\r\nimport { LoginUriView } from '../../models/view/loginUriView';\r\nimport { LoginView } from '../../models/view/loginView';\r\nimport { SecureNoteView } from '../../models/view/secureNoteView';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class AddEditComponent implements OnInit {\r\n @Input() folderId: string = null;\r\n @Input() cipherId: string;\r\n @Input() type: CipherType;\r\n @Input() collectionIds: string[];\r\n @Input() organizationId: string = null;\r\n @Output() onSavedCipher = new EventEmitter();\r\n @Output() onDeletedCipher = new EventEmitter();\r\n @Output() onCancelled = new EventEmitter();\r\n @Output() onEditAttachments = new EventEmitter();\r\n @Output() onShareCipher = new EventEmitter();\r\n @Output() onEditCollections = new EventEmitter();\r\n @Output() onGeneratePassword = new EventEmitter();\r\n\r\n editMode: boolean = false;\r\n cipher: CipherView;\r\n folders: FolderView[];\r\n collections: CollectionView[] = [];\r\n title: string;\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n checkPasswordPromise: Promise;\r\n showPassword: boolean = false;\r\n showCardCode: boolean = false;\r\n cipherType = CipherType;\r\n fieldType = FieldType;\r\n addFieldType: FieldType = FieldType.Text;\r\n typeOptions: any[];\r\n cardBrandOptions: any[];\r\n cardExpMonthOptions: any[];\r\n identityTitleOptions: any[];\r\n addFieldTypeOptions: any[];\r\n uriMatchOptions: any[];\r\n ownershipOptions: any[] = [];\r\n\r\n protected writeableCollections: CollectionView[];\r\n\r\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\r\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\r\n protected auditService: AuditService, protected stateService: StateService,\r\n protected userService: UserService, protected collectionService: CollectionService,\r\n protected messagingService: MessagingService) {\r\n this.typeOptions = [\r\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\r\n { name: i18nService.t('typeCard'), value: CipherType.Card },\r\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\r\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\r\n ];\r\n this.cardBrandOptions = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: 'Visa', value: 'Visa' },\r\n { name: 'Mastercard', value: 'Mastercard' },\r\n { name: 'American Express', value: 'Amex' },\r\n { name: 'Discover', value: 'Discover' },\r\n { name: 'Diners Club', value: 'Diners Club' },\r\n { name: 'JCB', value: 'JCB' },\r\n { name: 'Maestro', value: 'Maestro' },\r\n { name: 'UnionPay', value: 'UnionPay' },\r\n { name: i18nService.t('other'), value: 'Other' },\r\n ];\r\n this.cardExpMonthOptions = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: '01 - ' + i18nService.t('january'), value: '1' },\r\n { name: '02 - ' + i18nService.t('february'), value: '2' },\r\n { name: '03 - ' + i18nService.t('march'), value: '3' },\r\n { name: '04 - ' + i18nService.t('april'), value: '4' },\r\n { name: '05 - ' + i18nService.t('may'), value: '5' },\r\n { name: '06 - ' + i18nService.t('june'), value: '6' },\r\n { name: '07 - ' + i18nService.t('july'), value: '7' },\r\n { name: '08 - ' + i18nService.t('august'), value: '8' },\r\n { name: '09 - ' + i18nService.t('september'), value: '9' },\r\n { name: '10 - ' + i18nService.t('october'), value: '10' },\r\n { name: '11 - ' + i18nService.t('november'), value: '11' },\r\n { name: '12 - ' + i18nService.t('december'), value: '12' },\r\n ];\r\n this.identityTitleOptions = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\r\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\r\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\r\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\r\n ];\r\n this.addFieldTypeOptions = [\r\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\r\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\r\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\r\n ];\r\n this.uriMatchOptions = [\r\n { name: i18nService.t('defaultMatchDetection'), value: null },\r\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\r\n { name: i18nService.t('host'), value: UriMatchType.Host },\r\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\r\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\r\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\r\n { name: i18nService.t('never'), value: UriMatchType.Never },\r\n ];\r\n }\r\n\r\n async ngOnInit() {\r\n await this.init();\r\n }\r\n\r\n async init() {\r\n const myEmail = await this.userService.getEmail();\r\n this.ownershipOptions.push({ name: myEmail, value: null });\r\n const orgs = await this.userService.getAllOrganizations();\r\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name')).forEach((o) => {\r\n if (o.enabled && o.status === OrganizationUserStatusType.Confirmed) {\r\n this.ownershipOptions.push({ name: o.name, value: o.id });\r\n }\r\n });\r\n this.writeableCollections = await this.loadCollections();\r\n }\r\n\r\n async load() {\r\n this.editMode = this.cipherId != null;\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editItem');\r\n } else {\r\n this.title = this.i18nService.t('addItem');\r\n }\r\n\r\n this.cipher = await this.stateService.get('addEditCipher');\r\n await this.stateService.remove('addEditCipher');\r\n if (this.cipher == null) {\r\n if (this.editMode) {\r\n const cipher = await this.loadCipher();\r\n this.cipher = await cipher.decrypt();\r\n } else {\r\n this.cipher = new CipherView();\r\n this.cipher.organizationId = this.organizationId == null ? null : this.organizationId;\r\n this.cipher.folderId = this.folderId;\r\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\r\n this.cipher.login = new LoginView();\r\n this.cipher.login.uris = [new LoginUriView()];\r\n this.cipher.card = new CardView();\r\n this.cipher.identity = new IdentityView();\r\n this.cipher.secureNote = new SecureNoteView();\r\n this.cipher.secureNote.type = SecureNoteType.Generic;\r\n\r\n await this.organizationChanged();\r\n if (this.collectionIds != null && this.collectionIds.length > 0 && this.collections.length > 0) {\r\n this.collections.forEach((c) => {\r\n if (this.collectionIds.indexOf(c.id) > -1) {\r\n (c as any).checked = true;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.folders = await this.folderService.getAllDecrypted();\r\n }\r\n\r\n async submit(): Promise {\r\n if (this.cipher.name == null || this.cipher.name === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('nameRequired'));\r\n return false;\r\n }\r\n\r\n if (!this.editMode && this.cipher.type === CipherType.Login &&\r\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\r\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\r\n this.cipher.login.uris = null;\r\n }\r\n\r\n if (!this.editMode && this.cipher.organizationId != null) {\r\n this.cipher.collectionIds = this.collections == null ? [] :\r\n this.collections.filter((c) => (c as any).checked).map((c) => c.id);\r\n }\r\n\r\n const cipher = await this.encryptCipher();\r\n try {\r\n this.formPromise = this.saveCipher(cipher);\r\n await this.formPromise;\r\n this.cipher.id = cipher.id;\r\n this.platformUtilsService.eventTrack(this.editMode ? 'Edited Cipher' : 'Added Cipher');\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t(this.editMode ? 'editedItem' : 'addedItem'));\r\n this.onSavedCipher.emit(this.cipher);\r\n this.messagingService.send(this.editMode ? 'editedCipher' : 'addedCipher');\r\n return true;\r\n } catch { }\r\n\r\n return false;\r\n }\r\n\r\n addUri() {\r\n if (this.cipher.type !== CipherType.Login) {\r\n return;\r\n }\r\n\r\n if (this.cipher.login.uris == null) {\r\n this.cipher.login.uris = [];\r\n }\r\n\r\n this.cipher.login.uris.push(new LoginUriView());\r\n }\r\n\r\n removeUri(uri: LoginUriView) {\r\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\r\n return;\r\n }\r\n\r\n const i = this.cipher.login.uris.indexOf(uri);\r\n if (i > -1) {\r\n this.cipher.login.uris.splice(i, 1);\r\n }\r\n }\r\n\r\n addField() {\r\n if (this.cipher.fields == null) {\r\n this.cipher.fields = [];\r\n }\r\n\r\n const f = new FieldView();\r\n f.type = this.addFieldType;\r\n this.cipher.fields.push(f);\r\n }\r\n\r\n removeField(field: FieldView) {\r\n const i = this.cipher.fields.indexOf(field);\r\n if (i > -1) {\r\n this.cipher.fields.splice(i, 1);\r\n }\r\n }\r\n\r\n trackByFunction(index: number, item: any) {\r\n return index;\r\n }\r\n\r\n cancel() {\r\n this.onCancelled.emit(this.cipher);\r\n }\r\n\r\n attachments() {\r\n this.onEditAttachments.emit(this.cipher);\r\n }\r\n\r\n share() {\r\n this.onShareCipher.emit(this.cipher);\r\n }\r\n\r\n editCollections() {\r\n this.onEditCollections.emit(this.cipher);\r\n }\r\n\r\n async delete(): Promise {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.deleteCipher();\r\n await this.deletePromise;\r\n this.platformUtilsService.eventTrack('Deleted Cipher');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedItem'));\r\n this.onDeletedCipher.emit(this.cipher);\r\n this.messagingService.send('deletedCipher');\r\n } catch { }\r\n\r\n return true;\r\n }\r\n\r\n async generatePassword(): Promise {\r\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'));\r\n if (!confirmed) {\r\n return false;\r\n }\r\n }\r\n\r\n this.onGeneratePassword.emit();\r\n return true;\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Password on Edit');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('loginPassword').focus();\r\n }\r\n\r\n toggleCardCode() {\r\n this.platformUtilsService.eventTrack('Toggled CardCode on Edit');\r\n this.showCardCode = !this.showCardCode;\r\n document.getElementById('cardCode').focus();\r\n }\r\n\r\n toggleFieldValue(field: FieldView) {\r\n const f = (field as any);\r\n f.showValue = !f.showValue;\r\n }\r\n\r\n toggleUriOptions(uri: LoginUriView) {\r\n const u = (uri as any);\r\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\r\n }\r\n\r\n loginUriMatchChanged(uri: LoginUriView) {\r\n const u = (uri as any);\r\n u.showOptions = u.showOptions == null ? true : u.showOptions;\r\n }\r\n\r\n async organizationChanged() {\r\n if (this.writeableCollections != null) {\r\n this.writeableCollections.forEach((c) => (c as any).checked = false);\r\n }\r\n if (this.cipher.organizationId != null) {\r\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.cipher.organizationId);\r\n const org = await this.userService.getOrganization(this.cipher.organizationId);\r\n if (org != null) {\r\n this.cipher.organizationUseTotp = org.useTotp;\r\n }\r\n } else {\r\n this.collections = [];\r\n }\r\n }\r\n\r\n async checkPassword() {\r\n if (this.checkPasswordPromise != null) {\r\n return;\r\n }\r\n\r\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\r\n return;\r\n }\r\n\r\n this.platformUtilsService.eventTrack('Check Password');\r\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\r\n const matches = await this.checkPasswordPromise;\r\n this.checkPasswordPromise = null;\r\n\r\n if (matches > 0) {\r\n this.platformUtilsService.showToast('warning', null,\r\n this.i18nService.t('passwordExposed', matches.toString()));\r\n } else {\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('passwordSafe'));\r\n }\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly);\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected encryptCipher() {\r\n return this.cipherService.encrypt(this.cipher);\r\n }\r\n\r\n protected saveCipher(cipher: Cipher) {\r\n return this.cipherService.saveWithServer(cipher);\r\n }\r\n\r\n protected deleteCipher() {\r\n return this.cipherService.deleteWithServer(this.cipher.id);\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n @Output() onReuploadedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n reuploadPromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('updateKey'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n\n try {\n this.formPromise = this.saveCipherAttachment(files[0]);\n this.cipherDomain = await this.formPromise;\n this.cipher = await this.cipherDomain.decrypt();\n this.platformUtilsService.eventTrack('Added Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\n this.onUploadedAttachment.emit();\n } catch { }\n\n // reset file input\n // ref: https://stackoverflow.com/a/20552042\n fileEl.type = '';\n fileEl.type = 'file';\n fileEl.value = '';\n }\n\n async delete(attachment: AttachmentView) {\n if (this.deletePromises[attachment.id] != null) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n this.platformUtilsService.eventTrack('Deleted Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedAttachment'));\n const i = this.cipher.attachments.indexOf(attachment);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n } catch { }\n\n this.deletePromises[attachment.id] = null;\n this.onDeletedAttachment.emit();\n }\n\n async download(attachment: AttachmentView) {\n const a = (attachment as any);\n if (a.downloading) {\n return;\n }\n\n if (!this.canAccessAttachments) {\n this.platformUtilsService.showToast('error', this.i18nService.t('premiumRequired'),\n this.i18nService.t('premiumRequiredDesc'));\n return;\n }\n\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const key = attachment.key != null ? attachment.key :\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected async init() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const canAccessPremium = await this.userService.canAccessPremium();\n this.canAccessAttachments = canAccessPremium || this.cipher.organizationId != null;\n\n if (!this.canAccessAttachments) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\n }\n } else if (!this.hasUpdatedKey) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\n if (confirmed) {\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\n }\n }\n }\n\n protected async reuploadCipherAttachment(attachment: AttachmentView, admin: boolean) {\n const a = (attachment as any);\n if (attachment.key != null || a.downloading || this.reuploadPromises[attachment.id] != null) {\n return;\n }\n\n try {\n this.reuploadPromises[attachment.id] = Promise.resolve().then(async () => {\n // 1. Download\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n // 2. Resave\n const buf = await response.arrayBuffer();\n const key = attachment.key != null ? attachment.key :\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.cipherDomain = await this.cipherService.saveAttachmentRawWithServer(\n this.cipherDomain, attachment.fileName, decBuf, admin);\n this.cipher = await this.cipherDomain.decrypt();\n\n // 3. Delete old\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n const foundAttachment = this.cipher.attachments.filter((a2) => a2.id === attachment.id);\n if (foundAttachment.length > 0) {\n const i = this.cipher.attachments.indexOf(foundAttachment[0]);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n }\n\n this.platformUtilsService.eventTrack('Reuploaded Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\n this.onReuploadedAttachment.emit();\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n });\n await this.reuploadPromises[attachment.id];\n } catch { }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\n }\n}\n","import {\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { CipherView } from '../../models/view/cipherView';\r\nimport { CollectionView } from '../../models/view/collectionView';\r\n\r\nimport { Cipher } from '../../models/domain/cipher';\r\n\r\nexport class CollectionsComponent implements OnInit {\r\n @Input() cipherId: string;\r\n @Output() onSavedCollections = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collectionIds: string[];\r\n collections: CollectionView[] = [];\r\n\r\n protected cipherDomain: Cipher;\r\n\r\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\r\n protected i18nService: I18nService, protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n }\r\n\r\n async load() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.collectionIds = this.loadCipherCollections();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.collections = await this.loadCollections();\r\n\r\n this.collections.forEach((c) => (c as any).checked = false);\r\n if (this.collectionIds != null) {\r\n this.collections.forEach((c) => {\r\n (c as any).checked = this.collectionIds != null && this.collectionIds.indexOf(c.id) > -1;\r\n });\r\n }\r\n }\r\n\r\n async submit() {\r\n this.cipherDomain.collectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n try {\r\n this.formPromise = this.saveCollections();\r\n await this.formPromise;\r\n this.onSavedCollections.emit();\r\n this.platformUtilsService.eventTrack('Edited Cipher Collections');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('editedItem'));\r\n } catch { }\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected loadCipherCollections() {\r\n return this.cipherDomain.collectionIds;\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\r\n }\r\n\r\n protected saveCollections() {\r\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { FolderView } from '../../models/view/folderView';\n\nexport class FolderAddEditComponent implements OnInit {\n @Input() folderId: string;\n @Output() onSavedFolder = new EventEmitter();\n @Output() onDeletedFolder = new EventEmitter();\n\n editMode: boolean = false;\n folder: FolderView = new FolderView();\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n try {\n const folder = await this.folderService.encrypt(this.folder);\n this.formPromise = this.folderService.saveWithServer(folder);\n await this.formPromise;\n this.platformUtilsService.eventTrack(this.editMode ? 'Edited Folder' : 'Added Folder');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\n this.onSavedFolder.emit(this.folder);\n return true;\n } catch { }\n\n return false;\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\n await this.deletePromise;\n this.platformUtilsService.eventTrack('Deleted Folder');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n\n protected async init() {\n this.editMode = this.folderId != null;\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editFolder');\n const folder = await this.folderService.get(this.folderId);\n this.folder = await folder.decrypt();\n } else {\n this.title = this.i18nService.t('addFolder');\n }\n }\n}\n","import {\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { Organization } from '../../models/domain/organization';\r\nimport { CipherView } from '../../models/view/cipherView';\r\nimport { CollectionView } from '../../models/view/collectionView';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class ShareComponent implements OnInit {\r\n @Input() cipherId: string;\r\n @Input() organizationId: string;\r\n @Output() onSharedCipher = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collections: CollectionView[] = [];\r\n organizations: Organization[] = [];\r\n\r\n protected writeableCollections: CollectionView[] = [];\r\n\r\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\r\n protected i18nService: I18nService, protected userService: UserService,\r\n protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n }\r\n\r\n async load() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n this.writeableCollections = allCollections.map((c) => c).filter((c) => !c.readOnly)\r\n .sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n const orgs = await this.userService.getAllOrganizations();\r\n this.organizations = orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const cipherDomain = await this.cipherService.get(this.cipherId);\r\n this.cipher = await cipherDomain.decrypt();\r\n if (this.organizationId == null && this.organizations.length > 0) {\r\n this.organizationId = this.organizations[0].id;\r\n }\r\n this.filterCollections();\r\n }\r\n\r\n filterCollections() {\r\n this.writeableCollections.forEach((c) => (c as any).checked = false);\r\n if (this.organizationId == null || this.writeableCollections.length === 0) {\r\n this.collections = [];\r\n } else {\r\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\r\n }\r\n }\r\n\r\n async submit() {\r\n const cipherDomain = await this.cipherService.get(this.cipherId);\r\n const cipherView = await cipherDomain.decrypt();\r\n\r\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\r\n try {\r\n this.formPromise = this.cipherService.shareWithServer(cipherView, this.organizationId,\r\n checkedCollectionIds).then(async () => {\r\n this.onSharedCipher.emit();\r\n this.platformUtilsService.eventTrack('Shared Cipher');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('sharedItem'));\r\n });\r\n await this.formPromise;\r\n } catch { }\r\n }\r\n\r\n get canSave() {\r\n if (this.collections != null) {\r\n for (let i = 0; i < this.collections.length; i++) {\r\n if ((this.collections[i] as any).checked) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'encKeySettings' | i18n}}

\n
\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n \n
\n
\n\n\n\n","
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n

\n {{'yourAccountsFingerprint' | i18n}}:\n \n
\n {{fingerprint}}\n

\n
\n
\n \n
\n","export class UpdateProfileRequest {\n name: string;\n masterPasswordHint: string;\n culture = 'en-US'; // deprecated\n\n constructor(name: string, masterPasswordHint: string) {\n this.name = name;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n }\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n

{{'changeEmailDesc' | i18n : newEmail}}

\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n \n
\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n
\n

{{'kdfIterationsDesc' | i18n : (100000 | number)}}

\n {{'warning' | i18n}}: {{'kdfIterationsWarning' | i18n : (50000 | number)}}\n
\n
\n
\n
\n \n
\n","import { PasswordRequest } from './passwordRequest';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class KdfRequest extends PasswordRequest {\r\n kdf: KdfType;\r\n kdfIterations: number;\r\n}\r\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n \n \n {{'lockOptionsDesc' | i18n}}\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n
\n
\n \n \n \n \n \n
\n {{'enableGravatarsDesc' | i18n}}\n
\n \n
\n","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n

\n \n
\n
\n \n \n
\n \n
\n \n {{'newCustomDomainDesc' | i18n}}\n
\n \n

{{'globalEqDomains' | i18n}}

\n

\n \n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\n \n
\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","
\n

{{'twoStepLogin' | i18n}}

\n
\n

{{'twoStepLoginDesc' | i18n}}

\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\n\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\n \n
\n

\n {{'providers' | i18n}}\n \n \n \n

\n\n\n\n\n\n\n\n\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\n token: string;\n key: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\n type: TwoFactorProviderType;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\n integrationKey: string;\n secretKey: string;\n host: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\n token: string;\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fDeleteRequest extends PasswordVerificationRequest {\n id: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n name: string;\n id: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n}\n","
\n

{{'goPremium' | i18n}}

\n
\n\n {{'alreadyPremiumFromOrg' | i18n}}\n\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpReports' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTotp' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpSupport' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpFuture' | i18n}}\n
  • \n
\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\n \n {{'purchasePremium' | i18n}}\n \n
\n\n

{{'uploadLicenseFilePremium' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\n
\n \n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$') : ('year' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\n | currency:'$'}}\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{'year' | i18n}}\n
\n {{'paymentChargedAnnually' | i18n}}\n

{{'paymentInformation' | i18n}}

\n \n \n
\n","
\n

\n {{'billing' | i18n}}\n

\n \n
\n\n\n

{{(isCreditBalance ? 'accountCredit' : 'accountBalance') | i18n}}

\n

{{creditOrBalance | currency:'$'}}

\n

{{'creditAppliedDesc' | i18n}}

\n \n \n \n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'invoices' | i18n}}

\n

{{'noInvoices' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{i.date | date:'mediumDate'}}\n \n \n \n {{'invoiceNumber' | i18n : i.number}}\n {{i.amount | currency:'$'}}\n \n \n {{'paid' | i18n}}\n \n \n \n {{'unpaid' | i18n}}\n \n
\n

{{'transactions' | i18n}}

\n

{{'noTransactions' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{t.createdDate | date:'mediumDate'}}\n \n {{'chargeNoun' | i18n}}\n \n {{'refundNoun' | i18n}}\n \n \n {{t.details}}\n \n {{t.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n","export class BitPayInvoiceRequest {\r\n userId: string;\r\n organizationId: string;\r\n credit: boolean;\r\n amount: number;\r\n returnUrl: string;\r\n name: string;\r\n email: string;\r\n}\r\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\r\n\r\nexport class PaymentRequest {\r\n paymentMethodType: PaymentMethodType;\r\n paymentToken: string;\r\n}\r\n","export enum TransactionType {\n Charge = 0,\n Credit = 1,\n PromotionalCredit = 2,\n ReferralCredit = 3,\n Refund = 4,\n}\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","
\n

\n {{'premiumMembership' | i18n}}\n \n \n \n

\n
\n\n\n \n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'expiration' | i18n}}
\n
{{sub.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'status' | i18n}}
\n
\n {{(subscription && subscription.status) || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\n '-'}}\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n \n
\n
\n
\n \n
\n \n \n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : sub.maxStorageGb || 0 : sub.storageName || '0 MB'}}

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","export class StorageRequest {\n storageGbAdjustment: number;\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\n\n

{{'uploadLicenseFileOrg' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\n
\n \n
\n
\n
\n

{{'generalInformation' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n

{{'chooseYourPlan' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n

{{'users' | i18n}}

\n
\n
\n \n \n {{'userSeatsHowManyDesc' | i18n}}\n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : plans[plan].baseSeats : (plans[plan].seatPrice | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (storageGb.price | currency:'$') : ('month' | i18n)}}\n
\n
\n
\n
\n
\n \n \n
\n {{'premiumAccessDesc' | i18n : (3.33 | currency:'$') : ('month' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{interval | i18n}}\n
\n {{'paymentChargedWithTrial' | i18n : (interval | i18n) }}\n

{{'paymentInformation' | i18n}}

\n \n
\n
\n \n
\n
\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\r\nimport { PlanType } from '../../enums/planType';\r\n\r\nexport class OrganizationCreateRequest {\r\n name: string;\r\n businessName: string;\r\n billingEmail: string;\r\n planType: PlanType;\r\n key: string;\r\n paymentMethodType: PaymentMethodType;\r\n paymentToken: string;\r\n additionalSeats: number;\r\n additionalStorageGb: number;\r\n premiumAccessAddon: boolean;\r\n collectionName: string;\r\n}\r\n","\n","
\n

{{'importData' | i18n}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-lastpass/\n \n \n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV\n file.\n \n \n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\n \n \n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click\n \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the\n XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n \"Settings\" →\n \"Export\" button and save the file \"As CSV\".\n \n \n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML\n (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save\n the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n \"Settings\". Click\n the \"Export accounts\" button to save the CSV file.\n \n \n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my\n data\" to save\n the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the\n \"Export to .csv File\"\n option. Click \"Export Now\" to save the CSV file.\n \n \n \n The process is exactly the same as importing from Google Chrome.\n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-chrome/\n \n \n Use the\n FF\n Password Exporter application to export your passwords to a CSV file.\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-1password/.\n \n \n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the\n dialog that pops\n up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\n \n \n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the\n warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the\n English\n language, so adjust your settings accordingly.\n \n \n Using the Enpass 6 desktop application, click the menu button and navigate to \"File\" → \"Export\".\n Select the \".json\" file format option and save the JSON file.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\"\n and save the XML\n file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive\n (readable) in JSON format\"\n and save the JSON file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the\n CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export\n all\". Select\n the unencrypted format XML option and save the XML file.\n \n \n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\".\n Click the \"Export\"\n button, enter your password and save the CSV file.\n \n \n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to\n expand the navigation\n bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" →\n \"Account & Data\"\n and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV file\" and then click the\n \"Export\" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not\n be\n exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you\n would like to export\n and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\" export format and click\n the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that\n pops up, select\n the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\n \n \n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss\n JSON - not encrypted\"\n and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All\n Secrets\" and click\n the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a text editor like\n Notepad\n and paste the data. Save the data from the text editor as\n zoho_export.csv.\n \n \n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner.\n Navigate to \"Export\"\n → \"Export as CSV\" and save the CSV file.\n \n \n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and\n click \"Backup to\n CSV\" to save the CSV file.\n \n \n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n GNOME Keyring Import/Export python\n script to your desktop as\n pw_helper.py. Open terminal and run\n chmod +rx Desktop/pw_helper.py and then\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\n my_passwords.json file here to Bitwarden.\n \n \n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to\n export\" button and\n check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\" button to save the\n CSV\n file.\n \n \n Log into the Passpack website vault and navigate to \"Settings\" → \"Export\", then click the \"Download\"\n button to save\n the CSV file.\n \n \n Open your Passman vault and click on \"Settings\" in the bottom left corner. In the \"Settings\" window switch\n to the\n \"Export credentials\" tab and choose \"JSON\" as the export type. Enter your vault's passphrase and click the\n \"Export\"\n button to save the JSON file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the\n \"Export\" button for the \"Export to CSV file\" option to save the CSV file.\n \n \n Open the F-Secure KEY desktop application and navigate to \"Settings\" → \"Export Passwords\". Select the\n \"Export\" button, enter your master password, and save the FSK file.\n \n \n Open the Kaspersky Password Manager desktop application and navigate to \"Settings\" → \"Import/Export\".\n Locate\n the \"Export to text file\" section and select the \"Export\" button to save the TXT file.\n \n \n Open the RememBear desktop application and navigate to \"Settings\" → \"Account\" → \"Export\".\n Enter your master password and select the \"Export Anyway\" button to save the CSV file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n {{'exportWarningDesc' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n","import {\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { ExportService } from '../../abstractions/export.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class ExportComponent {\r\n @Output() onSaved = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n masterPassword: string;\r\n format: 'json' | 'csv' = 'json';\r\n showPassword = false;\r\n\r\n constructor(protected cryptoService: CryptoService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected exportService: ExportService,\r\n protected win: Window) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n return;\r\n }\r\n\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\r\n try {\r\n this.formPromise = this.getExportData();\r\n const data = await this.formPromise;\r\n this.platformUtilsService.eventTrack('Exported Data');\r\n this.downloadFile(data);\r\n this.saved();\r\n } catch { }\r\n } else {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Export');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n\r\n protected saved() {\r\n this.onSaved.emit();\r\n }\r\n\r\n protected getExportData() {\r\n return this.exportService.getExport(this.format);\r\n }\r\n\r\n protected getFileName(prefix?: string) {\r\n return this.exportService.getFileName(prefix, this.format);\r\n }\r\n\r\n private downloadFile(csv: string): void {\r\n const fileName = this.getFileName();\r\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\r\n }\r\n}\r\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class PasswordGeneratorComponent implements OnInit {\n @Input() showSelect: boolean = false;\n @Output() onSelected = new EventEmitter();\n\n options: any = {};\n password: string = '-';\n showOptions = false;\n avoidAmbiguous = false;\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n this.options = await this.passwordGenerationService.getOptions();\n this.avoidAmbiguous = !this.options.ambiguous;\n this.options.type = this.options.type === 'passphrase' ? 'passphrase' : 'password';\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.platformUtilsService.eventTrack('Generated Password');\n await this.passwordGenerationService.addHistory(this.password);\n }\n\n async sliderChanged() {\n this.saveOptions(false);\n await this.passwordGenerationService.addHistory(this.password);\n this.platformUtilsService.eventTrack('Regenerated Password');\n }\n\n async sliderInput() {\n this.normalizeOptions();\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n }\n\n async saveOptions(regenerate: boolean = true) {\n this.normalizeOptions();\n await this.passwordGenerationService.saveOptions(this.options);\n\n if (regenerate) {\n await this.regenerate();\n }\n }\n\n async regenerate() {\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n await this.passwordGenerationService.addHistory(this.password);\n this.platformUtilsService.eventTrack('Regenerated Password');\n }\n\n copy() {\n this.platformUtilsService.eventTrack('Copied Generated Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.platformUtilsService.eventTrack('Selected Generated Password');\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n this.options.minLowercase = 0;\n this.options.minUppercase = 0;\n this.options.ambiguous = !this.avoidAmbiguous;\n\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\n this.options.lowercase = true;\n if (this.win != null) {\n const lowercase = this.win.document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n }\n\n if (!this.options.length || this.options.length < 5) {\n this.options.length = 5;\n } else if (this.options.length > 128) {\n this.options.length = 128;\n }\n\n if (!this.options.minNumber) {\n this.options.minNumber = 0;\n } else if (this.options.minNumber > this.options.length) {\n this.options.minNumber = this.options.length;\n } else if (this.options.minNumber > 9) {\n this.options.minNumber = 9;\n }\n\n if (!this.options.minSpecial) {\n this.options.minSpecial = 0;\n } else if (this.options.minSpecial > this.options.length) {\n this.options.minSpecial = this.options.length;\n } else if (this.options.minSpecial > 9) {\n this.options.minSpecial = 9;\n }\n\n if (this.options.minSpecial + this.options.minNumber > this.options.length) {\n this.options.minSpecial = this.options.length - this.options.minNumber;\n }\n\n if (this.options.numWords == null || this.options.length < 3) {\n this.options.numWords = 3;\n } else if (this.options.numWords > 20) {\n this.options.numWords = 20;\n }\n\n if (this.options.wordSeparator != null && this.options.wordSeparator.length > 1) {\n this.options.wordSeparator = this.options.wordSeparator[0];\n }\n }\n}\n","import { OnInit } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { GeneratedPasswordHistory } from '../../models/domain/generatedPasswordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: GeneratedPasswordHistory[] = [];\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n private win: Window) { }\r\n\r\n async ngOnInit() {\r\n this.history = await this.passwordGenerationService.getHistory();\r\n }\r\n\r\n clear() {\r\n this.history = [];\r\n this.passwordGenerationService.clear();\r\n }\r\n\r\n copy(password: string) {\r\n this.platformUtilsService.eventTrack('Copied Historical Password');\r\n const copyOptions = this.win != null ? { window: this.win } : null;\r\n this.platformUtilsService.copyToClipboard(password, copyOptions);\r\n this.platformUtilsService.showToast('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n}\r\n","
\n

{{'dataBreachReport' | i18n}}

\n
\n

{{'breachDesc' | i18n}}

\n
\n
\n
\n \n \n {{'breachCheckUsernameEmail' | i18n}}\n
\n
\n \n
\n
\n

{{'reportError' | i18n}}...

\n \n \n {{'breachUsernameNotFound' | i18n : checkedUsername}}\n \n \n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\n \n
    \n
  • \n
    \n
    \n \"\"\n
    \n
    \n

    {{a.title}}

    \n

    \n

    {{'compromisedData' | i18n}}:

    \n
      \n
    • {{d}}
    • \n
    \n
    \n
    \n
    \n
    {{'website' | i18n}}
    \n
    {{a.domain}}
    \n
    {{'affectedUsers' | i18n}}
    \n
    {{a.pwnCount | number}}
    \n
    {{'breachOccurred' | i18n}}
    \n
    {{a.breachDate | date: 'mediumDate'}}
    \n
    {{'breachReported' | i18n}}
    \n
    {{a.addedDate | date: 'mediumDate'}}
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n","
\n

\n {{'reusedPasswordsReport' | i18n}}\n \n \n \n

\n
\n

{{'reusedPasswordsReportDesc' | i18n}}

\n
\n \n
\n
\n \n {{'noReusedPasswords' | i18n}}\n \n \n \n {{'reusedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n {{'reusedXTimes' | i18n : passwordUseMap.get(c.login.password)}}\n \n
\n
\n
\n\n","
\n

\n {{'unsecuredWebsitesReport' | i18n}}\n \n \n \n

\n
\n

{{'unsecuredWebsitesReportDesc' | i18n}}

\n
\n \n
\n
\n \n {{'noUnsecuredWebsites' | i18n}}\n \n \n \n {{'unsecuredWebsitesFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n
\n
\n\n","
\n

\n {{'weakPasswordsReport' | i18n}}\n \n \n \n

\n
\n

{{'weakPasswordsReportDesc' | i18n}}

\n
\n \n
\n
\n \n {{'noWeakPasswords' | i18n}}\n \n \n \n {{'weakPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n {{passwordStrengthMap.get(c.id)[0] | i18n}}\n \n
\n
\n
\n\n","
\n

{{'exposedPasswordsReport' | i18n}}

\n
\n

{{'exposedPasswordsReportDesc' | i18n}}

\n\n
\n \n {{'noExposedPasswords' | i18n}}\n \n \n \n {{'exposedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n {{'exposedXTimes' | i18n : (exposedPasswordMap.get(c.id) | number)}}\n \n
\n
\n
\n\n","
\n

\n {{'inactive2faReport' | i18n}}\n \n \n \n

\n
\n

{{'inactive2faReportDesc' | i18n}}

\n
\n \n
\n
\n \n {{'noInactive2fa' | i18n}}\n \n \n \n {{'inactive2faFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n {{'instructions' | i18n}}\n
\n
\n
\n\n","\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n
\n \n {{'organizationIsDisabled' | i18n}}\n
\n
\n
\n \n
\n
\n\n\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'vault' | i18n}}\n \n \n \n

\n \n
\n \n \n
\n
\n
\n\n\n\n\n","export enum EventType {\r\n User_LoggedIn = 1000,\r\n User_ChangedPassword = 1001,\r\n User_Updated2fa = 1002,\r\n User_Disabled2fa = 1003,\r\n User_Recovered2fa = 1004,\r\n User_FailedLogIn = 1005,\r\n User_FailedLogIn2fa = 1006,\r\n\r\n Cipher_Created = 1100,\r\n Cipher_Updated = 1101,\r\n Cipher_Deleted = 1102,\r\n Cipher_AttachmentCreated = 1103,\r\n Cipher_AttachmentDeleted = 1104,\r\n Cipher_Shared = 1105,\r\n Cipher_UpdatedCollections = 1106,\r\n\r\n Collection_Created = 1300,\r\n Collection_Updated = 1301,\r\n Collection_Deleted = 1302,\r\n\r\n Group_Created = 1400,\r\n Group_Updated = 1401,\r\n Group_Deleted = 1402,\r\n\r\n OrganizationUser_Invited = 1500,\r\n OrganizationUser_Confirmed = 1501,\r\n OrganizationUser_Updated = 1502,\r\n OrganizationUser_Removed = 1503,\r\n OrganizationUser_UpdatedGroups = 1504,\r\n\r\n Organization_Updated = 1600,\r\n Organization_PurgedVault = 1601,\r\n}\r\n","\n","\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n
\n\n\n","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n\n

{{'noEventsInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\n\n\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n {{'usersNeedConfirmed' | i18n}}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n\n\n\n\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n

{{'taxInformationDesc' | i18n}}

\n\n {{'contactSupport' | i18n}}\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n
\n
\n\n\n","export class OrganizationUpdateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n}\n","
\n

\n {{'subscription' | i18n}}\n \n \n \n

\n
\n\n\n \n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan}}
\n
{{'expiration' | i18n}}
\n
\n {{sub.expiration | date:'mediumDate'}}\n \n \n {{'licenseIsExpired' | i18n}}\n \n
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan}}
\n \n
{{'status' | i18n}}
\n
\n {{subscription.status || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\n : '-'}}\n
\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n \n
\n

{{'userSeats' | i18n}}

\n

{{'subscriptionUserSeats' | i18n : sub.seats}}

\n \n
\n
\n \n \n
\n \n
\n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : sub.maxStorageGb || 0 : sub.storageName || '0 MB'}}

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","
\n
\n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\n \n
\n
\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n {{totpSec}}\n \n \n \n \n \n \n \n {{totpCodeFormatted}}\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n \n {{'newUri' | i18n}}\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

{{'customFields' | i18n}}

\n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n 1\">\n

{{'ownership' | i18n}}

\n
\n
\n \n \n
\n
\n
\n \n

{{'collections' | i18n}}

\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n
\n \n \n
\n
\n
\n \n
\n
\n {{'dateUpdated' | i18n}}:\n {{cipher.revisionDate | date:'medium'}}\n
\n
\n {{'datePasswordUpdated' | i18n}}:\n {{cipher.passwordRevisionDisplayDate | date:'medium'}}\n
\n
\n {{'passwordHistory' | i18n}}:\n \n {{cipher.passwordHistory.length}}\n \n
\n
\n
\n {{ph.lastUsedDate | date:'short'}} -\n {{ph.password}}\n
\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'attachments' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n {{a.fileName}}\n
\n \n \n \n
\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'deleteSelected' | i18n}}\n

\n \n
\n
\n {{'deleteSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'moveSelected' | i18n}}\n

\n \n
\n
\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'shareSelected' | i18n}}\n

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsCountDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}\n

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'collections' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'collectionsDesc' | i18n}}

\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deauthorizeSessions' | i18n}}

\n \n
\n
\n

{{'deauthorizeSessionsDesc' | i18n}}

\n {{'deauthorizeSessionsWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteAccount' | i18n}}

\n \n
\n
\n

{{'deleteAccountDesc' | i18n}}

\n {{'deleteAccountWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteOrganization' | i18n}}

\n \n
\n
\n

{{'deleteOrganizationDesc' | i18n}}

\n {{'deleteOrganizationWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n \n

\n {{'groupAccess' | i18n}}\n
\n \n \n
\n

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{g.name}}\n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'eventLogs' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n
\n {{'noEventsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'userAccess' | i18n}}\n {{entityName}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noUsersInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
  {{'name' | i18n}} {{'userType' | i18n}}{{'readOnly' |\n i18n}}
\n \n \n \n \n {{u.email}}\n {{'invited'\n | i18n}}\n {{'accepted'\n | i18n}}\n {{u.name}}\n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdGroupDesc' | i18n}}\n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{title}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n \n

{{'inviteUserDesc' | i18n}}

\n
\n \n \n {{'inviteMultipleEmailDesc' | i18n : '20'}}\n
\n
\n

{{'userType' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'confirmUser' | i18n}}\n {{name}}\n

\n \n
\n
\n

\n {{'fingerprintEnsureIntegrityVerify' | i18n}}\n \n {{'learnMore' | i18n}}\n

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'groupAccess' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n

{{'groupAccessUserDesc' | i18n}}

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{g.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    \n {{h.date | date:'medium'}}\n
    \n
    \n \n
    \n
  • \n
\n
\n {{'noPasswordsInList' | i18n}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{(organizationId ? 'purgeOrgVaultDesc' : 'purgeVaultDesc') | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'share' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n {{'noOrganizationsList' | i18n}}\n
\n
\n

{{'shareDesc' | i18n}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n {{'newOrganization' | i18n}}\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'authenticatorAppTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \"\"\n

{{'twoStepAuthenticatorDesc' | i18n}}

\n

\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\n

\n
\n \n \n

{{'twoStepLoginProviderEnabled' | i18n}}

\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\n
\n \"\"\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\n
\n \n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\n

\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\n

\n
\n

\n
\n {{key}}\n

\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n Duo\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \"\"\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\n
\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\n
\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\n
\n \n \"\"\n

{{'twoFactorDuoDesc' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'emailTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n {{'email' | i18n}}: {{email}}\n \n \n

\n {{'twoFactorEmailDesc' | i18n}}\n \"\"\n

\n
\n \n \n
\n
\n \n \n {{'verificationCodeEmailSent' | i18n : sentEmail}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'recoveryCodeTitle' | i18n}}\n

\n \n
\n \n \n \n
\n \n

{{'twoFactorRecoveryYourCode' | i18n}}:

\n {{code}}\n
\n \n {{'twoFactorRecoveryNoCode' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n FIDO U2F\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorU2fWarning' | i18n}}

\n
    \n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \n
\n
\n \"\"\n
    \n
  • \n \n {{'u2fkeyX' | i18n : i + 1}}\n {{k.name}}\n \n 1 && k.configured\">\n \n -\n {{'remove' | i18n}}\n \n
  • \n
\n
\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fGiveName' | i18n}}
  2. \n
  3. {{'twoFactorU2fPlugInReadKey' | i18n}}
  4. \n
  5. {{'twoFactorU2fTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorU2fSaveForm' | i18n}}
  8. \n
\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n {{'twoFactorU2fWaiting' | i18n}}...\n \n \n \n {{'twoFactorU2fClickSave' | i18n}}\n \n \n \n {{'twoFactorU2fProblemReadingTryAgain' | i18n}}\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n YubiKey\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorYubikeyWarning' | i18n}}

\n
    \n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \n
\n
\n \"\"\n

{{'twoFactorYubikeyAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \n
\n
\n
\n
\n \n \n
\n {{k.existingKey}}\n \n
\n
\n
\n {{'nfcSupport' | i18n}}\n
\n \n \n
\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'updateEncryptionKey' | i18n}}

\n \n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n {{'updateEncryptionKeyWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","\n\n","import {\n APP_INITIALIZER,\n LOCALE_ID,\n NgModule,\n} from '@angular/core';\n\nimport { ToasterModule } from 'angular2-toaster';\n\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\nimport { I18nService } from '../../services/i18n.service';\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\n\nimport { EventService } from './event.service';\nimport { OrganizationGuardService } from './organization-guard.service';\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\nimport { RouterService } from './router.service';\nimport { UnauthGuardService } from './unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\nimport { ValidationService } from 'jslib/angular/services/validation.service';\n\nimport { Analytics } from 'jslib/misc/analytics';\n\nimport { ApiService } from 'jslib/services/api.service';\nimport { AppIdService } from 'jslib/services/appId.service';\nimport { AuditService } from 'jslib/services/audit.service';\nimport { AuthService } from 'jslib/services/auth.service';\nimport { CipherService } from 'jslib/services/cipher.service';\nimport { CollectionService } from 'jslib/services/collection.service';\nimport { ConstantsService } from 'jslib/services/constants.service';\nimport { ContainerService } from 'jslib/services/container.service';\nimport { CryptoService } from 'jslib/services/crypto.service';\nimport { EnvironmentService } from 'jslib/services/environment.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { ImportService } from 'jslib/services/import.service';\nimport { LockService } from 'jslib/services/lock.service';\nimport { NotificationsService } from 'jslib/services/notifications.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { SearchService } from 'jslib/services/search.service';\nimport { SettingsService } from 'jslib/services/settings.service';\nimport { StateService } from 'jslib/services/state.service';\nimport { SyncService } from 'jslib/services/sync.service';\nimport { TokenService } from 'jslib/services/token.service';\nimport { TotpService } from 'jslib/services/totp.service';\nimport { UserService } from 'jslib/services/user.service';\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\n\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\nimport { ImportService as ImportServiceAbstraction } from 'jslib/abstractions/import.service';\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from 'jslib/abstractions/notifications.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService as SearchServiceAbstraction } from 'jslib/abstractions/search.service';\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\n\nconst i18nService = new I18nService(window.navigator.language, 'locales');\nconst stateService = new StateService();\nconst broadcasterService = new BroadcasterService();\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\nconst platformUtilsService = new WebPlatformUtilsService(i18nService, messagingService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\nconst tokenService = new TokenService(storageService);\nconst appIdService = new AppIdService(storageService);\nconst apiService = new ApiService(tokenService, platformUtilsService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nexport let searchService: SearchService = null;\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, () => searchService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nsearchService = new SearchService(cipherService, platformUtilsService);\nconst lockService = new LockService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, searchService, null);\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst importService = new ImportService(cipherService, folderService, apiService, i18nService, collectionService);\nconst notificationsService = new NotificationsService(userService, syncService, appIdService,\n apiService, lockService, async () => messagingService.send('logout', { expired: true }));\nconst environmentService = new EnvironmentService(apiService, storageService, notificationsService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\n\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\n platformUtilsService, storageService, appIdService);\ncontainerService.attachToWindow(window);\n\nexport function initFactory(): Function {\n return async () => {\n await (storageService as HtmlStorageService).init();\n const isDev = platformUtilsService.isDev();\n if (!isDev && platformUtilsService.isSelfHost()) {\n environmentService.baseUrl = window.location.origin;\n } else {\n environmentService.notificationsUrl = isDev ? 'http://localhost:61840' :\n 'https://notifications.bitwarden.com'; // window.location.origin + '/notifications';\n }\n apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n\n // Uncomment these (and comment out the above) if you want to target production\n // servers for local development.\n\n // base: null,\n // api: 'https://api.bitwarden.com',\n // identity: 'https://identity.bitwarden.com',\n });\n setTimeout(() => notificationsService.init(environmentService), 3000);\n\n lockService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n authService.init();\n const htmlEl = window.document.documentElement;\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\n let theme = await storageService.get(ConstantsService.themeKey);\n if (theme == null) {\n theme = 'light';\n }\n htmlEl.classList.add('theme_' + theme);\n stateService.save(ConstantsService.disableFaviconKey,\n await storageService.get(ConstantsService.disableFaviconKey));\n stateService.save('enableGravatars', await storageService.get('enableGravatars'));\n };\n}\n\n@NgModule({\n imports: [\n ToasterModule,\n ],\n declarations: [],\n providers: [\n ValidationService,\n AuthGuardService,\n OrganizationGuardService,\n OrganizationTypeGuardService,\n UnauthGuardService,\n RouterService,\n EventService,\n { provide: AuditServiceAbstraction, useValue: auditService },\n { provide: AuthServiceAbstraction, useValue: authService },\n { provide: CipherServiceAbstraction, useValue: cipherService },\n { provide: FolderServiceAbstraction, useValue: folderService },\n { provide: CollectionServiceAbstraction, useValue: collectionService },\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\n { provide: TotpServiceAbstraction, useValue: totpService },\n { provide: TokenServiceAbstraction, useValue: tokenService },\n { provide: I18nServiceAbstraction, useValue: i18nService },\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\n { provide: ApiServiceAbstraction, useValue: apiService },\n { provide: SyncServiceAbstraction, useValue: syncService },\n { provide: UserServiceAbstraction, useValue: userService },\n { provide: MessagingServiceAbstraction, useValue: messagingService },\n { provide: BroadcasterService, useValue: broadcasterService },\n { provide: SettingsServiceAbstraction, useValue: settingsService },\n { provide: LockServiceAbstraction, useValue: lockService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n { provide: SearchServiceAbstraction, useValue: searchService },\n { provide: ImportServiceAbstraction, useValue: importService },\n { provide: NotificationsServiceAbstraction, useValue: notificationsService },\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\n {\n provide: APP_INITIALIZER,\n useFactory: initFactory,\n deps: [],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n useFactory: () => i18nService.translationLocale,\n deps: [],\n },\n ],\n})\nexport class ServicesModule {\n}\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nexport class BroadcasterMessagingService implements MessagingService {\r\n constructor(private broadcasterService: BroadcasterService) { }\r\n\r\n send(subscriber: string, arg: any = {}) {\r\n const message = Object.assign({}, { command: subscriber }, arg);\r\n this.broadcasterService.send(message);\r\n }\r\n}\r\n","import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { ConstantsService } from 'jslib/services';\n\nexport class HtmlStorageService implements StorageService {\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\n ConstantsService.disableFaviconKey, ConstantsService.lockOptionKey, 'rememberEmail', 'enableGravatars',\n ConstantsService.localeKey, ConstantsService.lockOptionKey, ConstantsService.autoConfirmFingerprints]);\n private localStorageStartsWithKeys = ['twoFactorToken_', ConstantsService.collapsedGroupingsKey + '_'];\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n async init() {\n const lockOption = await this.get(ConstantsService.lockOptionKey);\n if (lockOption == null && !this.platformUtilsService.isDev()) {\n await this.save(ConstantsService.lockOptionKey, 15);\n }\n }\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else {\n json = window.sessionStorage.getItem(key);\n }\n if (json != null) {\n const obj = JSON.parse(json);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n\n const json = JSON.stringify(obj);\n if (this.isLocalStorage(key)) {\n window.localStorage.setItem(key, json);\n } else {\n window.sessionStorage.setItem(key, json);\n }\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n if (this.isLocalStorage(key)) {\n window.localStorage.removeItem(key);\n } else {\n window.sessionStorage.removeItem(key);\n }\n return Promise.resolve();\n }\n\n private isLocalStorage(key: string): boolean {\n if (this.localStorageKeys.has(key)) {\n return true;\n }\n for (const swKey of this.localStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\n","export { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { ConstantsService } from './constants.service';\nexport { ContainerService } from './container.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LockService } from './lock.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { SettingsService } from './settings.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { PaymentMethodType } from '../../enums/paymentMethodType';\r\nimport { TransactionType } from '../../enums/transactionType';\r\n\r\nexport class BillingResponse extends BaseResponse {\r\n balance: number;\r\n paymentSource: BillingSourceResponse;\r\n invoices: BillingInvoiceResponse[] = [];\r\n transactions: BillingTransactionResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.balance = this.getResponseProperty('Balance');\r\n const paymentSource = this.getResponseProperty('PaymentSource');\r\n const transactions = this.getResponseProperty('Transactions');\r\n const invoices = this.getResponseProperty('Invoices');\r\n this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource);\r\n if (transactions != null) {\r\n this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t));\r\n }\r\n if (invoices != null) {\r\n this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i));\r\n }\r\n }\r\n}\r\n\r\nexport class BillingSourceResponse extends BaseResponse {\r\n type: PaymentMethodType;\r\n cardBrand: string;\r\n description: string;\r\n needsVerification: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.cardBrand = this.getResponseProperty('CardBrand');\r\n this.description = this.getResponseProperty('Description');\r\n this.needsVerification = this.getResponseProperty('NeedsVerification');\r\n }\r\n}\r\n\r\nexport class BillingInvoiceResponse extends BaseResponse {\r\n url: string;\r\n pdfUrl: string;\r\n number: string;\r\n paid: boolean;\r\n date: string;\r\n amount: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.url = this.getResponseProperty('Url');\r\n this.pdfUrl = this.getResponseProperty('PdfUrl');\r\n this.number = this.getResponseProperty('Number');\r\n this.paid = this.getResponseProperty('Paid');\r\n this.date = this.getResponseProperty('Date');\r\n this.amount = this.getResponseProperty('Amount');\r\n }\r\n}\r\n\r\nexport class BillingTransactionResponse extends BaseResponse {\r\n createdDate: string;\r\n amount: number;\r\n refunded: boolean;\r\n partiallyRefunded: boolean;\r\n refundedAmount: number;\r\n type: TransactionType;\r\n paymentMethodType: PaymentMethodType;\r\n details: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.createdDate = this.getResponseProperty('CreatedDate');\r\n this.amount = this.getResponseProperty('Amount');\r\n this.refunded = this.getResponseProperty('Refunded');\r\n this.partiallyRefunded = this.getResponseProperty('PartiallyRefunded');\r\n this.refundedAmount = this.getResponseProperty('RefundedAmount');\r\n this.type = this.getResponseProperty('Type');\r\n this.paymentMethodType = this.getResponseProperty('PaymentMethodType');\r\n this.details = this.getResponseProperty('Details');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class BreachAccountResponse extends BaseResponse {\r\n addedDate: string;\r\n breachDate: string;\r\n dataClasses: string[];\r\n description: string;\r\n domain: string;\r\n isActive: boolean;\r\n isVerified: boolean;\r\n logoPath: string;\r\n modifiedDate: string;\r\n name: string;\r\n pwnCount: number;\r\n title: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.addedDate = this.getResponseProperty('AddedDate');\r\n this.breachDate = this.getResponseProperty('BreachDate');\r\n this.dataClasses = this.getResponseProperty('DataClasses');\r\n this.description = this.getResponseProperty('Description');\r\n this.domain = this.getResponseProperty('Domain');\r\n this.isActive = this.getResponseProperty('IsActive');\r\n this.isVerified = this.getResponseProperty('IsVerified');\r\n this.logoPath = this.getResponseProperty('LogoPath');\r\n this.modifiedDate = this.getResponseProperty('ModifiedDate');\r\n this.name = this.getResponseProperty('Name');\r\n this.pwnCount = this.getResponseProperty('PwnCount');\r\n this.title = this.getResponseProperty('Title');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class AttachmentResponse extends BaseResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n key: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.url = this.getResponseProperty('Url');\r\n this.fileName = this.getResponseProperty('FileName');\r\n this.key = this.getResponseProperty('Key');\r\n this.size = this.getResponseProperty('Size');\r\n this.sizeName = this.getResponseProperty('SizeName');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class PasswordHistoryResponse extends BaseResponse {\r\n password: string;\r\n lastUsedDate: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.password = this.getResponseProperty('Password');\r\n this.lastUsedDate = this.getResponseProperty('LastUsedDate');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class GlobalDomainResponse extends BaseResponse {\r\n type: number;\r\n domains: string[];\r\n excluded: number[];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.domains = this.getResponseProperty('Domains');\r\n this.excluded = this.getResponseProperty('Excluded');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\n\nexport class ErrorResponse extends BaseResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n super(response);\n let errorModel = null;\n if (response != null) {\n const responseErrorModel = this.getResponseProperty('ErrorModel');\n if (responseErrorModel && identityResponse) {\n errorModel = responseErrorModel;\n } else {\n errorModel = response;\n }\n }\n\n if (errorModel) {\n this.message = this.getResponseProperty('Message', errorModel);\n this.validationErrors = this.getResponseProperty('ValidationErrors', errorModel);\n } else {\n if (status === 429) {\n this.message = 'Rate limit exceeded. Try again later.';\n }\n }\n this.statusCode = status;\n }\n\n getSingleMessage(): string {\n if (this.validationErrors == null) {\n return this.message;\n }\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n if (this.validationErrors[key].length) {\n return this.validationErrors[key][0];\n }\n }\n return this.message;\n }\n\n getAllMessages(): string[] {\n const messages: string[] = [];\n if (this.validationErrors == null) {\n return messages;\n }\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n this.validationErrors[key].forEach((item: string) => {\n let prefix = '';\n if (key.indexOf('[') > -1 && key.indexOf(']') > -1) {\n const lastSep = key.lastIndexOf('.');\n prefix = key.substr(0, lastSep > -1 ? lastSep : key.length) + ': ';\n }\n messages.push(prefix + item);\n });\n }\n return messages;\n }\n}\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { DeviceType } from '../../enums/deviceType';\r\nimport { EventType } from '../../enums/eventType';\r\n\r\nexport class EventResponse extends BaseResponse {\r\n type: EventType;\r\n userId: string;\r\n organizationId: string;\r\n cipherId: string;\r\n collectionId: string;\r\n groupId: string;\r\n organizationUserId: string;\r\n actingUserId: string;\r\n date: string;\r\n deviceType: DeviceType;\r\n ipAddress: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.cipherId = this.getResponseProperty('CipherId');\r\n this.collectionId = this.getResponseProperty('CollectionId');\r\n this.groupId = this.getResponseProperty('GroupId');\r\n this.organizationUserId = this.getResponseProperty('OrganizationUserId');\r\n this.actingUserId = this.getResponseProperty('ActingUserId');\r\n this.date = this.getResponseProperty('Date');\r\n this.deviceType = this.getResponseProperty('DeviceType');\r\n this.ipAddress = this.getResponseProperty('IpAddress');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\r\n\r\nexport class GroupResponse extends BaseResponse {\r\n id: string;\r\n organizationId: string;\r\n name: string;\r\n accessAll: boolean;\r\n externalId: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.name = this.getResponseProperty('Name');\r\n this.accessAll = this.getResponseProperty('AccessAll');\r\n this.externalId = this.getResponseProperty('ExternalId');\r\n }\r\n}\r\n\r\nexport class GroupDetailsResponse extends GroupResponse {\r\n collections: SelectionReadOnlyResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n const collections = this.getResponseProperty('Collections');\r\n if (collections != null) {\r\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class IdentityTokenResponse extends BaseResponse {\r\n accessToken: string;\r\n expiresIn: number;\r\n refreshToken: string;\r\n tokenType: string;\r\n\r\n privateKey: string;\r\n key: string;\r\n twoFactorToken: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.accessToken = response.access_token;\r\n this.expiresIn = response.expires_in;\r\n this.refreshToken = response.refresh_token;\r\n this.tokenType = response.token_type;\r\n\r\n this.privateKey = this.getResponseProperty('PrivateKey');\r\n this.key = this.getResponseProperty('Key');\r\n this.twoFactorToken = this.getResponseProperty('TwoFactorToken');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class IdentityTwoFactorResponse extends BaseResponse {\r\n twoFactorProviders: TwoFactorProviderType[];\r\n twoFactorProviders2 = new Map();\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.twoFactorProviders = this.getResponseProperty('TwoFactorProviders');\r\n const twoFactorProviders2 = this.getResponseProperty('TwoFactorProviders2');\r\n if (twoFactorProviders2 != null) {\r\n for (const prop in twoFactorProviders2) {\r\n if (twoFactorProviders2.hasOwnProperty(prop)) {\r\n this.twoFactorProviders2.set(parseInt(prop, null), twoFactorProviders2[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class ListResponse extends BaseResponse {\r\n data: T[];\r\n continuationToken: string;\r\n\r\n constructor(response: any, t: new (dataResponse: any) => T) {\r\n super(response);\r\n const data = this.getResponseProperty('Data');\r\n this.data = data == null ? [] : data.map((dr: any) => new t(dr));\r\n this.continuationToken = this.getResponseProperty('ContinuationToken');\r\n }\r\n}\r\n","import { OrganizationResponse } from './organizationResponse';\r\nimport {\r\n BillingSubscriptionResponse,\r\n BillingSubscriptionUpcomingInvoiceResponse,\r\n} from './subscriptionResponse';\r\n\r\nexport class OrganizationSubscriptionResponse extends OrganizationResponse {\r\n storageName: string;\r\n storageGb: number;\r\n subscription: BillingSubscriptionResponse;\r\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\r\n expiration: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.storageName = this.getResponseProperty('StorageName');\r\n this.storageGb = this.getResponseProperty('StorageGb');\r\n const subscription = this.getResponseProperty('Subscription');\r\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\r\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\r\n this.upcomingInvoice = upcomingInvoice == null ? null :\r\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\r\n this.expiration = this.getResponseProperty('Expiration');\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nimport { BaseResponse } from './baseResponse';\r\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\r\n\r\nexport class OrganizationUserResponse extends BaseResponse {\r\n id: string;\r\n userId: string;\r\n type: OrganizationUserType;\r\n status: OrganizationUserStatusType;\r\n accessAll: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.type = this.getResponseProperty('Type');\r\n this.status = this.getResponseProperty('Status');\r\n this.accessAll = this.getResponseProperty('AccessAll');\r\n }\r\n}\r\n\r\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\r\n name: string;\r\n email: string;\r\n twoFactorEnabled: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.name = this.getResponseProperty('Name');\r\n this.email = this.getResponseProperty('Email');\r\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\r\n }\r\n}\r\n\r\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\r\n collections: SelectionReadOnlyResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n const collections = this.getResponseProperty('Collections');\r\n if (collections != null) {\r\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class PreloginResponse extends BaseResponse {\r\n kdf: KdfType;\r\n kdfIterations: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.kdf = this.getResponseProperty('Kdf');\r\n this.kdfIterations = this.getResponseProperty('KdfIterations');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nexport class ProfileOrganizationResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n selfHost: boolean;\r\n usersGetPremium: boolean;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb?: number;\r\n key: string;\r\n status: OrganizationUserStatusType;\r\n type: OrganizationUserType;\r\n enabled: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.useGroups = this.getResponseProperty('UseGroups');\r\n this.useDirectory = this.getResponseProperty('UseDirectory');\r\n this.useEvents = this.getResponseProperty('UseEvents');\r\n this.useTotp = this.getResponseProperty('UseTotp');\r\n this.use2fa = this.getResponseProperty('Use2fa');\r\n this.useApi = this.getResponseProperty('UseApi');\r\n this.selfHost = this.getResponseProperty('SelfHost');\r\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\r\n this.seats = this.getResponseProperty('Seats');\r\n this.maxCollections = this.getResponseProperty('MaxCollections');\r\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\r\n this.key = this.getResponseProperty('Key');\r\n this.status = this.getResponseProperty('Status');\r\n this.type = this.getResponseProperty('Type');\r\n this.enabled = this.getResponseProperty('Enabled');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { CipherResponse } from './cipherResponse';\r\nimport { CollectionDetailsResponse } from './collectionResponse';\r\nimport { DomainsResponse } from './domainsResponse';\r\nimport { FolderResponse } from './folderResponse';\r\nimport { ProfileResponse } from './profileResponse';\r\n\r\nexport class SyncResponse extends BaseResponse {\r\n profile?: ProfileResponse;\r\n folders: FolderResponse[] = [];\r\n collections: CollectionDetailsResponse[] = [];\r\n ciphers: CipherResponse[] = [];\r\n domains?: DomainsResponse;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n\r\n const profile = this.getResponseProperty('Profile');\r\n if (profile != null) {\r\n this.profile = new ProfileResponse(profile);\r\n }\r\n\r\n const folders = this.getResponseProperty('Folders');\r\n if (folders != null) {\r\n this.folders = folders.map((f: any) => new FolderResponse(f));\r\n }\r\n\r\n const collections = this.getResponseProperty('Collections');\r\n if (collections != null) {\r\n this.collections = collections.map((c: any) => new CollectionDetailsResponse(c));\r\n }\r\n\r\n const ciphers = this.getResponseProperty('Ciphers');\r\n if (ciphers != null) {\r\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\r\n }\r\n\r\n const domains = this.getResponseProperty('Domains');\r\n if (domains != null) {\r\n this.domains = new DomainsResponse(domains);\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorAuthenticatorResponse extends BaseResponse {\r\n enabled: boolean;\r\n key: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.key = this.getResponseProperty('Key');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorDuoResponse extends BaseResponse {\r\n enabled: boolean;\r\n host: string;\r\n secretKey: string;\r\n integrationKey: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.host = this.getResponseProperty('Host');\r\n this.secretKey = this.getResponseProperty('SecretKey');\r\n this.integrationKey = this.getResponseProperty('IntegrationKey');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorEmailResponse extends BaseResponse {\r\n enabled: boolean;\r\n email: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.email = this.getResponseProperty('Email');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class TwoFactorProviderResponse extends BaseResponse {\r\n enabled: boolean;\r\n type: TwoFactorProviderType;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.type = this.getResponseProperty('Type');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorRecoverResponse extends BaseResponse {\r\n code: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.code = this.getResponseProperty('Code');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorU2fResponse extends BaseResponse {\r\n enabled: boolean;\r\n keys: KeyResponse[];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n const keys = this.getResponseProperty('Keys');\r\n this.keys = keys == null ? null : keys.map((k: any) => new KeyResponse(k));\r\n }\r\n}\r\n\r\nexport class KeyResponse extends BaseResponse {\r\n name: string;\r\n id: number;\r\n compromised: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.name = this.getResponseProperty('Name');\r\n this.id = this.getResponseProperty('Id');\r\n this.compromised = this.getResponseProperty('Compromised');\r\n }\r\n}\r\n\r\nexport class ChallengeResponse extends BaseResponse {\r\n userId: string;\r\n appId: string;\r\n challenge: string;\r\n version: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.userId = this.getResponseProperty('UserId');\r\n this.appId = this.getResponseProperty('AppId');\r\n this.challenge = this.getResponseProperty('Challenge');\r\n this.version = this.getResponseProperty('Version');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorYubiKeyResponse extends BaseResponse {\r\n enabled: boolean;\r\n key1: string;\r\n key2: string;\r\n key3: string;\r\n key4: string;\r\n key5: string;\r\n nfc: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enable');\r\n this.key1 = this.getResponseProperty('Key1');\r\n this.key2 = this.getResponseProperty('Key2');\r\n this.key3 = this.getResponseProperty('Key3');\r\n this.key4 = this.getResponseProperty('Key4');\r\n this.key5 = this.getResponseProperty('Key5');\r\n this.nfc = this.getResponseProperty('Nfc');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class UserKeyResponse extends BaseResponse {\r\n userId: string;\r\n publicKey: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.userId = this.getResponseProperty('UserId');\r\n this.publicKey = this.getResponseProperty('PublicKey');\r\n }\r\n}\r\n","/**\n * Use as a Decorator on async functions, it will limit how many times the function can be\n * in-flight at a time.\n *\n * Calls beyond the limit will be queued, and run when one of the active calls finishes\n */\nexport function throttle(limit: number, throttleKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise>) => {\n const originalMethod: () => Promise = descriptor.value;\n const allThrottles = new Map void>>>();\n\n const getThrottles = (obj: any) => {\n let throttles = allThrottles.get(obj);\n if (throttles != null) {\n return throttles;\n }\n throttles = new Map void>>();\n allThrottles.set(obj, throttles);\n return throttles;\n };\n\n return {\n value: function(...args: any[]) {\n const throttles = getThrottles(this);\n const argsThrottleKey = throttleKey(args);\n let queue = throttles.get(argsThrottleKey);\n if (queue == null) {\n queue = [];\n throttles.set(argsThrottleKey, queue);\n }\n\n return new Promise((resolve, reject) => {\n const exec = () => {\n const onFinally = () => {\n queue.splice(queue.indexOf(exec), 1);\n if (queue.length >= limit) {\n queue[limit - 1]();\n } else if (queue.length === 0) {\n throttles.delete(argsThrottleKey);\n if (throttles.size === 0) {\n allThrottles.delete(this);\n }\n }\n };\n originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n }).then(resolve, reject);\n };\n queue.push(exec);\n if (queue.length <= limit) {\n exec();\n }\n });\n },\n };\n };\n}\n","export class CipherBulkDeleteRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\n }\n}\n","export class CipherBulkMoveRequest {\n ids: string[];\n folderId: string;\n\n constructor(ids: string[], folderId: string) {\n this.ids = ids == null ? [] : ids;\n this.folderId = folderId;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherBulkShareRequest {\n ciphers: CipherWithIdRequest[];\n collectionIds: string[];\n\n constructor(ciphers: Cipher[], collectionIds: string[]) {\n if (ciphers != null) {\n this.ciphers = [];\n ciphers.forEach((c) => {\n this.ciphers.push(new CipherWithIdRequest(c));\n });\n }\n this.collectionIds = collectionIds;\n }\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherShareRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","export class TreeNode {\r\n parent: T;\r\n node: T;\r\n children: Array> = [];\r\n\r\n constructor(node: T, name: string, parent: T) {\r\n this.parent = parent;\r\n this.node = node;\r\n this.node.name = name;\r\n }\r\n}\r\n\r\nexport interface ITreeNodeObject {\r\n id: string;\r\n name: string;\r\n}\r\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class EncryptedObject {\n iv: ArrayBuffer;\n data: ArrayBuffer;\n mac: ArrayBuffer;\n key: SymmetricCryptoKey;\n}\n","export class EnvironmentUrls {\n base: string;\n api: string;\n identity: string;\n}\n","import { FolderData } from '../data/folderData';\n\nimport { FolderView } from '../view/folderView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Folder extends Domain {\n id: string;\n name: CipherString;\n revisionDate: Date;\n\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n }, alreadyEncrypted, ['id']);\n\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n }\n\n decrypt(): Promise {\n return this.decryptObj(new FolderView(this), {\n name: null,\n }, null);\n }\n}\n","export class GeneratedPasswordHistory {\r\n password: string;\r\n date: number;\r\n\r\n constructor(password: string, date: number) {\r\n this.password = password;\r\n this.date = date;\r\n }\r\n}\r\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nexport class OrganizationData {\r\n id: string;\r\n name: string;\r\n status: OrganizationUserStatusType;\r\n type: OrganizationUserType;\r\n enabled: boolean;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n selfHost: boolean;\r\n usersGetPremium: boolean;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb?: number;\r\n\r\n constructor(response: ProfileOrganizationResponse) {\r\n this.id = response.id;\r\n this.name = response.name;\r\n this.status = response.status;\r\n this.type = response.type;\r\n this.enabled = response.enabled;\r\n this.useGroups = response.useGroups;\r\n this.useDirectory = response.useDirectory;\r\n this.useEvents = response.useEvents;\r\n this.useTotp = response.useTotp;\r\n this.use2fa = response.use2fa;\r\n this.useApi = response.useApi;\r\n this.selfHost = response.selfHost;\r\n this.usersGetPremium = response.usersGetPremium;\r\n this.seats = response.seats;\r\n this.maxCollections = response.maxCollections;\r\n this.maxStorageGb = response.maxStorageGb;\r\n }\r\n}\r\n","import { OrganizationData } from '../data/organizationData';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nexport class Organization {\r\n id: string;\r\n name: string;\r\n status: OrganizationUserStatusType;\r\n type: OrganizationUserType;\r\n enabled: boolean;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n selfHost: boolean;\r\n usersGetPremium: boolean;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb?: number;\r\n\r\n constructor(obj?: OrganizationData) {\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.id = obj.id;\r\n this.name = obj.name;\r\n this.status = obj.status;\r\n this.type = obj.type;\r\n this.enabled = obj.enabled;\r\n this.useGroups = obj.useGroups;\r\n this.useDirectory = obj.useDirectory;\r\n this.useEvents = obj.useEvents;\r\n this.useTotp = obj.useTotp;\r\n this.use2fa = obj.use2fa;\r\n this.useApi = obj.useApi;\r\n this.selfHost = obj.selfHost;\r\n this.usersGetPremium = obj.usersGetPremium;\r\n this.seats = obj.seats;\r\n this.maxCollections = obj.maxCollections;\r\n this.maxStorageGb = obj.maxStorageGb;\r\n }\r\n\r\n get canAccess() {\r\n if (this.type === OrganizationUserType.Owner) {\r\n return true;\r\n }\r\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\r\n }\r\n\r\n get isManager() {\r\n return this.type === OrganizationUserType.Manager || this.type === OrganizationUserType.Owner ||\r\n this.type === OrganizationUserType.Admin;\r\n }\r\n\r\n get isAdmin() {\r\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\r\n }\r\n\r\n get isOwner() {\r\n return this.type === OrganizationUserType.Owner;\r\n }\r\n}\r\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\n\nexport class I18nService extends BaseI18nService {\n constructor(systemLanguage: string, localesDirectory: string) {\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\n process.env.CACHE_TAG;\n const localesResult = await fetch(filePath);\n const locales = await localesResult.json();\n return locales;\n });\n\n this.supportedTranslationLocales = [\n 'en', 'ca', 'cs', 'da', 'de', 'en-GB', 'es', 'et', 'fr', 'it', 'ja', 'nb', 'nl', 'pl', 'pt-PT', 'pt-BR',\n 'ru', 'sk', 'sv', 'uk', 'zh-CN', 'zh-TW',\n ];\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nexport class MemoryStorageService implements StorageService {\r\n private store = new Map();\r\n\r\n get(key: string): Promise {\r\n if (this.store.has(key)) {\r\n const obj = this.store.get(key);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n this.store.set(key, obj);\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n this.store.delete(key);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService, private messagingService: MessagingService) { }\n\n getDevice(): DeviceType {\n if (this.browserCache != null) {\n return this.browserCache;\n }\n\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\n this.browserCache = DeviceType.FirefoxBrowser;\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\n this.browserCache = DeviceType.OperaBrowser;\n } else if (navigator.userAgent.indexOf(' Edge/') !== -1) {\n this.browserCache = DeviceType.EdgeBrowser;\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\n this.browserCache = DeviceType.VivaldiBrowser;\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\n this.browserCache = DeviceType.SafariBrowser;\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\n this.browserCache = DeviceType.ChromeBrowser;\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\n this.browserCache = DeviceType.IEBrowser;\n } else {\n this.browserCache = DeviceType.UnknownBrowser;\n }\n\n return this.browserCache;\n }\n\n getDeviceString(): string {\n const device = DeviceType[this.getDevice()].toLowerCase();\n return device.replace('browser', '');\n }\n\n isFirefox(): boolean {\n return this.getDevice() === DeviceType.FirefoxBrowser;\n }\n\n isChrome(): boolean {\n return this.getDevice() === DeviceType.ChromeBrowser;\n }\n\n isEdge(): boolean {\n return this.getDevice() === DeviceType.EdgeBrowser;\n }\n\n isOpera(): boolean {\n return this.getDevice() === DeviceType.OperaBrowser;\n }\n\n isVivaldi(): boolean {\n return this.getDevice() === DeviceType.VivaldiBrowser;\n }\n\n isSafari(): boolean {\n return this.getDevice() === DeviceType.SafariBrowser;\n }\n\n isIE(): boolean {\n return this.getDevice() === DeviceType.IEBrowser;\n }\n\n isMacAppStore(): boolean {\n return false;\n }\n\n analyticsId(): string {\n return 'UA-81915606-3';\n }\n\n isViewOpen(): boolean {\n return false;\n }\n\n lockTimeout(): number {\n return null;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n a.classList.add('d-none');\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\n let blob: Blob = null;\n let type: string = null;\n const fileNameLower = fileName.toLowerCase();\n let doDownload = true;\n if (fileNameLower.endsWith('.pdf')) {\n type = 'application/pdf';\n doDownload = false;\n } else if (fileNameLower.endsWith('.xlsx')) {\n type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n } else if (fileNameLower.endsWith('.docx')) {\n type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n } else if (fileNameLower.endsWith('.pptx')) {\n type = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n } else if (fileNameLower.endsWith('.csv')) {\n type = 'text/csv';\n } else if (fileNameLower.endsWith('.png')) {\n type = 'image/png';\n } else if (fileNameLower.endsWith('.jpg') || fileNameLower.endsWith('.jpeg')) {\n type = 'image/jpeg';\n } else if (fileNameLower.endsWith('.gif')) {\n type = 'image/gif';\n }\n if (type != null) {\n blobOptions = blobOptions || {};\n if (blobOptions.type == null) {\n blobOptions.type = type;\n }\n }\n if (blobOptions != null && !this.isIE()) {\n blob = new Blob([blobData], blobOptions);\n } else {\n blob = new Blob([blobData]);\n }\n if (navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const a = win.document.createElement('a');\n if (doDownload) {\n a.download = fileName;\n } else {\n a.target = '_blank';\n }\n a.href = win.URL.createObjectURL(blob);\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return this.isChrome() || ((this.isOpera() || this.isVivaldi()) && !Utils.isMobileBrowser);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\n options?: any): void {\n this.messagingService.send('showToast', {\n text: text,\n title: title,\n type: type,\n options: options,\n });\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n const buttons = [confirmText == null ? this.i18nService.t('ok') : confirmText];\n if (cancelText != null) {\n buttons.unshift(cancelText);\n }\n\n const contentDiv = document.createElement('div');\n if (type != null) {\n const icon = document.createElement('i');\n icon.classList.add('swal-custom-icon');\n switch (type) {\n case 'success':\n icon.classList.add('fa', 'fa-check', 'text-success');\n break;\n case 'warning':\n icon.classList.add('fa', 'fa-warning', 'text-warning');\n break;\n case 'error':\n icon.classList.add('fa', 'fa-bolt', 'text-danger');\n break;\n case 'info':\n icon.classList.add('fa', 'fa-info-circle', 'text-info');\n break;\n default:\n break;\n }\n if (icon.classList.contains('fa')) {\n contentDiv.appendChild(icon);\n }\n }\n\n if (title != null) {\n const titleDiv = document.createElement('div');\n titleDiv.classList.add('swal-title');\n titleDiv.appendChild(document.createTextNode(title));\n contentDiv.appendChild(titleDiv);\n }\n\n if (text != null) {\n const textDiv = document.createElement('div');\n textDiv.classList.add('swal-text');\n textDiv.appendChild(document.createTextNode(text));\n contentDiv.appendChild(textDiv);\n }\n\n const confirmed = buttons.length > 1 ? await swal({\n content: { element: contentDiv },\n buttons: buttons,\n }) : await (swal as any)({\n content: { element: contentDiv },\n button: buttons[0],\n });\n return confirmed;\n }\n\n eventTrack(action: string, label?: string, options?: any) {\n this.messagingService.send('analyticsEventTrack', {\n action: action,\n label: label,\n options: options,\n });\n }\n\n isDev(): boolean {\n return process.env.ENV === 'development';\n }\n\n isSelfHost(): boolean {\n return process.env.SELF_HOST.toString() === 'true';\n }\n\n copyToClipboard(text: string, options?: any): void {\n let win = window;\n let doc = window.document;\n if (options && (options.window || options.win)) {\n win = options.window || options.win;\n doc = win.document;\n } else if (options && options.doc) {\n doc = options.doc;\n }\n if ((win as any).clipboardData && (win as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (win as any).clipboardData.setData('Text', text);\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\n const textarea = doc.createElement('textarea');\n textarea.textContent = text;\n // Prevent scrolling to bottom of page in MS Edge.\n textarea.style.position = 'fixed';\n let copyEl = doc.body;\n // For some reason copy command won't work in Firefox when modal is open if appending to body\n if (this.isFirefox() && doc.body.classList.contains('modal-open')) {\n copyEl = doc.body.querySelector('.modal');\n }\n copyEl.appendChild(textarea);\n textarea.select();\n try {\n // Security exception may be thrown by some browsers.\n doc.execCommand('copy');\n } catch (e) {\n // tslint:disable-next-line\n console.warn('Copy to clipboard failed.', e);\n } finally {\n copyEl.removeChild(textarea);\n }\n }\n }\n\n readFromClipboard(options?: any): Promise {\n throw new Error('Cannot read from clipboard on web.');\n }\n}\n","import { AppIdService } from '../abstractions/appId.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from '../services/constants.service';\r\n\r\nimport { DeviceType } from '../enums/deviceType';\r\n\r\nconst GaObj = 'ga';\r\n\r\nexport const AnalyticsIds = {\r\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\r\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\r\n [DeviceType.OperaExtension]: 'UA-81915606-8',\r\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\r\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\r\n [DeviceType.SafariExtension]: 'UA-81915606-16',\r\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\r\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\r\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\r\n};\r\n\r\nexport class Analytics {\r\n private gaTrackingId: string = null;\r\n private defaultDisabled = false;\r\n private appVersion: string;\r\n\r\n constructor(win: Window, private gaFilter?: () => boolean,\r\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\r\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\r\n if (dependencyResolver != null) {\r\n const deps = dependencyResolver();\r\n if (platformUtilsService == null && deps.platformUtilsService) {\r\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\r\n }\r\n if (storageService == null && deps.storageService) {\r\n this.storageService = deps.storageService as StorageService;\r\n }\r\n if (appIdService == null && deps.appIdService) {\r\n this.appIdService = deps.appIdService as AppIdService;\r\n }\r\n }\r\n\r\n this.appVersion = this.platformUtilsService.getApplicationVersion();\r\n this.defaultDisabled = this.platformUtilsService.getDevice() === DeviceType.FirefoxExtension ||\r\n this.platformUtilsService.isMacAppStore();\r\n this.gaTrackingId = this.platformUtilsService.analyticsId();\r\n\r\n (win as any).GoogleAnalyticsObject = GaObj;\r\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\r\n await this.ga(action, param1, param2);\r\n };\r\n }\r\n\r\n async ga(action: string, param1: any, param2?: any) {\r\n return;\r\n\r\n if (this.gaFilter != null && this.gaFilter()) {\r\n return;\r\n }\r\n\r\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\r\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\r\n return;\r\n }\r\n\r\n if (action !== 'send' || !param1) {\r\n return;\r\n }\r\n\r\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\r\n const version = encodeURIComponent(this.appVersion);\r\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\r\n\r\n if (param1 === 'pageview' && param2) {\r\n message += this.gaTrackPageView(param2);\r\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\r\n message += this.gaTrackPageView(param1.page);\r\n } else if (param1 === 'event' && param2) {\r\n message += this.gaTrackEvent(param2);\r\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\r\n message += this.gaTrackEvent(param1);\r\n }\r\n\r\n const request = new XMLHttpRequest();\r\n request.open('POST', 'https://www.google-analytics.com/collect', true);\r\n request.send(message);\r\n }\r\n\r\n private gaTrackEvent(options: any) {\r\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\r\n '&ea=' + encodeURIComponent(options.eventAction) +\r\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\r\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\r\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\r\n }\r\n\r\n private gaTrackPageView(pagePath: string) {\r\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\r\n }\r\n\r\n private cleanPagePath(pagePath: string) {\r\n const paramIndex = pagePath.indexOf('?');\r\n if (paramIndex > -1) {\r\n pagePath = pagePath.substring(0, paramIndex);\r\n }\r\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\r\n pagePath = pagePath.substring(1);\r\n }\r\n const pathParts = pagePath.split('/');\r\n const newPathParts: string[] = [];\r\n pathParts.forEach((p) => {\r\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\r\n newPathParts.push('__guid__');\r\n } else {\r\n newPathParts.push(p);\r\n }\r\n });\r\n return encodeURIComponent(newPathParts.join('/'));\r\n }\r\n}\r\n","import * as papa from 'papaparse';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { Collection } from '../models/domain/collection';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\nimport { CollectionData } from '../models/data/collectionData';\r\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\r\n\r\nimport { CipherWithIds as CipherExport } from '../models/export/cipherWithIds';\r\nimport { CollectionWithId as CollectionExport } from '../models/export/collectionWithId';\r\nimport { FolderWithId as FolderExport } from '../models/export/folderWithId';\r\n\r\nexport class ExportService implements ExportServiceAbstraction {\r\n constructor(private folderService: FolderService, private cipherService: CipherService,\r\n private apiService: ApiService) { }\r\n\r\n async getExport(format: 'csv' | 'json' = 'csv'): Promise {\r\n let decFolders: FolderView[] = [];\r\n let decCiphers: CipherView[] = [];\r\n const promises = [];\r\n\r\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\r\n decFolders = folders;\r\n }));\r\n\r\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\r\n decCiphers = ciphers;\r\n }));\r\n\r\n await Promise.all(promises);\r\n\r\n if (format === 'csv') {\r\n const foldersMap = new Map();\r\n decFolders.forEach((f) => {\r\n foldersMap.set(f.id, f);\r\n });\r\n\r\n const exportCiphers: any[] = [];\r\n decCiphers.forEach((c) => {\r\n // only export logins and secure notes\r\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\r\n return;\r\n }\r\n if (c.organizationId != null) {\r\n return;\r\n }\r\n\r\n const cipher: any = {};\r\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ?\r\n foldersMap.get(c.folderId).name : null;\r\n cipher.favorite = c.favorite ? 1 : null;\r\n this.buildCommonCipher(cipher, c);\r\n exportCiphers.push(cipher);\r\n });\r\n\r\n return papa.unparse(exportCiphers);\r\n } else {\r\n const jsonDoc: any = {\r\n folders: [],\r\n items: [],\r\n };\r\n\r\n decFolders.forEach((f) => {\r\n if (f.id == null) {\r\n return;\r\n }\r\n const folder = new FolderExport();\r\n folder.build(f);\r\n jsonDoc.folders.push(folder);\r\n });\r\n\r\n decCiphers.forEach((c) => {\r\n if (c.organizationId != null) {\r\n return;\r\n }\r\n const cipher = new CipherExport();\r\n cipher.build(c);\r\n cipher.collectionIds = null;\r\n jsonDoc.items.push(cipher);\r\n });\r\n\r\n return JSON.stringify(jsonDoc, null, ' ');\r\n }\r\n }\r\n\r\n async getOrganizationExport(organizationId: string, format: 'csv' | 'json' = 'csv'): Promise {\r\n const decCollections: CollectionView[] = [];\r\n const decCiphers: CipherView[] = [];\r\n const promises = [];\r\n\r\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\r\n const collectionPromises: any = [];\r\n if (collections != null && collections.data != null && collections.data.length > 0) {\r\n collections.data.forEach((c) => {\r\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\r\n collectionPromises.push(collection.decrypt().then((decCol) => {\r\n decCollections.push(decCol);\r\n }));\r\n });\r\n }\r\n return Promise.all(collectionPromises);\r\n }));\r\n\r\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\r\n const cipherPromises: any = [];\r\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\r\n ciphers.data.forEach((c) => {\r\n const cipher = new Cipher(new CipherData(c));\r\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\r\n decCiphers.push(decCipher);\r\n }));\r\n });\r\n }\r\n return Promise.all(cipherPromises);\r\n }));\r\n\r\n await Promise.all(promises);\r\n\r\n if (format === 'csv') {\r\n const collectionsMap = new Map();\r\n decCollections.forEach((c) => {\r\n collectionsMap.set(c.id, c);\r\n });\r\n\r\n const exportCiphers: any[] = [];\r\n decCiphers.forEach((c) => {\r\n // only export logins and secure notes\r\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\r\n return;\r\n }\r\n\r\n const cipher: any = {};\r\n cipher.collections = [];\r\n if (c.collectionIds != null) {\r\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\r\n .map((id) => collectionsMap.get(id).name);\r\n }\r\n this.buildCommonCipher(cipher, c);\r\n exportCiphers.push(cipher);\r\n });\r\n\r\n return papa.unparse(exportCiphers);\r\n } else {\r\n const jsonDoc: any = {\r\n collections: [],\r\n items: [],\r\n };\r\n\r\n decCollections.forEach((c) => {\r\n const collection = new CollectionExport();\r\n collection.build(c);\r\n jsonDoc.collections.push(collection);\r\n });\r\n\r\n decCiphers.forEach((c) => {\r\n const cipher = new CipherExport();\r\n cipher.build(c);\r\n jsonDoc.items.push(cipher);\r\n });\r\n return JSON.stringify(jsonDoc, null, ' ');\r\n }\r\n }\r\n\r\n getFileName(prefix: string = null, extension: string = 'csv'): string {\r\n const now = new Date();\r\n const dateString =\r\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\r\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\r\n this.padNumber(now.getSeconds(), 2);\r\n\r\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.' + extension;\r\n }\r\n\r\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\r\n const numString = num.toString();\r\n return numString.length >= width ? numString :\r\n new Array(width - numString.length + 1).join(padCharacter) + numString;\r\n }\r\n\r\n private buildCommonCipher(cipher: any, c: CipherView) {\r\n cipher.type = null;\r\n cipher.name = c.name;\r\n cipher.notes = c.notes;\r\n cipher.fields = null;\r\n // Login props\r\n cipher.login_uri = null;\r\n cipher.login_username = null;\r\n cipher.login_password = null;\r\n cipher.login_totp = null;\r\n\r\n if (c.fields) {\r\n c.fields.forEach((f: any) => {\r\n if (!cipher.fields) {\r\n cipher.fields = '';\r\n } else {\r\n cipher.fields += '\\n';\r\n }\r\n\r\n cipher.fields += ((f.name || '') + ': ' + f.value);\r\n });\r\n }\r\n\r\n switch (c.type) {\r\n case CipherType.Login:\r\n cipher.type = 'login';\r\n cipher.login_username = c.login.username;\r\n cipher.login_password = c.login.password;\r\n cipher.login_totp = c.login.totp;\r\n\r\n if (c.login.uris) {\r\n cipher.login_uri = [];\r\n c.login.uris.forEach((u) => {\r\n cipher.login_uri.push(u.uri);\r\n });\r\n }\r\n break;\r\n case CipherType.SecureNote:\r\n cipher.type = 'note';\r\n break;\r\n default:\r\n return;\r\n }\r\n\r\n return cipher;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CipherView } from '../view/cipherView';\r\n\r\nimport { Card } from './card';\r\nimport { Field } from './field';\r\nimport { Identity } from './identity';\r\nimport { Login } from './login';\r\nimport { SecureNote } from './secureNote';\r\n\r\nexport class Cipher {\r\n static template(): Cipher {\r\n const req = new Cipher();\r\n req.organizationId = null;\r\n req.folderId = null;\r\n req.type = CipherType.Login;\r\n req.name = 'Item name';\r\n req.notes = 'Some notes about this item.';\r\n req.favorite = false;\r\n req.fields = [];\r\n req.login = null;\r\n req.secureNote = null;\r\n req.card = null;\r\n req.identity = null;\r\n return req;\r\n }\r\n\r\n static toView(req: Cipher, view = new CipherView()) {\r\n view.type = req.type;\r\n view.folderId = req.folderId;\r\n if (view.organizationId == null) {\r\n view.organizationId = req.organizationId;\r\n }\r\n view.name = req.name;\r\n view.notes = req.notes;\r\n view.favorite = req.favorite;\r\n\r\n if (req.fields != null) {\r\n view.fields = req.fields.map((f) => Field.toView(f));\r\n }\r\n\r\n switch (req.type) {\r\n case CipherType.Login:\r\n view.login = Login.toView(req.login);\r\n break;\r\n case CipherType.SecureNote:\r\n view.secureNote = SecureNote.toView(req.secureNote);\r\n break;\r\n case CipherType.Card:\r\n view.card = Card.toView(req.card);\r\n break;\r\n case CipherType.Identity:\r\n view.identity = Identity.toView(req.identity);\r\n break;\r\n }\r\n\r\n return view;\r\n }\r\n\r\n type: CipherType;\r\n folderId: string;\r\n organizationId: string;\r\n name: string;\r\n notes: string;\r\n favorite: boolean;\r\n fields: Field[];\r\n login: Login;\r\n secureNote: SecureNote;\r\n card: Card;\r\n identity: Identity;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CipherView) {\r\n this.organizationId = o.organizationId;\r\n this.folderId = o.folderId;\r\n this.type = o.type;\r\n this.name = o.name;\r\n this.notes = o.notes;\r\n this.favorite = o.favorite;\r\n\r\n if (o.fields != null) {\r\n this.fields = o.fields.map((f) => new Field(f));\r\n }\r\n\r\n switch (o.type) {\r\n case CipherType.Login:\r\n this.login = new Login(o.login);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNote(o.secureNote);\r\n break;\r\n case CipherType.Card:\r\n this.card = new Card(o.card);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new Identity(o.identity);\r\n break;\r\n }\r\n }\r\n}\r\n","import { CardView } from '../view/cardView';\r\n\r\nexport class Card {\r\n static template(): Card {\r\n const req = new Card();\r\n req.cardholderName = 'John Doe';\r\n req.brand = 'visa';\r\n req.number = '4242424242424242';\r\n req.expMonth = '04';\r\n req.expYear = '2023';\r\n req.code = '123';\r\n return req;\r\n }\r\n\r\n static toView(req: Card, view = new CardView()) {\r\n view.cardholderName = req.cardholderName;\r\n view.brand = req.brand;\r\n view.number = req.number;\r\n view.expMonth = req.expMonth;\r\n view.expYear = req.expYear;\r\n view.code = req.code;\r\n return view;\r\n }\r\n\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(o?: CardView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.cardholderName = o.cardholderName;\r\n this.brand = o.brand;\r\n this.number = o.number;\r\n this.expMonth = o.expMonth;\r\n this.expYear = o.expYear;\r\n this.code = o.code;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { FieldView } from '../view/fieldView';\r\n\r\nexport class Field {\r\n static template(): Field {\r\n const req = new Field();\r\n req.name = 'Field name';\r\n req.value = 'Some value';\r\n req.type = FieldType.Text;\r\n return req;\r\n }\r\n\r\n static toView(req: Field, view = new FieldView()) {\r\n view.type = req.type;\r\n view.value = req.value;\r\n view.name = req.name;\r\n return view;\r\n }\r\n\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(o?: FieldView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.name = o.name;\r\n this.value = o.value;\r\n this.type = o.type;\r\n }\r\n}\r\n","import { IdentityView } from '../view/identityView';\r\n\r\nexport class Identity {\r\n static template(): Identity {\r\n const req = new Identity();\r\n req.title = 'Mr';\r\n req.firstName = 'John';\r\n req.middleName = 'William';\r\n req.lastName = 'Doe';\r\n req.address1 = '123 Any St';\r\n req.address2 = 'Apt #123';\r\n req.address3 = null;\r\n req.city = 'New York';\r\n req.state = 'NY';\r\n req.postalCode = '10001';\r\n req.country = 'US';\r\n req.company = 'Acme Inc.';\r\n req.email = 'john@company.com';\r\n req.phone = '5555551234';\r\n req.ssn = '000-123-4567';\r\n req.username = 'jdoe';\r\n req.passportNumber = 'US-123456789';\r\n req.licenseNumber = 'D123-12-123-12333';\r\n return req;\r\n }\r\n\r\n static toView(req: Identity, view = new IdentityView()) {\r\n view.title = req.title;\r\n view.firstName = req.firstName;\r\n view.middleName = req.middleName;\r\n view.lastName = req.lastName;\r\n view.address1 = req.address1;\r\n view.address2 = req.address2;\r\n view.address3 = req.address3;\r\n view.city = req.city;\r\n view.state = req.state;\r\n view.postalCode = req.postalCode;\r\n view.country = req.country;\r\n view.company = req.company;\r\n view.email = req.email;\r\n view.phone = req.phone;\r\n view.ssn = req.ssn;\r\n view.username = req.username;\r\n view.passportNumber = req.passportNumber;\r\n view.licenseNumber = req.licenseNumber;\r\n return view;\r\n }\r\n\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(o?: IdentityView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.title = o.title;\r\n this.firstName = o.firstName;\r\n this.middleName = o.middleName;\r\n this.lastName = o.lastName;\r\n this.address1 = o.address1;\r\n this.address2 = o.address2;\r\n this.address3 = o.address3;\r\n this.city = o.city;\r\n this.state = o.state;\r\n this.postalCode = o.postalCode;\r\n this.country = o.country;\r\n this.company = o.company;\r\n this.email = o.email;\r\n this.phone = o.phone;\r\n this.ssn = o.ssn;\r\n this.username = o.username;\r\n this.passportNumber = o.passportNumber;\r\n this.licenseNumber = o.licenseNumber;\r\n }\r\n}\r\n","import { LoginUri } from './loginUri';\r\n\r\nimport { LoginView } from '../view/loginView';\r\n\r\nexport class Login {\r\n static template(): Login {\r\n const req = new Login();\r\n req.uris = [];\r\n req.username = 'jdoe';\r\n req.password = 'myp@ssword123';\r\n req.totp = 'JBSWY3DPEHPK3PXP';\r\n return req;\r\n }\r\n\r\n static toView(req: Login, view = new LoginView()) {\r\n if (req.uris != null) {\r\n view.uris = req.uris.map((u) => LoginUri.toView(u));\r\n }\r\n view.username = req.username;\r\n view.password = req.password;\r\n view.totp = req.totp;\r\n return view;\r\n }\r\n\r\n uris: LoginUri[];\r\n username: string;\r\n password: string;\r\n totp: string;\r\n\r\n constructor(o?: LoginView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n if (o.uris != null) {\r\n this.uris = o.uris.map((u) => new LoginUri(u));\r\n }\r\n\r\n this.username = o.username;\r\n this.password = o.password;\r\n this.totp = o.totp;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { LoginUriView } from '../view/loginUriView';\r\n\r\nexport class LoginUri {\r\n static template(): LoginUri {\r\n const req = new LoginUri();\r\n req.uri = 'https://google.com';\r\n req.match = null;\r\n return req;\r\n }\r\n\r\n static toView(req: LoginUri, view = new LoginUriView()) {\r\n view.uri = req.uri;\r\n view.match = req.match;\r\n return view;\r\n }\r\n\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(o?: LoginUriView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.uri = o.uri;\r\n this.match = o.match;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { SecureNoteView } from '../view/secureNoteView';\r\n\r\nexport class SecureNote {\r\n static template(): SecureNote {\r\n const req = new SecureNote();\r\n req.type = SecureNoteType.Generic;\r\n return req;\r\n }\r\n\r\n static toView(req: SecureNote, view = new SecureNoteView()) {\r\n view.type = req.type;\r\n return view;\r\n }\r\n\r\n type: SecureNoteType;\r\n\r\n constructor(o?: SecureNoteView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.type = o.type;\r\n }\r\n}\r\n","import { CollectionView } from '../view/collectionView';\r\n\r\nexport class Collection {\r\n static template(): Collection {\r\n const req = new Collection();\r\n req.organizationId = '00000000-0000-0000-0000-000000000000';\r\n req.name = 'Collection name';\r\n return req;\r\n }\r\n\r\n static toView(req: Collection, view = new CollectionView()) {\r\n view.name = req.name;\r\n if (view.organizationId == null) {\r\n view.organizationId = req.organizationId;\r\n }\r\n return view;\r\n }\r\n\r\n organizationId: string;\r\n name: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CollectionView) {\r\n this.organizationId = o.organizationId;\r\n this.name = o.name;\r\n }\r\n}\r\n","import { FolderView } from '../view/folderView';\r\n\r\nexport class Folder {\r\n static template(): Folder {\r\n const req = new Folder();\r\n req.name = 'Folder name';\r\n return req;\r\n }\r\n\r\n static toView(req: Folder, view = new FolderView()) {\r\n view.name = req.name;\r\n return view;\r\n }\r\n\r\n name: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: FolderView) {\r\n this.name = o.name;\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CollectionService } from '../abstractions/collection.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport {\r\n ImportOption,\r\n ImportService as ImportServiceAbstraction,\r\n} from '../abstractions/import.service';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KvpRequest } from '../models/request/kvpRequest';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nimport { AscendoCsvImporter } from '../importers/ascendoCsvImporter';\r\nimport { AvastCsvImporter } from '../importers/avastCsvImporter';\r\nimport { AviraCsvImporter } from '../importers/aviraCsvImporter';\r\nimport { BitwardenCsvImporter } from '../importers/bitwardenCsvImporter';\r\nimport { BitwardenJsonImporter } from '../importers/bitwardenJsonImporter';\r\nimport { BlurCsvImporter } from '../importers/blurCsvImporter';\r\nimport { ChromeCsvImporter } from '../importers/chromeCsvImporter';\r\nimport { ClipperzHtmlImporter } from '../importers/clipperzHtmlImporter';\r\nimport { DashlaneJsonImporter } from '../importers/dashlaneJsonImporter';\r\nimport { EnpassCsvImporter } from '../importers/enpassCsvImporter';\r\nimport { EnpassJsonImporter } from '../importers/enpassJsonImporter';\r\nimport { FirefoxCsvImporter } from '../importers/firefoxCsvImporter';\r\nimport { FSecureFskImporter } from '../importers/fsecureFskImporter';\r\nimport { GnomeJsonImporter } from '../importers/gnomeJsonImporter';\r\nimport { Importer } from '../importers/importer';\r\nimport { KasperskyTxtImporter } from '../importers/kasperskyTxtImporter';\r\nimport { KeePass2XmlImporter } from '../importers/keepass2XmlImporter';\r\nimport { KeePassXCsvImporter } from '../importers/keepassxCsvImporter';\r\nimport { KeeperCsvImporter } from '../importers/keeperCsvImporter';\r\nimport { LastPassCsvImporter } from '../importers/lastpassCsvImporter';\r\nimport { MeldiumCsvImporter } from '../importers/meldiumCsvImporter';\r\nimport { MSecureCsvImporter } from '../importers/msecureCsvImporter';\r\nimport { OnePassword1PifImporter } from '../importers/onepassword1PifImporter';\r\nimport { OnePasswordWinCsvImporter } from '../importers/onepasswordWinCsvImporter';\r\nimport { PadlockCsvImporter } from '../importers/padlockCsvImporter';\r\nimport { PassKeepCsvImporter } from '../importers/passkeepCsvImporter';\r\nimport { PassmanJsonImporter } from '../importers/passmanJsonImporter';\r\nimport { PasspackCsvImporter } from '../importers/passpackCsvImporter';\r\nimport { PasswordAgentCsvImporter } from '../importers/passwordAgentCsvImporter';\r\nimport { PasswordBossJsonImporter } from '../importers/passwordBossJsonImporter';\r\nimport { PasswordDragonXmlImporter } from '../importers/passwordDragonXmlImporter';\r\nimport { PasswordSafeXmlImporter } from '../importers/passwordSafeXmlImporter';\r\nimport { RememBearCsvImporter } from '../importers/rememBearCsvImporter';\r\nimport { RoboFormCsvImporter } from '../importers/roboformCsvImporter';\r\nimport { SafeInCloudXmlImporter } from '../importers/safeInCloudXmlImporter';\r\nimport { SaferPassCsvImporter } from '../importers/saferpassCsvImport';\r\nimport { SplashIdCsvImporter } from '../importers/splashIdCsvImporter';\r\nimport { StickyPasswordXmlImporter } from '../importers/stickyPasswordXmlImporter';\r\nimport { TrueKeyCsvImporter } from '../importers/truekeyCsvImporter';\r\nimport { UpmCsvImporter } from '../importers/upmCsvImporter';\r\nimport { ZohoVaultCsvImporter } from '../importers/zohoVaultCsvImporter';\r\n\r\nexport class ImportService implements ImportServiceAbstraction {\r\n featuredImportOptions = [\r\n { id: 'bitwardenjson', name: 'Bitwarden (json)' },\r\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\r\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\r\n { id: 'chromecsv', name: 'Chrome (csv)' },\r\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\r\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\r\n { id: '1password1pif', name: '1Password (1pif)' },\r\n { id: 'dashlanejson', name: 'Dashlane (json)' },\r\n ];\r\n\r\n regularImportOptions: ImportOption[] = [\r\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\r\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\r\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\r\n { id: 'keepercsv', name: 'Keeper (csv)' },\r\n { id: 'enpasscsv', name: 'Enpass (csv)' },\r\n { id: 'enpassjson', name: 'Enpass (json)' },\r\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\r\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\r\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\r\n { id: 'msecurecsv', name: 'mSecure (csv)' },\r\n { id: 'truekeycsv', name: 'True Key (csv)' },\r\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\r\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\r\n { id: 'splashidcsv', name: 'SplashID (csv)' },\r\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\r\n { id: 'padlockcsv', name: 'Padlock (csv)' },\r\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\r\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\r\n { id: 'aviracsv', name: 'Avira (csv)' },\r\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\r\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\r\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\r\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\r\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\r\n { id: 'operacsv', name: 'Opera (csv)' },\r\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\r\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\r\n { id: 'blurcsv', name: 'Blur (csv)' },\r\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\r\n { id: 'passpackcsv', name: 'Passpack (csv)' },\r\n { id: 'passmanjson', name: 'Passman (json)' },\r\n { id: 'avastcsv', name: 'Avast Passwords (csv)' },\r\n { id: 'fsecurefsk', name: 'F-Secure KEY (fsk)' },\r\n { id: 'kasperskytxt', name: 'Kaspersky Password Manager (txt)' },\r\n { id: 'remembearcsv', name: 'RememBear (csv)' },\r\n ];\r\n\r\n constructor(private cipherService: CipherService, private folderService: FolderService,\r\n private apiService: ApiService, private i18nService: I18nService,\r\n private collectionService: CollectionService) { }\r\n\r\n getImportOptions(): ImportOption[] {\r\n return this.featuredImportOptions.concat(this.regularImportOptions);\r\n }\r\n\r\n async import(importer: Importer, fileContents: string, organizationId: string = null): Promise {\r\n const importResult = await importer.parse(fileContents);\r\n if (importResult.success) {\r\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\r\n return new Error(this.i18nService.t('importNothingError'));\r\n } else if (importResult.ciphers.length > 0) {\r\n const halfway = Math.floor(importResult.ciphers.length / 2);\r\n const last = importResult.ciphers.length - 1;\r\n\r\n if (this.badData(importResult.ciphers[0]) &&\r\n this.badData(importResult.ciphers[halfway]) &&\r\n this.badData(importResult.ciphers[last])) {\r\n return new Error(this.i18nService.t('importFormatError'));\r\n }\r\n }\r\n await this.postImport(importResult, organizationId);\r\n return null;\r\n } else {\r\n return new Error(this.i18nService.t('importFormatError'));\r\n }\r\n }\r\n\r\n getImporter(format: string, organization = false): Importer {\r\n const importer = this.getImporterInstance(format);\r\n if (importer == null) {\r\n return null;\r\n }\r\n importer.organization = organization;\r\n return importer;\r\n }\r\n\r\n private getImporterInstance(format: string) {\r\n if (format == null || format === '') {\r\n return null;\r\n }\r\n\r\n switch (format) {\r\n case 'bitwardencsv':\r\n return new BitwardenCsvImporter();\r\n case 'bitwardenjson':\r\n return new BitwardenJsonImporter();\r\n case 'lastpasscsv':\r\n case 'passboltcsv':\r\n return new LastPassCsvImporter();\r\n case 'keepassxcsv':\r\n return new KeePassXCsvImporter();\r\n case 'aviracsv':\r\n return new AviraCsvImporter();\r\n case 'blurcsv':\r\n return new BlurCsvImporter();\r\n case 'safeincloudxml':\r\n return new SafeInCloudXmlImporter();\r\n case 'padlockcsv':\r\n return new PadlockCsvImporter();\r\n case 'keepass2xml':\r\n return new KeePass2XmlImporter();\r\n case 'chromecsv':\r\n case 'operacsv':\r\n case 'vivaldicsv':\r\n return new ChromeCsvImporter();\r\n case 'firefoxcsv':\r\n return new FirefoxCsvImporter();\r\n case 'upmcsv':\r\n return new UpmCsvImporter();\r\n case 'saferpasscsv':\r\n return new SaferPassCsvImporter();\r\n case 'meldiumcsv':\r\n return new MeldiumCsvImporter();\r\n case '1password1pif':\r\n return new OnePassword1PifImporter();\r\n case '1passwordwincsv':\r\n return new OnePasswordWinCsvImporter();\r\n case 'keepercsv':\r\n return new KeeperCsvImporter();\r\n case 'passworddragonxml':\r\n return new PasswordDragonXmlImporter();\r\n case 'enpasscsv':\r\n return new EnpassCsvImporter();\r\n case 'enpassjson':\r\n return new EnpassJsonImporter();\r\n case 'pwsafexml':\r\n return new PasswordSafeXmlImporter();\r\n case 'dashlanejson':\r\n return new DashlaneJsonImporter();\r\n case 'msecurecsv':\r\n return new MSecureCsvImporter();\r\n case 'stickypasswordxml':\r\n return new StickyPasswordXmlImporter();\r\n case 'truekeycsv':\r\n return new TrueKeyCsvImporter();\r\n case 'clipperzhtml':\r\n return new ClipperzHtmlImporter();\r\n case 'roboformcsv':\r\n return new RoboFormCsvImporter();\r\n case 'ascendocsv':\r\n return new AscendoCsvImporter();\r\n case 'passwordbossjson':\r\n return new PasswordBossJsonImporter();\r\n case 'zohovaultcsv':\r\n return new ZohoVaultCsvImporter();\r\n case 'splashidcsv':\r\n return new SplashIdCsvImporter();\r\n case 'passkeepcsv':\r\n return new PassKeepCsvImporter();\r\n case 'gnomejson':\r\n return new GnomeJsonImporter();\r\n case 'passwordagentcsv':\r\n return new PasswordAgentCsvImporter();\r\n case 'passpackcsv':\r\n return new PasspackCsvImporter();\r\n case 'passmanjson':\r\n return new PassmanJsonImporter();\r\n case 'avastcsv':\r\n return new AvastCsvImporter();\r\n case 'fsecurefsk':\r\n return new FSecureFskImporter();\r\n case 'kasperskytxt':\r\n return new KasperskyTxtImporter();\r\n case 'remembearcsv':\r\n return new RememBearCsvImporter();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private async postImport(importResult: ImportResult, organizationId: string = null) {\r\n if (organizationId == null) {\r\n const request = new ImportCiphersRequest();\r\n for (let i = 0; i < importResult.ciphers.length; i++) {\r\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\r\n request.ciphers.push(new CipherRequest(c));\r\n }\r\n if (importResult.folders != null) {\r\n for (let i = 0; i < importResult.folders.length; i++) {\r\n const f = await this.folderService.encrypt(importResult.folders[i]);\r\n request.folders.push(new FolderRequest(f));\r\n }\r\n }\r\n if (importResult.folderRelationships != null) {\r\n importResult.folderRelationships.forEach((r) =>\r\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\r\n }\r\n return await this.apiService.postImportCiphers(request);\r\n } else {\r\n const request = new ImportOrganizationCiphersRequest();\r\n for (let i = 0; i < importResult.ciphers.length; i++) {\r\n importResult.ciphers[i].organizationId = organizationId;\r\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\r\n request.ciphers.push(new CipherRequest(c));\r\n }\r\n if (importResult.collections != null) {\r\n for (let i = 0; i < importResult.collections.length; i++) {\r\n importResult.collections[i].organizationId = organizationId;\r\n const c = await this.collectionService.encrypt(importResult.collections[i]);\r\n request.collections.push(new CollectionRequest(c));\r\n }\r\n }\r\n if (importResult.collectionRelationships != null) {\r\n importResult.collectionRelationships.forEach((r) =>\r\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\r\n }\r\n return await this.apiService.postImportOrganizationCiphers(organizationId, request);\r\n }\r\n }\r\n\r\n private badData(c: CipherView) {\r\n return (c.name == null || c.name === '--') &&\r\n (c.type === CipherType.Login && c.login != null && Utils.isNullOrWhitespace(c.login.password));\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\nimport { FolderRequest } from './folderRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportCiphersRequest {\n ciphers: CipherRequest[] = [];\n folders: FolderRequest[] = [];\n folderRelationships: Array> = [];\n}\n","import { CipherRequest } from './cipherRequest';\nimport { CollectionRequest } from './collectionRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportOrganizationCiphersRequest {\n ciphers: CipherRequest[] = [];\n collections: CollectionRequest[] = [];\n collectionRelationships: Array> = [];\n}\n","export class KvpRequest {\n key: TK;\n value: TV;\n\n constructor(key: TK, value: TV) {\n this.key = key;\n this.value = value;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 2) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n\r\n if (value.length > 2 && (value.length % 2) === 0) {\r\n for (let i = 0; i < value.length - 2; i += 2) {\r\n const val: string = value[i + 2];\r\n const field: string = value[i + 1];\r\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\r\n continue;\r\n }\r\n\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(val);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(val);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n } else {\r\n this.processKvp(cipher, field, val);\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AvastCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.login.uris = this.makeUriArray(value.web);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.login);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AviraCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name,\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\n cipher.login.username = value.secondary_username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.notes = this.getValueOrDefault(value.secondary_username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\r\n const collections = (value.collections as string).split(',');\r\n collections.forEach((col) => {\r\n let addCollection = true;\r\n let collectionIndex = result.collections.length;\r\n\r\n for (let i = 0; i < result.collections.length; i++) {\r\n if (result.collections[i].name === col) {\r\n addCollection = false;\r\n collectionIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (addCollection) {\r\n const collection = new CollectionView();\r\n collection.name = col;\r\n result.collections.push(collection);\r\n }\r\n\r\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\r\n });\r\n } else if (!this.organization) {\r\n this.processFolder(result, value.folder);\r\n }\r\n\r\n const cipher = new CipherView();\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\r\n cipher.type = CipherType.Login;\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n\r\n if (!this.isNullOrWhitespace(value.fields)) {\r\n const fields = this.splitNewLine(value.fields);\r\n for (let i = 0; i < fields.length; i++) {\r\n if (this.isNullOrWhitespace(fields[i])) {\r\n continue;\r\n }\r\n\r\n const delimPosition = fields[i].lastIndexOf(': ');\r\n if (delimPosition === -1) {\r\n continue;\r\n }\r\n\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n\r\n const field = new FieldView();\r\n field.name = fields[i].substr(0, delimPosition);\r\n field.value = null;\r\n field.type = FieldType.Text;\r\n if (fields[i].length > (delimPosition + 2)) {\r\n field.value = fields[i].substr(delimPosition + 2);\r\n }\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n const valueType = value.type != null ? value.type.toLowerCase() : null;\r\n switch (valueType) {\r\n case 'note':\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n break;\r\n default:\r\n cipher.type = CipherType.Login;\r\n cipher.login = new LoginView();\r\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\r\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\r\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\r\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\r\n cipher.login.uris = this.makeUriArray(uris);\r\n break;\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherWithIds } from '../models/export/cipherWithIds';\r\nimport { CollectionWithId } from '../models/export/collectionWithId';\r\nimport { FolderWithId } from '../models/export/folderWithId';\r\n\r\nexport class BitwardenJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.items == null || results.items.length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const groupingsMap = new Map();\r\n if (this.organization && results.collections != null) {\r\n results.collections.forEach((c: CollectionWithId) => {\r\n const collection = CollectionWithId.toView(c);\r\n if (collection != null) {\r\n collection.id = null;\r\n collection.organizationId = null;\r\n groupingsMap.set(c.id, result.collections.length);\r\n result.collections.push(collection);\r\n }\r\n });\r\n } else if (!this.organization && results.folders != null) {\r\n results.folders.forEach((f: FolderWithId) => {\r\n const folder = FolderWithId.toView(f);\r\n if (folder != null) {\r\n folder.id = null;\r\n groupingsMap.set(f.id, result.folders.length);\r\n result.folders.push(folder);\r\n }\r\n });\r\n }\r\n\r\n results.items.forEach((c: CipherWithIds) => {\r\n const cipher = CipherWithIds.toView(c);\r\n // reset ids incase they were set for some reason\r\n cipher.id = null;\r\n cipher.folderId = null;\r\n cipher.organizationId = null;\r\n cipher.collectionIds = null;\r\n\r\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\r\n result.folderRelationships.push([result.ciphers.length, groupingsMap.get(c.folderId)]);\r\n } else if (this.organization && c.collectionIds != null) {\r\n c.collectionIds.forEach((cId) => {\r\n if (groupingsMap.has(cId)) {\r\n result.collectionRelationships.push([result.ciphers.length, groupingsMap.get(cId)]);\r\n }\r\n });\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlurCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.label === 'null') {\n value.label = null;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.label,\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\n cipher.login.uris = this.makeUriArray(value.domain);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\n cipher.login.username = value.username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.email);\n cipher.notes = this.getValueOrDefault(value.username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const textarea = doc.querySelector('textarea');\r\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\r\n result.errorMessage = 'Missing textarea.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const entries = JSON.parse(textarea.textContent);\r\n entries.forEach((entry: any) => {\r\n const cipher = this.initLoginCipher();\r\n if (!this.isNullOrWhitespace(entry.label)) {\r\n cipher.name = entry.label.split(' ')[0];\r\n }\r\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\r\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\r\n }\r\n\r\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\r\n for (const property in entry.currentVersion.fields) {\r\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n\r\n const field = entry.currentVersion.fields[property];\r\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\r\n switch (actionType) {\r\n case 'password':\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n break;\r\n case 'email':\r\n case 'username':\r\n case 'user':\r\n case 'name':\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n break;\r\n case 'url':\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n break;\r\n default:\r\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n } else {\r\n this.processKvp(cipher, field.label, field.value);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst HandledResults = new Set(['ADDRESS', 'AUTHENTIFIANT', 'BANKSTATEMENT', 'IDCARD', 'IDENTITY',\n 'PAYMENTMEANS_CREDITCARD', 'PAYMENTMEAN_PAYPAL', 'EMAIL']);\n\nexport class DashlaneJsonImporter extends BaseImporter implements Importer {\n private result: ImportResult;\n\n parse(data: string): ImportResult {\n this.result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n this.result.success = false;\n return this.result;\n }\n\n if (results.ADDRESS != null) {\n this.processAddress(results.ADDRESS);\n }\n if (results.AUTHENTIFIANT != null) {\n this.processAuth(results.AUTHENTIFIANT);\n }\n if (results.BANKSTATEMENT != null) {\n this.processNote(results.BANKSTATEMENT, 'BankAccountName');\n }\n if (results.IDCARD != null) {\n this.processNote(results.IDCARD, 'Fullname');\n }\n if (results.PAYMENTMEANS_CREDITCARD != null) {\n this.processCard(results.PAYMENTMEANS_CREDITCARD);\n }\n if (results.IDENTITY != null) {\n this.processIdentity(results.IDENTITY);\n }\n\n for (const key in results) {\n if (results.hasOwnProperty(key) && !HandledResults.has(key)) {\n this.processNote(results[key], null, 'Generic Note');\n }\n }\n\n this.result.success = true;\n return this.result;\n }\n\n private processAuth(results: any[]) {\n results.forEach((credential: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(credential.title);\n\n cipher.login.username = this.getValueOrDefault(credential.login,\n this.getValueOrDefault(credential.secondaryLogin));\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.domain);\n cipher.notes += this.getValueOrDefault(credential.note, '');\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processIdentity(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.fullName, '');\n const nameParts = cipher.name.split(' ');\n if (nameParts.length > 0) {\n cipher.identity.firstName = this.getValueOrDefault(nameParts[0]);\n }\n if (nameParts.length === 2) {\n cipher.identity.lastName = this.getValueOrDefault(nameParts[1]);\n } else if (nameParts.length === 3) {\n cipher.identity.middleName = this.getValueOrDefault(nameParts[1]);\n cipher.identity.lastName = this.getValueOrDefault(nameParts[2]);\n }\n cipher.identity.username = this.getValueOrDefault(obj.pseudo);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processAddress(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.addressName);\n cipher.identity.address1 = this.getValueOrDefault(obj.addressFull);\n cipher.identity.city = this.getValueOrDefault(obj.city);\n cipher.identity.state = this.getValueOrDefault(obj.state);\n cipher.identity.postalCode = this.getValueOrDefault(obj.zipcode);\n cipher.identity.country = this.getValueOrDefault(obj.country);\n if (cipher.identity.country != null) {\n cipher.identity.country = cipher.identity.country.toUpperCase();\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processCard(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(obj.bank);\n cipher.card.number = this.getValueOrDefault(obj.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.cardholderName = this.getValueOrDefault(obj.owner);\n if (!this.isNullOrWhitespace(cipher.card.brand)) {\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = cipher.card.brand;\n } else {\n cipher.name += (' - ' + cipher.card.brand);\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processNote(results: any[], nameProperty: string, name: string = null) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n if (name != null) {\n cipher.name = name;\n } else {\n cipher.name = this.getValueOrDefault(obj[nameProperty]);\n }\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== nameProperty) {\n this.processKvp(cipher, key, obj[key].toString());\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && (value[0] === 'Title' || value[0] === 'title'))) {\n firstRow = false;\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2 || (!this.containsField(value, 'username') &&\n !this.containsField(value, 'password') && !this.containsField(value, 'email') &&\n !this.containsField(value, 'url'))) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (this.containsField(value, 'cardholder') && this.containsField(value, 'number') &&\n this.containsField(value, 'expiry date')) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const fieldValue: string = value[i + 2];\n if (this.isNullOrWhitespace(fieldValue)) {\n continue;\n }\n\n const fieldName: string = value[i + 1];\n const fieldNameLower = fieldName.toLowerCase();\n\n if (cipher.type === CipherType.Login) {\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.login.uris = this.makeUriArray(fieldValue);\n continue;\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = fieldValue;\n continue;\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = fieldValue;\n continue;\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = fieldValue;\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = fieldValue;\n continue;\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n continue;\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = fieldValue;\n continue;\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\n this.isNullOrWhitespace(cipher.card.expYear)) {\n if (this.setCardExpiration(cipher, fieldValue)) {\n continue;\n }\n } else if (fieldNameLower === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n this.processKvp(cipher, fieldName, fieldValue);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n\n private containsField(fields: any[], name: string) {\n if (fields == null || name == null) {\n return false;\n }\n return fields.filter((f) => !this.isNullOrWhitespace(f) &&\n f.toLowerCase() === name.toLowerCase()).length > 0;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class EnpassJsonImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null || results.items.length === 0) {\n result.success = false;\n return result;\n }\n\n results.items.forEach((item: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(item.title);\n cipher.favorite = item.favorite > 0;\n\n if (item.template_type != null && item.fields != null && item.fields.length > 0) {\n if (item.template_type.indexOf('login.') === 0 || item.template_type.indexOf('password.') === 0) {\n this.processLogin(cipher, item.fields);\n } else if (item.template_type.indexOf('creditcard.') === 0) {\n this.processCard(cipher, item.fields);\n } else if (item.template_type.indexOf('identity.') < 0 &&\n item.fields.some((f: any) => f.type === 'password' && !this.isNullOrWhitespace(f.value))) {\n this.processLogin(cipher, item.fields);\n } else {\n this.processNote(cipher, item.fields);\n }\n }\n\n cipher.notes += ('\\n' + this.getValueOrDefault(item.note, ''));\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n\n private processLogin(cipher: CipherView, fields: any[]) {\n const urls: string[] = [];\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n\n if ((field.type === 'username' || field.type === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = field.value;\n } else if (field.type === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = field.value;\n } else if (field.type === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = field.value;\n } else if (field.type === 'url') {\n urls.push(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n\n private processCard(cipher: CipherView, fields: any[]) {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section' || field.type === 'ccType') {\n return;\n }\n\n if (field.type === 'ccName' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = field.value;\n } else if (field.type === 'ccNumber' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = field.value;\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n } else if (field.type === 'ccCvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = field.value;\n } else if (field.type === 'ccExpiry' && this.isNullOrWhitespace(cipher.card.expYear)) {\n if (!this.setCardExpiration(cipher, field.value)) {\n this.processKvp(cipher, field.label, field.value);\n }\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n });\n }\n\n private processNote(cipher: CipherView, fields: any[]) {\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n this.processKvp(cipher, field.label, field.value);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.hostname), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.hostname);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class FSecureFskImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.data == null) {\n result.success = false;\n return result;\n }\n\n for (const key in results.data) {\n if (!results.data.hasOwnProperty(key)) {\n continue;\n }\n\n const value = results.data[key];\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.service);\n cipher.notes = this.getValueOrDefault(value.notes);\n\n if (value.style === 'website') {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n } else if (value.style === 'creditcard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.username);\n cipher.card.number = this.getValueOrDefault(value.creditNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.creditCvv);\n if (!this.isNullOrWhitespace(value.creditExpiry)) {\n if (!this.setCardExpiration(cipher, value.creditExpiry)) {\n this.processKvp(cipher, 'Expiration', value.creditExpiry);\n }\n }\n if (!this.isNullOrWhitespace(value.password)) {\n this.processKvp(cipher, 'PIN', value.password);\n }\n } else {\n continue;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || Object.keys(results).length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n for (const keyRing in results) {\r\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\r\n results[keyRing].length === 0) {\r\n continue;\r\n }\r\n\r\n results[keyRing].forEach((value: any) => {\r\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, keyRing);\r\n const cipher = this.initLoginCipher();\r\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\r\n if (cipher.name.length > 30) {\r\n cipher.name = cipher.name.substring(0, 30);\r\n }\r\n cipher.login.password = this.getValueOrDefault(value.secret);\r\n cipher.login.uris = this.makeUriArray(value.display_name);\r\n\r\n if (value.attributes != null) {\r\n cipher.login.username = value.attributes != null ?\r\n this.getValueOrDefault(value.attributes.username_value) : null;\r\n for (const attr in value.attributes) {\r\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\r\n attr === 'xdg:schema') {\r\n continue;\r\n }\r\n this.processKvp(cipher, attr, value.attributes[attr]);\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst NotesHeader = 'Notes\\n\\n';\nconst ApplicationsHeader = 'Applications\\n\\n';\nconst WebsitesHeader = 'Websites\\n\\n';\nconst Delimiter = '\\n---\\n';\n\nexport class KasperskyTxtImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n\n let notesData: string;\n let applicationsData: string;\n let websitesData: string;\n let workingData = this.splitNewLine(data).join('\\n');\n\n if (workingData.indexOf(NotesHeader) !== -1) {\n const parts = workingData.split(NotesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n notesData = parts[1];\n }\n }\n if (workingData.indexOf(ApplicationsHeader) !== -1) {\n const parts = workingData.split(ApplicationsHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n applicationsData = parts[1];\n }\n }\n if (workingData.indexOf(WebsitesHeader) === 0) {\n const parts = workingData.split(WebsitesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n websitesData = parts[1];\n }\n }\n\n const notes = this.parseDataCategory(notesData);\n const applications = this.parseDataCategory(applicationsData);\n const websites = this.parseDataCategory(websitesData);\n\n notes.forEach((n) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(n.get('Name'));\n cipher.notes = this.getValueOrDefault(n.get('Text'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n websites.concat(applications).forEach((w) => {\n const cipher = this.initLoginCipher();\n const nameKey = w.has('Website name') ? 'Website name' : 'Application';\n cipher.name = this.getValueOrDefault(w.get(nameKey), '');\n if (!this.isNullOrWhitespace(w.get('Login name'))) {\n if (!this.isNullOrWhitespace(cipher.name)) {\n cipher.name += ': ';\n }\n cipher.name += w.get('Login name');\n }\n cipher.notes = this.getValueOrDefault(w.get('Comment'));\n if (w.has('Website URL')) {\n cipher.login.uris = this.makeUriArray(w.get('Website URL'));\n }\n cipher.login.username = this.getValueOrDefault(w.get('Login'));\n cipher.login.password = this.getValueOrDefault(w.get('Password'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n\n private parseDataCategory(data: string): Array> {\n if (this.isNullOrWhitespace(data) || data.indexOf(Delimiter) === -1) {\n return [];\n }\n const items: Array> = [];\n data.split(Delimiter).forEach((p) => {\n if (p.indexOf('\\n') === -1) {\n return;\n }\n const item = new Map();\n let itemComment: string;\n let itemCommentKey: string;\n p.split('\\n').forEach((l) => {\n if (itemComment != null) {\n itemComment += ('\\n' + l);\n return;\n }\n const colonIndex = l.indexOf(':');\n let key: string;\n let val: string;\n if (colonIndex === -1) {\n return;\n } else {\n key = l.substring(0, colonIndex);\n if (l.length > colonIndex + 1) {\n val = l.substring(colonIndex + 2);\n }\n }\n if (key != null) {\n item.set(key, val);\n }\n if (key === 'Comment' || key === 'Text') {\n itemComment = val;\n itemCommentKey = key;\n }\n });\n if (itemComment != null && itemCommentKey != null) {\n item.set(itemCommentKey, itemComment);\n }\n if (item.size === 0) {\n return;\n }\n items.push(item);\n });\n return items;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\r\n result = new ImportResult();\r\n\r\n parse(data: string): ImportResult {\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\r\n if (rootGroup == null) {\r\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n this.traverse(rootGroup, true, '');\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(this.result);\r\n }\r\n\r\n this.result.success = true;\r\n return this.result;\r\n }\r\n\r\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\r\n const folderIndex = this.result.folders.length;\r\n let groupName = groupPrefixName;\r\n\r\n if (!isRootNode) {\r\n if (groupName !== '') {\r\n groupName += '/';\r\n }\r\n const nameEl = this.querySelectorDirectChild(node, 'Name');\r\n groupName += nameEl == null ? '-' : nameEl.textContent;\r\n const folder = new FolderView();\r\n folder.name = groupName;\r\n this.result.folders.push(folder);\r\n }\r\n\r\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\r\n const cipherIndex = this.result.ciphers.length;\r\n\r\n const cipher = this.initLoginCipher();\r\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\r\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\r\n const value = valueEl != null ? valueEl.textContent : null;\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\r\n const key = keyEl != null ? keyEl.textContent : null;\r\n\r\n if (key === 'URL') {\r\n cipher.login.uris = this.makeUriArray(value);\r\n } else if (key === 'UserName') {\r\n cipher.login.username = value;\r\n } else if (key === 'Password') {\r\n cipher.login.password = value;\r\n } else if (key === 'Title') {\r\n cipher.name = value;\r\n } else if (key === 'Notes') {\r\n cipher.notes += (value + '\\n');\r\n } else {\r\n this.processKvp(cipher, key, value);\r\n }\r\n });\r\n\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n\r\n if (!isRootNode) {\r\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\r\n this.traverse(group, false, groupName);\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.Title)) {\r\n return;\r\n }\r\n\r\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\r\n value.Group.replace('Root/', '') : value.Group;\r\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\r\n this.processFolder(result, groupName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value.Title, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Username);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 6) {\n return;\n }\n\n this.processFolder(result, value[0]);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\n cipher.name = this.getValueOrDefault(value[1], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n\n if (value.length > 7) {\n // we have some custom fields.\n for (let i = 7; i < value.length; i = i + 2) {\n this.processKvp(cipher, value[i], value[i + 1]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value, index) => {\r\n const cipherIndex = result.ciphers.length;\r\n let folderIndex = result.folders.length;\r\n let grouping = value.grouping;\r\n if (grouping != null) {\r\n grouping = grouping.replace(/\\\\/g, '/').replace(/[\\x00-\\x1F\\x7F-\\x9F]/g, '');\r\n }\r\n const hasFolder = this.getValueOrDefault(grouping, '(none)') !== '(none)';\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === grouping) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const cipher = this.buildBaseCipher(value);\r\n if (cipher.type === CipherType.Login) {\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n cipher.login = new LoginView();\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n } else if (cipher.type === CipherType.SecureNote) {\r\n this.parseSecureNote(value, cipher);\r\n } else if (cipher.type === CipherType.Card) {\r\n cipher.card = this.parseCard(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n } else if (cipher.type === CipherType.Identity) {\r\n cipher.identity = this.parseIdentity(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (!this.isNullOrWhitespace(value.ccnum)) {\r\n // there is a card on this identity too\r\n const cardCipher = this.buildBaseCipher(value);\r\n cardCipher.identity = null;\r\n cardCipher.type = CipherType.Card;\r\n cardCipher.card = this.parseCard(value);\r\n result.ciphers.push(cardCipher);\r\n }\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = grouping;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private buildBaseCipher(value: any) {\r\n const cipher = new CipherView();\r\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\r\n // form fill\r\n cipher.favorite = false;\r\n cipher.name = this.getValueOrDefault(value.profilename, '--');\r\n cipher.type = CipherType.Card;\r\n\r\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\r\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\r\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\r\n !this.isNullOrWhitespace(value.email)) {\r\n cipher.type = CipherType.Identity;\r\n }\r\n } else {\r\n // site or secure note\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\r\n }\r\n return cipher;\r\n }\r\n\r\n private parseCard(value: any): CardView {\r\n const card = new CardView();\r\n card.cardholderName = this.getValueOrDefault(value.ccname);\r\n card.number = this.getValueOrDefault(value.ccnum);\r\n card.code = this.getValueOrDefault(value.cccsc);\r\n card.brand = this.getCardBrand(value.ccnum);\r\n\r\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\r\n const ccexpParts = (value.ccexp as string).split('-');\r\n if (ccexpParts.length > 1) {\r\n card.expYear = ccexpParts[0];\r\n card.expMonth = ccexpParts[1];\r\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\r\n card.expMonth = card.expMonth[1];\r\n }\r\n }\r\n }\r\n\r\n return card;\r\n }\r\n\r\n private parseIdentity(value: any): IdentityView {\r\n const identity = new IdentityView();\r\n identity.title = this.getValueOrDefault(value.title);\r\n identity.firstName = this.getValueOrDefault(value.firstname);\r\n identity.middleName = this.getValueOrDefault(value.middlename);\r\n identity.lastName = this.getValueOrDefault(value.lastname);\r\n identity.username = this.getValueOrDefault(value.username);\r\n identity.company = this.getValueOrDefault(value.company);\r\n identity.ssn = this.getValueOrDefault(value.ssn);\r\n identity.address1 = this.getValueOrDefault(value.address1);\r\n identity.address2 = this.getValueOrDefault(value.address2);\r\n identity.address3 = this.getValueOrDefault(value.address3);\r\n identity.city = this.getValueOrDefault(value.city);\r\n identity.state = this.getValueOrDefault(value.state);\r\n identity.postalCode = this.getValueOrDefault(value.zip);\r\n identity.country = this.getValueOrDefault(value.country);\r\n identity.email = this.getValueOrDefault(value.email);\r\n identity.phone = this.getValueOrDefault(value.phone);\r\n\r\n if (!this.isNullOrWhitespace(identity.title)) {\r\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\r\n }\r\n\r\n return identity;\r\n }\r\n\r\n private parseSecureNote(value: any, cipher: CipherView) {\r\n const extraParts = this.splitNewLine(value.extra);\r\n let processedNote = false;\r\n\r\n if (extraParts.length) {\r\n const typeParts = extraParts[0].split(':');\r\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\r\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\r\n if (typeParts[1] === 'Credit Card') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Number': 'number',\r\n 'Name on Card': 'cardholderName',\r\n 'Security Code': 'code',\r\n });\r\n cipher.type = CipherType.Card;\r\n cipher.card = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n } else if (typeParts[1] === 'Address') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Title': 'title',\r\n 'First Name': 'firstName',\r\n 'Last Name': 'lastName',\r\n 'Middle Name': 'middleName',\r\n 'Company': 'company',\r\n 'Address 1': 'address1',\r\n 'Address 2': 'address2',\r\n 'Address 3': 'address3',\r\n 'City / Town': 'city',\r\n 'State': 'state',\r\n 'Zip / Postal Code': 'postalCode',\r\n 'Country': 'country',\r\n 'Email Address': 'email',\r\n 'Username': 'username',\r\n });\r\n cipher.type = CipherType.Identity;\r\n cipher.identity = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n }\r\n processedNote = true;\r\n }\r\n }\r\n\r\n if (!processedNote) {\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n }\r\n }\r\n\r\n private parseSecureNoteMapping(extraParts: string[], map: any): [T, string] {\r\n let notes: string = null;\r\n const dataObj: any = {};\r\n\r\n extraParts.forEach((extraPart) => {\r\n if (this.isNullOrWhitespace(extraPart)) {\r\n return;\r\n }\r\n let key: string = null;\r\n let val: string = null;\r\n const colonIndex = extraPart.indexOf(':');\r\n if (colonIndex === -1) {\r\n key = extraPart;\r\n } else {\r\n key = extraPart.substring(0, colonIndex);\r\n if (extraPart.length > colonIndex) {\r\n val = extraPart.substring(colonIndex + 1);\r\n }\r\n }\r\n if (this.isNullOrWhitespace(key) || this.isNullOrWhitespace(val) || key === 'NoteType') {\r\n return;\r\n }\r\n\r\n if (key === 'Notes') {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += ('\\n' + val);\r\n } else {\r\n notes = val;\r\n }\r\n } else if (map.hasOwnProperty(key)) {\r\n dataObj[map[key]] = val;\r\n } else {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += '\\n';\r\n } else {\r\n notes = '';\r\n }\r\n notes += (key + ': ' + val);\r\n }\r\n });\r\n\r\n return [dataObj as T, notes];\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.login.username = this.getValueOrDefault(value.UserName);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[2], '--');\n\n if (value[1] === 'Web Logins') {\n cipher.login.uris = this.makeUriArray(value[4]);\n cipher.login.username = this.getValueOrDefault(value[5]);\n cipher.login.password = this.getValueOrDefault(value[6]);\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\n } else if (value.length > 3) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n for (let i = 3; i < value.length; i++) {\n if (!this.isNullOrWhitespace(value[i])) {\n cipher.notes += (value[i] + '\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\n cipher.name = value[1] + ': ' + cipher.name;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n const cipher = this.initLoginCipher();\n\n if (this.isNullOrWhitespace(item.hmac)) {\n this.processStandardItem(item, cipher);\n } else {\n this.processWinOpVaultItem(item, cipher);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return this.result;\n }\n\n private processWinOpVaultItem(item: any, cipher: CipherView) {\n if (item.overview != null) {\n cipher.name = this.getValueOrDefault(item.overview.title);\n if (item.overview.URLs != null) {\n const urls: string[] = [];\n item.overview.URLs.forEach((url: any) => {\n if (!this.isNullOrWhitespace(url.u)) {\n urls.push(url.u);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n }\n\n if (item.details != null) {\n if (!this.isNullOrWhitespace(item.details.ccnum) || !this.isNullOrWhitespace(item.details.cvv)) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(item.details.password)) {\n cipher.login.password = item.details.password;\n }\n if (!this.isNullOrWhitespace(item.details.notesPlain)) {\n cipher.notes = item.details.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.details.fields != null) {\n this.parseFields(item.details.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.details.sections != null) {\n item.details.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n }\n\n private processStandardItem(item: any, cipher: CipherView) {\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\n cipher.name = this.getValueOrDefault(item.title);\n\n if (item.typeName === 'securenotes.SecureNote') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else if (item.typeName === 'wallet.financial.CreditCard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (cipher.type === CipherType.Login) {\n if (!this.isNullOrWhitespace(item.secureContents.password)) {\n cipher.login.password = item.secureContents.password;\n }\n if (item.secureContents.URLs != null) {\n const urls: string[] = [];\n item.secureContents.URLs.forEach((u: any) => {\n if (!this.isNullOrWhitespace(u.url)) {\n urls.push(u.url);\n }\n });\n if (urls.length > 0) {\n cipher.login.uris = this.makeUriArray(urls);\n }\n }\n }\n if (item.secureContents.fields != null) {\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.secureContents.sections != null) {\n item.secureContents.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n }\n\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\n fields.forEach((field: any) => {\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\n return;\n }\n\n const fieldValue = field[valueKey].toString();\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\n cipher.login.username = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\n cipher.login.password = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\n fieldDesignation.startsWith('TOTP_')) {\n cipher.login.totp = fieldValue;\n return;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n return;\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\n cipher.card.code = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\n cipher.card.cardholderName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\n fieldValue.length === 6) {\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\n return;\n } else if (fieldDesignation === 'type') {\n // Skip since brand was determined from number above\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n this.processKvp(cipher, fieldName, fieldValue);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { CardView } from '../models/view';\r\n\r\nconst IgnoredProperties = ['ainfo', 'autosubmit', 'notesPlain', 'ps', 'scope', 'tags', 'title', 'uuid'];\r\n\r\nexport class OnePasswordWinCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.title)) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.title, '--');\r\n cipher.notes = this.getValueOrDefault(value.notesPlain, '') + '\\n';\r\n\r\n if (!this.isNullOrWhitespace(value.number) && !this.isNullOrWhitespace(value['expiry date'])) {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n }\r\n\r\n let altUsername: string = null;\r\n for (const property in value) {\r\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Login) {\r\n if (this.isNullOrWhitespace(cipher.login.password) && property === 'password') {\r\n cipher.login.password = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.login.username) && property === 'username') {\r\n cipher.login.username = value[property];\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uri.length === 0) && property === 'urls') {\r\n const urls = value[property].split(this.newLineRegex);\r\n cipher.login.uris = this.makeUriArray(urls);\r\n continue;\r\n }\r\n } else if (cipher.type === CipherType.Card) {\r\n if (this.isNullOrWhitespace(cipher.card.number) && property === 'number') {\r\n cipher.card.number = value[property];\r\n cipher.card.brand = this.getCardBrand(value.number);\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.code) && property === 'verification number') {\r\n cipher.card.code = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && property === 'cardholder name') {\r\n cipher.card.cardholderName = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && property === 'expiry date' &&\r\n value[property].length === 6) {\r\n cipher.card.expMonth = (value[property] as string).substr(4, 2);\r\n if (cipher.card.expMonth[0] === '0') {\r\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\r\n }\r\n cipher.card.expYear = (value[property] as string).substr(0, 4);\r\n continue;\r\n } else if (property === 'type') {\r\n // Skip since brand was determined from number above\r\n continue;\r\n }\r\n }\r\n\r\n if (IgnoredProperties.indexOf(property) === -1 && !property.startsWith('section:')) {\r\n if (altUsername == null && property === 'email') {\r\n altUsername = value[property];\r\n }\r\n this.processKvp(cipher, property, value[property]);\r\n }\r\n }\r\n\r\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\r\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\r\n cipher.login.username = altUsername;\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","export { AttachmentView } from './attachmentView';\r\nexport { CardView } from './cardView';\r\nexport { CipherView } from './cipherView';\r\nexport { FieldView } from './fieldView';\r\nexport { IdentityView } from './identityView';\r\nexport { LoginUriView } from './loginUriView';\r\nexport { LoginView } from './loginView';\r\nexport { SecureNoteView } from './secureNoteView';\r\nexport { View } from './view';\r\n","export class View {\r\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let headers: string[] = null;\n results.forEach((value) => {\n if (headers == null) {\n headers = value.map((v: string) => v);\n return;\n }\n\n if (value.length < 2 || value.length !== headers.length) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value[1])) {\n if (this.organization) {\n const tags = (value[1] as string).split(',');\n tags.forEach((tag) => {\n tag = tag.trim();\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else {\n const tags = (value[1] as string).split(',');\n const tag = tags.length > 0 ? tags[0].trim() : null;\n this.processFolder(result, tag);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n for (let i = 2; i < value.length; i++) {\n const header = headers[i].trim().toLowerCase();\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\n continue;\n }\n\n if (this.usernameFieldNames.indexOf(header) > -1) {\n cipher.login.username = value[i];\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\n cipher.login.password = value[i];\n } else if (this.uriFieldNames.indexOf(header) > -1) {\n cipher.login.uris = this.makeUriArray(value[i]);\n } else {\n this.processKvp(cipher, headers[i], value[i]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n this.processFolder(result, this.getValue('category', value));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValue('description', value);\r\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\r\n cipher.login.username = this.getValue('username', value);\r\n cipher.login.password = this.getValue('password', value);\r\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\r\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private getValue(key: string, value: any) {\r\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassmanJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((credential: any) => {\r\n if (credential.tags != null && credential.tags.length > 0) {\r\n const folderName = credential.tags[0].text;\r\n this.processFolder(result, folderName);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = credential.label;\r\n\r\n cipher.login.username = this.getValueOrDefault(credential.username);\r\n if (this.isNullOrWhitespace(cipher.login.username)) {\r\n cipher.login.username = this.getValueOrDefault(credential.email);\r\n } else if (!this.isNullOrWhitespace(credential.email)) {\r\n cipher.notes = ('Email: ' + credential.email + '\\n');\r\n }\r\n\r\n cipher.login.password = this.getValueOrDefault(credential.password);\r\n cipher.login.uris = this.makeUriArray(credential.url);\r\n cipher.notes += this.getValueOrDefault(credential.description, '');\r\n if (credential.otp != null) {\r\n cipher.login.totp = this.getValueOrDefault(credential.otp.secret);\r\n }\r\n\r\n if (credential.custom_fields != null) {\r\n credential.custom_fields.forEach((customField: any) => {\r\n switch (customField.field_type) {\r\n case 'text':\r\n case 'password':\r\n this.processKvp(cipher, customField.label, customField.value);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nexport class PasspackCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const tagsJson = !this.isNullOrWhitespace(value.Tags) ? JSON.parse(value.Tags) : null;\r\n const tags: string[] = tagsJson != null && tagsJson.tags != null && tagsJson.tags.length > 0 ?\r\n tagsJson.tags.map((tagJson: string) => {\r\n try {\r\n const t = JSON.parse(tagJson);\r\n return this.getValueOrDefault(t.tag);\r\n } catch { }\r\n return null;\r\n }).filter((t: string) => !this.isNullOrWhitespace(t)) : null;\r\n\r\n if (this.organization && tags != null && tags.length > 0) {\r\n tags.forEach((tag) => {\r\n let addCollection = true;\r\n let collectionIndex = result.collections.length;\r\n\r\n for (let i = 0; i < result.collections.length; i++) {\r\n if (result.collections[i].name === tag) {\r\n addCollection = false;\r\n collectionIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (addCollection) {\r\n const collection = new CollectionView();\r\n collection.name = tag;\r\n result.collections.push(collection);\r\n }\r\n\r\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\r\n });\r\n } else if (!this.organization && tags != null && tags.length > 0) {\r\n this.processFolder(result, tags[0]);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes, '');\r\n cipher.notes += ('\\n\\n' + this.getValueOrDefault(value['Shared Notes'], '') + '\\n');\r\n cipher.name = this.getValueOrDefault(value['Entry Name'], '--');\r\n cipher.login.username = this.getValueOrDefault(value['User ID']);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n\r\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\r\n value.__parsed_extra.forEach((extra: string) => {\r\n if (!this.isNullOrWhitespace(extra)) {\r\n cipher.notes += ('\\n' + extra);\r\n }\r\n });\r\n }\r\n\r\n const fieldsJson = !this.isNullOrWhitespace(value['Extra Fields']) ?\r\n JSON.parse(value['Extra Fields']) : null;\r\n const fields = fieldsJson != null && fieldsJson.extraFields != null &&\r\n fieldsJson.extraFields.length > 0 ? fieldsJson.extraFields.map((fieldJson: string) => {\r\n try {\r\n return JSON.parse(fieldJson);\r\n } catch { }\r\n return null;\r\n }) : null;\r\n if (fields != null) {\r\n fields.forEach((f: any) => {\r\n if (f != null) {\r\n this.processKvp(cipher, f.name, f.data);\r\n }\r\n });\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 9) {\r\n return;\r\n }\r\n const folder = this.getValueOrDefault(value[8], '(None)');\r\n const folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\r\n this.processFolder(result, folderName);\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[3]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n cipher.login.username = this.getValueOrDefault(value[1]);\r\n cipher.login.password = this.getValueOrDefault(value[2]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.login.uris = this.makeUriArray(value.login_url);\r\n\r\n if (value.identifiers == null) {\r\n return;\r\n }\r\n\r\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\r\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\r\n }\r\n\r\n if (value.type === 'CreditCard') {\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n }\r\n\r\n for (const property in value.identifiers) {\r\n if (!value.identifiers.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n const valObj = value.identifiers[property];\r\n const val = valObj != null ? valObj.toString() : null;\r\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Card) {\r\n if (property === 'cardNumber') {\r\n cipher.card.number = val;\r\n cipher.card.brand = this.getCardBrand(val);\r\n continue;\r\n } else if (property === 'nameOnCard') {\r\n cipher.card.cardholderName = val;\r\n continue;\r\n } else if (property === 'security_code') {\r\n cipher.card.code = val;\r\n continue;\r\n } else if (property === 'expires') {\r\n try {\r\n const expDate = new Date(val);\r\n cipher.card.expYear = expDate.getFullYear().toString();\r\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\r\n } catch { }\r\n continue;\r\n } else if (property === 'cardType') {\r\n continue;\r\n }\r\n } else {\r\n if (property === 'username') {\r\n cipher.login.username = val;\r\n continue;\r\n } else if (property === 'password') {\r\n cipher.login.password = val;\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(property) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n continue;\r\n }\r\n }\r\n\r\n this.processKvp(cipher, property, val);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const records = doc.querySelectorAll('PasswordManager > record');\n Array.from(records).forEach((record) => {\n const category = this.querySelectorDirectChild(record, 'Category');\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\n category.textContent !== 'Unfiled' ? category.textContent : null;\n this.processFolder(result, categoryText);\n\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\n const userId = this.querySelectorDirectChild(record, 'User-Id');\n const password = this.querySelectorDirectChild(record, 'Password');\n const url = this.querySelectorDirectChild(record, 'URL');\n const notes = this.querySelectorDirectChild(record, 'Notes');\n const cipher = this.initLoginCipher();\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n const attributes: string[] = [];\n for (let i = 1; i <= 10; i++) {\n attributes.push('Attribute-' + i);\n }\n\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\n return;\n }\n this.processKvp(cipher, attr.tagName, attr.textContent);\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const passwordSafe = doc.querySelector('passwordsafe');\r\n if (passwordSafe == null) {\r\n result.errorMessage = 'Missing `passwordsafe` node.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\r\n const entries = doc.querySelectorAll('passwordsafe > entry');\r\n Array.from(entries).forEach((entry) => {\r\n const group = this.querySelectorDirectChild(entry, 'group');\r\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\r\n group.textContent.split('.').join('/') : null;\r\n this.processFolder(result, groupText);\r\n\r\n const title = this.querySelectorDirectChild(entry, 'title');\r\n const username = this.querySelectorDirectChild(entry, 'username');\r\n const email = this.querySelectorDirectChild(entry, 'email');\r\n const password = this.querySelectorDirectChild(entry, 'password');\r\n const url = this.querySelectorDirectChild(entry, 'url');\r\n const notes = this.querySelectorDirectChild(entry, 'notes');\r\n const cipher = this.initLoginCipher();\r\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\r\n cipher.notes = notes != null ?\r\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\r\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\r\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\r\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\r\n\r\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\r\n cipher.login.username = this.getValueOrDefault(email.textContent);\r\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\r\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\r\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nexport class RememBearCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.trash === 'true') {\r\n return;\r\n }\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (value.type === 'LoginItem') {\r\n cipher.login.uris = this.makeUriArray(value.website);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n } else if (value.type === 'CreditCardItem') {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\r\n cipher.card.number = this.getValueOrDefault(value.number);\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n cipher.card.code = this.getValueOrDefault(value.verification);\r\n\r\n try {\r\n const expMonth = this.getValueOrDefault(value.expiryMonth);\r\n if (expMonth != null) {\r\n const expMonthNumber = parseInt(expMonth, null);\r\n if (expMonthNumber != null && expMonthNumber >= 1 && expMonthNumber <= 12) {\r\n cipher.card.expMonth = expMonthNumber.toString();\r\n }\r\n }\r\n } catch { }\r\n try {\r\n const expYear = this.getValueOrDefault(value.expiryYear);\r\n if (expYear != null) {\r\n const expYearNumber = parseInt(expYear, null);\r\n if (expYearNumber != null) {\r\n cipher.card.expYear = expYearNumber.toString();\r\n }\r\n }\r\n } catch { }\r\n\r\n const pin = this.getValueOrDefault(value.pin);\r\n if (pin != null) {\r\n this.processKvp(cipher, 'PIN', pin);\r\n }\r\n const zip = this.getValueOrDefault(value.zipCode);\r\n if (zip != null) {\r\n this.processKvp(cipher, 'Zip Code', zip);\r\n }\r\n }\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let i = 1;\n results.forEach((value) => {\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\n value.Folder.replace('/', '') : value.Folder;\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.name = this.getValueOrDefault(value.Name, '--');\n cipher.login.username = this.getValueOrDefault(value.Login);\n cipher.login.password = this.getValueOrDefault(value.Pwd);\n cipher.login.uris = this.makeUriArray(value.Url);\n\n if (!this.isNullOrWhitespace(value.Rf_fields)) {\n let fields: string[] = [value.Rf_fields];\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n fields = fields.concat(value.__parsed_extra);\n }\n fields.forEach((field: string) => {\n const parts = field.split(':');\n if (parts.length < 3) {\n return;\n }\n const key = parts[0] === '-no-name-' ? null : parts[0];\n const val = parts.length === 4 && parts[2] === 'rck' ? parts[1] : parts[2];\n this.processKvp(cipher, key, val);\n });\n }\n\n this.cleanupCipher(cipher);\n\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\n return;\n }\n\n result.ciphers.push(cipher);\n i++;\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const db = doc.querySelector('database');\n if (db == null) {\n result.errorMessage = 'Missing `database` node.';\n result.success = false;\n return result;\n }\n\n const foldersMap = new Map();\n\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\n const name = labelEl.getAttribute('name');\n const id = labelEl.getAttribute('id');\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\n foldersMap.set(id, result.folders.length);\n const folder = new FolderView();\n folder.name = name;\n result.folders.push(folder);\n }\n });\n\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\n if (cardEl.getAttribute('template') === 'true') {\n return;\n }\n\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\n if (labelIdEl != null) {\n const labelId = labelIdEl.textContent;\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\n\n const cardType = cardEl.getAttribute('type');\n if (cardType === 'note') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else {\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\n const text = fieldEl.textContent;\n if (this.isNullOrWhitespace(text)) {\n return;\n }\n const name = fieldEl.getAttribute('name');\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\n if (fieldType === 'login') {\n cipher.login.username = text;\n } else if (fieldType === 'password') {\n cipher.login.password = text;\n } else if (fieldType === 'notes') {\n cipher.notes += (text + '\\n');\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\n cipher.login.uris = this.makeUriArray(text);\n } else {\n this.processKvp(cipher, name, text);\n }\n });\n }\n\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\n cipher.notes += (notesEl.textContent + '\\n');\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 3) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\r\n cipher.name = this.getValueOrDefault(value[1], '--');\r\n\r\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.parseFieldsToNotes(cipher, 5, value);\r\n } else {\r\n this.parseFieldsToNotes(cipher, 2, value);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\r\n // last 3 rows do not get parsed\r\n for (let i = startIndex; i < value.length - 3; i++) {\r\n if (this.isNullOrWhitespace(value[i])) {\r\n continue;\r\n }\r\n cipher.notes += (value[i] + '\\n');\r\n }\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\r\n Array.from(loginNodes).forEach((loginNode) => {\r\n const accountId = loginNode.getAttribute('ID');\r\n if (this.isNullOrWhitespace(accountId)) {\r\n return;\r\n }\r\n\r\n const usernameText = loginNode.getAttribute('Name');\r\n const passwordText = loginNode.getAttribute('Password');\r\n let titleText: string = null;\r\n let linkText: string = null;\r\n let notesText: string = null;\r\n let groupId: string = null;\r\n let groupText: string = null;\r\n\r\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\r\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\r\n if (accountLogin != null) {\r\n const account = accountLogin.parentElement.parentElement;\r\n if (account != null) {\r\n titleText = account.getAttribute('Name');\r\n linkText = account.getAttribute('Link');\r\n groupId = account.getAttribute('ParentID');\r\n notesText = account.getAttribute('Comments');\r\n if (!this.isNullOrWhitespace(notesText)) {\r\n notesText = notesText.split('/n').join('\\n');\r\n }\r\n }\r\n }\r\n\r\n if (!this.isNullOrWhitespace(groupId)) {\r\n groupText = this.buildGroupText(doc, groupId, '');\r\n this.processFolder(result, groupText);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(titleText, '--');\r\n cipher.notes = this.getValueOrDefault(notesText);\r\n cipher.login.username = this.getValueOrDefault(usernameText);\r\n cipher.login.password = this.getValueOrDefault(passwordText);\r\n cipher.login.uris = this.makeUriArray(linkText);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\r\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\r\n if (group == null) {\r\n return groupText;\r\n }\r\n if (!this.isNullOrWhitespace(groupText)) {\r\n groupText = '/' + groupText;\r\n }\r\n groupText = group.getAttribute('Name') + groupText;\r\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\n];\n\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.notes = this.getValueOrDefault(value.memo, '');\n cipher.login.username = this.getValueOrDefault(value.login);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n\n if (value.kind !== 'login') {\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.note, '');\n }\n\n if (value.kind === 'cc') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (!this.isNullOrWhitespace(value.expiryDate)) {\n try {\n const expDate = new Date(value.expiryDate);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n }\n } else if (value.kind !== 'login') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = this.getValueOrDefault(value.document_content, '');\n }\n for (const property in value) {\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\n !this.isNullOrWhitespace(value[property])) {\n this.processKvp(cipher, property, value[property]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class UpmCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length !== 5) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[3]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view';\r\n\r\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value['Secret Name'])) {\r\n return;\r\n }\r\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\r\n const cipher = this.initLoginCipher();\r\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value['Secret Name'], '--');\r\n cipher.login.uris = this.makeUriArray(value['Secret URL']);\r\n this.parseData(cipher, value.SecretData);\r\n this.parseData(cipher, value.CustomData);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseData(cipher: CipherView, data: string) {\r\n if (this.isNullOrWhitespace(data)) {\r\n return;\r\n }\r\n const dataLines = this.splitNewLine(data);\r\n dataLines.forEach((line) => {\r\n const delimPosition = line.indexOf(':');\r\n if (delimPosition < 0) {\r\n return;\r\n }\r\n const field = line.substring(0, delimPosition);\r\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\r\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\r\n return;\r\n }\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = value;\r\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = value;\r\n } else {\r\n this.processKvp(cipher, field, value);\r\n }\r\n });\r\n }\r\n}\r\n","import * as signalR from '@aspnet/signalr';\r\nimport * as signalRMsgPack from '@aspnet/signalr-protocol-msgpack';\r\n\r\nimport { NotificationType } from '../enums/notificationType';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { AppIdService } from '../abstractions/appId.service';\r\nimport { EnvironmentService } from '../abstractions/environment.service';\r\nimport { LockService } from '../abstractions/lock.service';\r\nimport { NotificationsService as NotificationsServiceAbstraction } from '../abstractions/notifications.service';\r\nimport { SyncService } from '../abstractions/sync.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport {\r\n NotificationResponse,\r\n SyncCipherNotification,\r\n SyncFolderNotification,\r\n} from '../models/response/notificationResponse';\r\n\r\nexport class NotificationsService implements NotificationsServiceAbstraction {\r\n private signalrConnection: signalR.HubConnection;\r\n private url: string;\r\n private connected = false;\r\n private inited = false;\r\n private inactive = false;\r\n private reconnectTimer: any = null;\r\n\r\n constructor(private userService: UserService, private syncService: SyncService,\r\n private appIdService: AppIdService, private apiService: ApiService,\r\n private lockService: LockService, private logoutCallback: () => Promise) { }\r\n\r\n async init(environmentService: EnvironmentService): Promise {\r\n this.inited = false;\r\n this.url = 'https://notifications.bitwarden.com';\r\n if (environmentService.notificationsUrl != null) {\r\n this.url = environmentService.notificationsUrl;\r\n } else if (environmentService.baseUrl != null) {\r\n this.url = environmentService.baseUrl + '/notifications';\r\n }\r\n\r\n // Set notifications server URL to `https://-` to effectively disable communication\r\n // with the notifications server from the client app\r\n if (this.url === 'https://-') {\r\n return;\r\n }\r\n\r\n if (this.signalrConnection != null) {\r\n this.signalrConnection.off('ReceiveMessage');\r\n await this.signalrConnection.stop();\r\n this.connected = false;\r\n this.signalrConnection = null;\r\n }\r\n\r\n this.signalrConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(this.url + '/hub', {\r\n accessTokenFactory: () => this.apiService.getActiveBearerToken(),\r\n })\r\n .withHubProtocol(new signalRMsgPack.MessagePackHubProtocol())\r\n // .configureLogging(signalR.LogLevel.Trace)\r\n .build();\r\n\r\n this.signalrConnection.on('ReceiveMessage',\r\n (data: any) => this.processNotification(new NotificationResponse(data)));\r\n this.signalrConnection.onclose(() => {\r\n this.connected = false;\r\n this.reconnect(true);\r\n });\r\n this.inited = true;\r\n if (await this.isAuthedAndUnlocked()) {\r\n await this.reconnect(false);\r\n }\r\n }\r\n\r\n async updateConnection(sync = false): Promise {\r\n if (!this.inited) {\r\n return;\r\n }\r\n try {\r\n if (await this.isAuthedAndUnlocked()) {\r\n await this.reconnect(sync);\r\n } else {\r\n await this.signalrConnection.stop();\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line\r\n console.error(e.toString());\r\n }\r\n }\r\n\r\n async reconnectFromActivity(): Promise {\r\n this.inactive = false;\r\n if (this.inited && !this.connected) {\r\n await this.reconnect(true);\r\n }\r\n }\r\n\r\n async disconnectFromInactivity(): Promise {\r\n this.inactive = true;\r\n if (this.inited && this.connected) {\r\n await this.signalrConnection.stop();\r\n }\r\n }\r\n\r\n private async processNotification(notification: NotificationResponse) {\r\n const appId = await this.appIdService.getAppId();\r\n if (notification == null || notification.contextId === appId) {\r\n return;\r\n }\r\n\r\n const isAuthenticated = await this.userService.isAuthenticated();\r\n const payloadUserId = notification.payload.userId || notification.payload.UserId;\r\n const myUserId = await this.userService.getUserId();\r\n if (isAuthenticated && payloadUserId != null && payloadUserId !== myUserId) {\r\n return;\r\n }\r\n\r\n switch (notification.type) {\r\n case NotificationType.SyncCipherCreate:\r\n case NotificationType.SyncCipherUpdate:\r\n await this.syncService.syncUpsertCipher(notification.payload as SyncCipherNotification,\r\n notification.type === NotificationType.SyncCipherUpdate);\r\n break;\r\n case NotificationType.SyncCipherDelete:\r\n case NotificationType.SyncLoginDelete:\r\n await this.syncService.syncDeleteCipher(notification.payload as SyncCipherNotification);\r\n break;\r\n case NotificationType.SyncFolderCreate:\r\n case NotificationType.SyncFolderUpdate:\r\n await this.syncService.syncUpsertFolder(notification.payload as SyncFolderNotification,\r\n notification.type === NotificationType.SyncFolderUpdate);\r\n break;\r\n case NotificationType.SyncFolderDelete:\r\n await this.syncService.syncDeleteFolder(notification.payload as SyncFolderNotification);\r\n break;\r\n case NotificationType.SyncVault:\r\n case NotificationType.SyncCiphers:\r\n case NotificationType.SyncSettings:\r\n if (isAuthenticated) {\r\n await this.syncService.fullSync(false);\r\n }\r\n break;\r\n case NotificationType.SyncOrgKeys:\r\n if (isAuthenticated) {\r\n await this.apiService.refreshIdentityToken();\r\n await this.syncService.fullSync(true);\r\n // Stop so a reconnect can be made\r\n await this.signalrConnection.stop();\r\n }\r\n break;\r\n case NotificationType.LogOut:\r\n if (isAuthenticated) {\r\n this.logoutCallback();\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n private async reconnect(sync: boolean) {\r\n if (this.reconnectTimer != null) {\r\n clearTimeout(this.reconnectTimer);\r\n this.reconnectTimer = null;\r\n }\r\n if (this.connected || !this.inited || this.inactive) {\r\n return;\r\n }\r\n const authedAndUnlocked = await this.isAuthedAndUnlocked();\r\n if (!authedAndUnlocked) {\r\n return;\r\n }\r\n\r\n try {\r\n await this.signalrConnection.start();\r\n this.connected = true;\r\n if (sync) {\r\n await this.syncService.fullSync(false);\r\n }\r\n } catch { }\r\n\r\n if (!this.connected) {\r\n this.reconnectTimer = setTimeout(() => this.reconnect(sync), this.random(120000, 300000));\r\n }\r\n }\r\n\r\n private async isAuthedAndUnlocked() {\r\n if (await this.userService.isAuthenticated()) {\r\n const locked = await this.lockService.isLocked();\r\n return !locked;\r\n }\r\n return false;\r\n }\r\n\r\n private random(min: number, max: number) {\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { NotificationType } from '../../enums/notificationType';\r\n\r\nexport class NotificationResponse extends BaseResponse {\r\n contextId: string;\r\n type: NotificationType;\r\n payload: any;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.contextId = this.getResponseProperty('ContextId');\r\n this.type = this.getResponseProperty('Type');\r\n\r\n const payload = this.getResponseProperty('Payload');\r\n switch (this.type) {\r\n case NotificationType.SyncCipherCreate:\r\n case NotificationType.SyncCipherDelete:\r\n case NotificationType.SyncCipherUpdate:\r\n case NotificationType.SyncLoginDelete:\r\n this.payload = new SyncCipherNotification(payload);\r\n break;\r\n case NotificationType.SyncFolderCreate:\r\n case NotificationType.SyncFolderDelete:\r\n case NotificationType.SyncFolderUpdate:\r\n this.payload = new SyncFolderNotification(payload);\r\n break;\r\n case NotificationType.SyncVault:\r\n case NotificationType.SyncCiphers:\r\n case NotificationType.SyncOrgKeys:\r\n case NotificationType.SyncSettings:\r\n case NotificationType.LogOut:\r\n this.payload = new UserNotification(payload);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n\r\nexport class SyncCipherNotification extends BaseResponse {\r\n id: string;\r\n userId: string;\r\n organizationId: string;\r\n collectionIds: string[];\r\n revisionDate: Date;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.collectionIds = this.getResponseProperty('CollectionIds');\r\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\r\n }\r\n}\r\n\r\nexport class SyncFolderNotification extends BaseResponse {\r\n id: string;\r\n userId: string;\r\n revisionDate: Date;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\r\n }\r\n}\r\n\r\nexport class UserNotification extends BaseResponse {\r\n userId: string;\r\n date: Date;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.userId = this.getResponseProperty('UserId');\r\n this.date = new Date(this.getResponseProperty('Date'));\r\n }\r\n}\r\n","import * as lunr from 'lunr';\n\nimport { CipherView } from '../models/view/cipherView';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { SearchService as SearchServiceAbstraction } from '../abstractions/search.service';\n\nimport { CipherType } from '../enums/cipherType';\nimport { DeviceType } from '../enums/deviceType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nexport class SearchService implements SearchServiceAbstraction {\n private indexing = false;\n private index: lunr.Index = null;\n private onlySearchName = false;\n\n constructor(private cipherService: CipherService, platformUtilsService: PlatformUtilsService) {\n this.onlySearchName = platformUtilsService == null ||\n platformUtilsService.getDevice() === DeviceType.EdgeExtension;\n }\n\n clearIndex(): void {\n this.index = null;\n }\n\n isSearchable(query: string): boolean {\n const notSearchable = query == null || (this.index == null && query.length < 2) ||\n (this.index != null && query.length < 2 && query.indexOf('>') !== 0);\n return !notSearchable;\n }\n\n async indexCiphers(): Promise {\n if (this.indexing) {\n return;\n }\n // tslint:disable-next-line\n console.time('search indexing');\n this.indexing = true;\n this.index = null;\n const builder = new lunr.Builder();\n builder.ref('id');\n (builder as any).field('shortid', { boost: 100, extractor: (c: CipherView) => c.id.substr(0, 8) });\n (builder as any).field('name', { boost: 10 });\n (builder as any).field('subtitle', {\n boost: 5,\n extractor: (c: CipherView) => {\n if (c.subTitle != null && c.type === CipherType.Card) {\n return c.subTitle.replace(/\\*/g, '');\n }\n return c.subTitle;\n },\n });\n builder.field('notes');\n (builder as any).field('login.username', {\n extractor: (c: CipherView) => c.type === CipherType.Login && c.login != null ? c.login.username : null,\n });\n (builder as any).field('login.uris', { boost: 2, extractor: (c: CipherView) => this.uriExtractor(c) });\n (builder as any).field('fields', { extractor: (c: CipherView) => this.fieldExtractor(c, false) });\n (builder as any).field('fields_joined', { extractor: (c: CipherView) => this.fieldExtractor(c, true) });\n (builder as any).field('attachments', { extractor: (c: CipherView) => this.attachmentExtractor(c, false) });\n (builder as any).field('attachments_joined',\n { extractor: (c: CipherView) => this.attachmentExtractor(c, true) });\n (builder as any).field('organizationid', { extractor: (c: CipherView) => c.organizationId });\n const ciphers = await this.cipherService.getAllDecrypted();\n ciphers.forEach((c) => builder.add(c));\n this.index = builder.build();\n this.indexing = false;\n // tslint:disable-next-line\n console.timeEnd('search indexing');\n }\n\n async searchCiphers(query: string, filter: (cipher: CipherView) => boolean = null, ciphers: CipherView[] = null):\n Promise {\n const results: CipherView[] = [];\n if (query != null) {\n query = query.trim().toLowerCase();\n }\n if (query === '') {\n query = null;\n }\n\n if (ciphers == null) {\n ciphers = await this.cipherService.getAllDecrypted();\n }\n if (filter != null) {\n ciphers = ciphers.filter(filter);\n }\n\n if (!this.isSearchable(query)) {\n return ciphers;\n }\n\n const index = this.getIndexForSearch();\n if (index == null) {\n // Fall back to basic search if index is not available\n return this.searchCiphersBasic(ciphers, query);\n }\n\n const ciphersMap = new Map();\n ciphers.forEach((c) => ciphersMap.set(c.id, c));\n\n let searchResults: lunr.Index.Result[] = null;\n const isQueryString = query != null && query.length > 1 && query.indexOf('>') === 0;\n if (isQueryString) {\n try {\n searchResults = index.search(query.substr(1).trim());\n } catch { }\n } else {\n // tslint:disable-next-line\n const soWild = lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING;\n searchResults = index.query((q) => {\n lunr.tokenizer(query).forEach((token) => {\n const t = token.toString();\n q.term(t, { fields: ['name'], wildcard: soWild });\n q.term(t, { fields: ['subtitle'], wildcard: soWild });\n q.term(t, { fields: ['login.uris'], wildcard: soWild });\n q.term(t, {});\n });\n });\n }\n\n if (searchResults != null) {\n searchResults.forEach((r) => {\n if (ciphersMap.has(r.ref)) {\n results.push(ciphersMap.get(r.ref));\n }\n });\n }\n return results;\n }\n\n searchCiphersBasic(ciphers: CipherView[], query: string) {\n query = query.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (c.name != null && c.name.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (this.onlySearchName) {\n return false;\n }\n if (query.length >= 8 && c.id.startsWith(query)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n return false;\n });\n }\n\n getIndexForSearch(): lunr.Index {\n return this.index;\n }\n\n private fieldExtractor(c: CipherView, joined: boolean) {\n if (!c.hasFields) {\n return null;\n }\n let fields: string[] = [];\n c.fields.forEach((f) => {\n if (f.name != null) {\n fields.push(f.name);\n }\n if (f.type === FieldType.Text && f.value != null) {\n fields.push(f.value);\n }\n });\n fields = fields.filter((f) => f.trim() !== '');\n if (fields.length === 0) {\n return null;\n }\n return joined ? fields.join(' ') : fields;\n }\n\n private attachmentExtractor(c: CipherView, joined: boolean) {\n if (!c.hasAttachments) {\n return null;\n }\n let attachments: string[] = [];\n c.attachments.forEach((a) => {\n if (a != null && a.fileName != null) {\n if (joined && a.fileName.indexOf('.') > -1) {\n attachments.push(a.fileName.substr(0, a.fileName.lastIndexOf('.')));\n } else {\n attachments.push(a.fileName);\n }\n }\n });\n attachments = attachments.filter((f) => f.trim() !== '');\n if (attachments.length === 0) {\n return null;\n }\n return joined ? attachments.join(' ') : attachments;\n }\n\n private uriExtractor(c: CipherView) {\n if (c.type !== CipherType.Login || c.login == null || !c.login.hasUris) {\n return null;\n }\n const uris: string[] = [];\n c.login.uris.forEach((u) => {\n if (u.uri == null || u.uri === '') {\n return;\n }\n if (u.hostname != null) {\n uris.push(u.hostname);\n return;\n }\n let uri = u.uri;\n if (u.match !== UriMatchType.RegularExpression) {\n const protocolIndex = uri.indexOf('://');\n if (protocolIndex > -1) {\n uri = uri.substr(protocolIndex + 3);\n }\n const queryIndex = uri.search(/\\?|&|#/);\n if (queryIndex > -1) {\n uri = uri.substring(0, queryIndex);\n }\n }\n uris.push(uri);\n });\n return uris.length > 0 ? uris : null;\n }\n}\n","import * as forge from 'node-forge';\r\n\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { DecryptParameters } from '../models/domain/decryptParameters';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nexport class WebCryptoFunctionService implements CryptoFunctionService {\r\n private crypto: Crypto;\r\n private subtle: SubtleCrypto;\r\n private isEdge: boolean;\r\n private isIE: boolean;\r\n private isOldSafari: boolean;\r\n\r\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\r\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\r\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\r\n this.isEdge = platformUtilsService.isEdge();\r\n this.isIE = platformUtilsService.isIE();\r\n const ua = win.navigator.userAgent;\r\n this.isOldSafari = platformUtilsService.isSafari() &&\r\n (ua.indexOf(' Version/10.') > -1 || ua.indexOf(' Version/9.') > -1);\r\n }\r\n\r\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\r\n iterations: number): Promise {\r\n if (this.isEdge || this.isIE || this.isOldSafari) {\r\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\r\n const passwordBytes = this.toByteString(password);\r\n const saltBytes = this.toByteString(salt);\r\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\r\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\r\n }\r\n\r\n const wcLen = algorithm === 'sha256' ? 256 : 512;\r\n const passwordBuf = this.toBuf(password);\r\n const saltBuf = this.toBuf(salt);\r\n\r\n const pbkdf2Params: Pbkdf2Params = {\r\n name: 'PBKDF2',\r\n salt: saltBuf,\r\n iterations: iterations,\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n\r\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\r\n false, ['deriveBits']);\r\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\r\n }\r\n\r\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): Promise {\r\n if (((this.isEdge || this.isIE) && algorithm === 'sha1') || algorithm === 'md5') {\r\n const md = algorithm === 'md5' ? forge.md.md5.create() : forge.md.sha1.create();\r\n const valueBytes = this.toByteString(value);\r\n md.update(valueBytes, 'raw');\r\n return Utils.fromByteStringToArray(md.digest().data).buffer;\r\n }\r\n\r\n const valueBuf = this.toBuf(value);\r\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\r\n }\r\n\r\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\r\n if (this.isIE && algorithm === 'sha512') {\r\n const hmac = (forge as any).hmac.create();\r\n const keyBytes = this.toByteString(key);\r\n const valueBytes = this.toByteString(value);\r\n hmac.start(algorithm, keyBytes);\r\n hmac.update(valueBytes, 'raw');\r\n return Utils.fromByteStringToArray(hmac.digest().data).buffer;\r\n }\r\n\r\n const signingAlgorithm = {\r\n name: 'HMAC',\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n\r\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\r\n return await this.subtle.sign(signingAlgorithm, impKey, value);\r\n }\r\n\r\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\r\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\r\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\r\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\r\n const macKey = await this.randomBytes(32);\r\n const signingAlgorithm = {\r\n name: 'HMAC',\r\n hash: { name: 'SHA-256' },\r\n };\r\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\r\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\r\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\r\n\r\n if (mac1.byteLength !== mac2.byteLength) {\r\n return false;\r\n }\r\n\r\n const arr1 = new Uint8Array(mac1);\r\n const arr2 = new Uint8Array(mac2);\r\n for (let i = 0; i < arr2.length; i++) {\r\n if (arr1[i] !== arr2[i]) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\r\n const hmac = (forge as any).hmac.create();\r\n hmac.start(algorithm, key);\r\n hmac.update(value);\r\n const bytes = hmac.digest().getBytes();\r\n return Promise.resolve(bytes);\r\n }\r\n\r\n async compareFast(a: string, b: string): Promise {\r\n const rand = await this.randomBytes(32);\r\n const bytes = new Uint32Array(rand);\r\n const buffer = forge.util.createBuffer();\r\n for (let i = 0; i < bytes.length; i++) {\r\n buffer.putInt32(bytes[i]);\r\n }\r\n const macKey = buffer.getBytes();\r\n\r\n const hmac = (forge as any).hmac.create();\r\n hmac.start('sha256', macKey);\r\n hmac.update(a);\r\n const mac1 = hmac.digest().getBytes();\r\n\r\n hmac.start(null, null);\r\n hmac.update(b);\r\n const mac2 = hmac.digest().getBytes();\r\n\r\n const equals = mac1 === mac2;\r\n return equals;\r\n }\r\n\r\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\r\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\r\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\r\n }\r\n\r\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\r\n DecryptParameters {\r\n const p = new DecryptParameters();\r\n if (key.meta != null) {\r\n p.encKey = key.meta.encKeyByteString;\r\n p.macKey = key.meta.macKeyByteString;\r\n }\r\n\r\n if (p.encKey == null) {\r\n p.encKey = forge.util.decode64(key.encKeyB64);\r\n }\r\n p.data = forge.util.decode64(data);\r\n p.iv = forge.util.decode64(iv);\r\n p.macData = p.iv + p.data;\r\n if (p.macKey == null && key.macKeyB64 != null) {\r\n p.macKey = forge.util.decode64(key.macKeyB64);\r\n }\r\n if (mac != null) {\r\n p.mac = forge.util.decode64(mac);\r\n }\r\n\r\n // cache byte string keys for later\r\n if (key.meta == null) {\r\n key.meta = {};\r\n }\r\n if (key.meta.encKeyByteString == null) {\r\n key.meta.encKeyByteString = p.encKey;\r\n }\r\n if (p.macKey != null && key.meta.macKeyByteString == null) {\r\n key.meta.macKeyByteString = p.macKey;\r\n }\r\n\r\n return p;\r\n }\r\n\r\n aesDecryptFast(parameters: DecryptParameters): Promise {\r\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\r\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\r\n decipher.start({ iv: parameters.iv });\r\n decipher.update(dataBuffer);\r\n decipher.finish();\r\n const val = decipher.output.toString('utf8');\r\n return Promise.resolve(val);\r\n }\r\n\r\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\r\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\r\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\r\n }\r\n\r\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\r\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\r\n // We cannot use the proper types here.\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\r\n return await this.subtle.encrypt(rsaParams, impKey, data);\r\n }\r\n\r\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\r\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\r\n // We cannot use the proper types here.\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\r\n return await this.subtle.decrypt(rsaParams, impKey, data);\r\n }\r\n\r\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n // Have to specify some algorithm\r\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\r\n };\r\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\r\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\r\n const jwkPublicKeyParams = {\r\n kty: 'RSA',\r\n e: jwkPrivateKey.e,\r\n n: jwkPrivateKey.n,\r\n alg: 'RSA-OAEP',\r\n ext: true,\r\n };\r\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\r\n return await this.subtle.exportKey('spki', impPublicKey);\r\n }\r\n\r\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n modulusLength: length,\r\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\r\n // Have to specify some algorithm\r\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\r\n };\r\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\r\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\r\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\r\n return [publicKey, privateKey];\r\n }\r\n\r\n randomBytes(length: number): Promise {\r\n const arr = new Uint8Array(length);\r\n this.crypto.getRandomValues(arr);\r\n return Promise.resolve(arr.buffer);\r\n }\r\n\r\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\r\n let buf: ArrayBuffer;\r\n if (typeof (value) === 'string') {\r\n buf = Utils.fromUtf8ToArray(value).buffer;\r\n } else {\r\n buf = value;\r\n }\r\n return buf;\r\n }\r\n\r\n private toByteString(value: string | ArrayBuffer): string {\r\n let bytes: string;\r\n if (typeof (value) === 'string') {\r\n bytes = forge.util.encodeUtf8(value);\r\n } else {\r\n bytes = Utils.fromBufferToByteString(value);\r\n }\r\n return bytes;\r\n }\r\n\r\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): string {\r\n if (algorithm === 'md5') {\r\n throw new Error('MD5 is not supported in WebCrypto.');\r\n }\r\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\r\n }\r\n}\r\n","export class DecryptParameters {\n encKey: T;\n data: T;\n iv: T;\n macKey: T;\n mac: T;\n macData: T;\n}\n","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billing' } },\n {\n path: 'subscription',\n component: UserSubscriptionComponent,\n data: { titleId: 'premiumMembership' },\n },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n {\n path: 'reused-passwords-report',\n component: ReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: UnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: WeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n {\n path: 'exposed-passwords-report',\n component: ExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: InactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'import' },\n { path: 'import', component: OrgImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: OrgExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'exposed-passwords-report',\n component: OrgExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: OrgInactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\n {\n path: 'reused-passwords-report',\n component: OrgReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: OrgUnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: OrgWeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n allowedTypes: [\n OrganizationUserType.Owner,\n OrganizationUserType.Admin,\n OrganizationUserType.Manager,\n ],\n },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'people' },\n { path: 'collections', component: OrgManageCollectionsComponent, data: { titleId: 'collections' } },\n { path: 'events', component: OrgEventsComponent, data: { titleId: 'eventLogs' } },\n { path: 'groups', component: OrgGroupsComponent, data: { titleId: 'groups' } },\n { path: 'people', component: OrgPeopleComponent, data: { titleId: 'people' } },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billing' },\n },\n {\n path: 'subscription',\n component: OrganizationSubscriptionComponent,\n data: { titleId: 'subscription' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/main.33e2182b1c2757a22f9b.css b/app/main.ada879e2fa1c013188d7.css similarity index 99% rename from app/main.33e2182b1c2757a22f9b.css rename to app/main.ada879e2fa1c013188d7.css index af675280..bd85b51f 100644 --- a/app/main.33e2182b1c2757a22f9b.css +++ b/app/main.ada879e2fa1c013188d7.css @@ -9759,4 +9759,4 @@ img.logo { .overflow-hidden { overflow: hidden; } -/*# sourceMappingURL=main.33e2182b1c2757a22f9b.css.map*/ \ No newline at end of file +/*# sourceMappingURL=main.ada879e2fa1c013188d7.css.map*/ \ No newline at end of file diff --git a/app/main.33e2182b1c2757a22f9b.css.map b/app/main.ada879e2fa1c013188d7.css.map similarity index 58% rename from app/main.33e2182b1c2757a22f9b.css.map rename to app/main.ada879e2fa1c013188d7.css.map index 63b08c46..1b5acc95 100644 --- a/app/main.33e2182b1c2757a22f9b.css.map +++ b/app/main.ada879e2fa1c013188d7.css.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.33e2182b1c2757a22f9b.css","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.ada879e2fa1c013188d7.css","sourceRoot":""} \ No newline at end of file diff --git a/app/main.ada879e2fa1c013188d7.js b/app/main.ada879e2fa1c013188d7.js new file mode 100644 index 00000000..314cba30 --- /dev/null +++ b/app/main.ada879e2fa1c013188d7.js @@ -0,0 +1,2 @@ +!function(n){function l(l){for(var t,o,i=l[0],a=l[1],s=l[2],d=0,p=[];d1&&this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),e,{timeout:5e3*e.length}),e},n}();l.ValidationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(14);var t=function(){function n(n,l){this.el=n,this.validationService=l}return n.prototype.ngOnChanges=function(n){var l=this;null!=this.appApiAction&&null!=this.appApiAction.then&&(this.el.nativeElement.loading=!0,this.appApiAction.then(function(n){l.el.nativeElement.loading=!1},function(n){l.el.nativeElement.loading=!1,l.validationService.showError(n)}))},n}();l.ApiActionDirective=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.MessagingService=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CipherService=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(3);var t=function(){function n(n){this.i18nService=n,this.type="info"}return n.prototype.ngOnInit=function(){this.calloutStyle=this.type,"warning"===this.type||"danger"===this.type?("danger"===this.type&&(this.calloutStyle="danger"),void 0===this.title&&(this.title=this.i18nService.t("warning")),void 0===this.icon&&(this.icon="fa-warning")):"error"===this.type?(this.calloutStyle="danger",void 0===this.title&&(this.title=this.i18nService.t("error")),void 0===this.icon&&(this.icon="fa-bolt")):"tip"===this.type&&(this.calloutStyle="success",void 0===this.title&&(this.title=this.i18nService.t("tip")),void 0===this.icon&&(this.icon="fa-lightbulb-o"))},n}();l.CalloutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(27),o=e(3),i=t.ɵcrt({encapsulation:2,styles:[],data:{}});function a(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"fa ",e.icon,""))})}function s(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"h3",[["class","callout-heading"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,a)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(4,null,["\n ","\n "]))],function(n,l){n(l,3,0,l.component.icon)},function(n,l){n(l,4,0,l.component.title)})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"div",[["role","alert"]],[[8,"className",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,s)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),t.ɵncd(null,0),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,l.component.title)},function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"callout callout-",e.calloutStyle,""))})}function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-callout",[],null,null,null,c,i)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CalloutComponent=i,l.View_CalloutComponent_0=c,l.View_CalloutComponent_Host_0=d;var p=t.ɵccf("app-callout",r.CalloutComponent,d,{type:"type",icon:"icon",title:"title"},{},["*"]);l.CalloutComponentNgFactory=p},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(650),u=e(136),r=e(148),o=e(235),i=e(38),a=e(196),s=e(147),c=e(146),d=e(91),p=e(39),f=e(195),v=e(109),h=function(){function n(){this.organization=!1,this.newLineRegex=/(?:\r\n|\r|\n)/,this.passwordFieldNames=["password","pass word","passphrase","pass phrase","pass","code","code word","codeword","secret","secret word","personpwd","key","keyword","key word","keyphrase","key phrase","form_pw","wppassword","pin","pwd","pw","pword","passwd","p","serial","serial#","license key","reg #","passwort"],this.usernameFieldNames=["user","name","user name","username","login name","email","e-mail","id","userid","user id","login","form_loginname","wpname","mail","loginid","login id","log","personlogin","first name","last name","card#","account #","member","member #","nom","benutzername"],this.notesFieldNames=["note","notes","comment","comments","memo","description","free form","freeform","free text","freetext","free","kommentar"],this.uriFieldNames=["url","hyper link","hyperlink","link","host","hostname","host name","server","address","hyper ref","href","web","website","web site","site","web-site","uri","ort","adresse"]}return n.prototype.parseXml=function(n){var l=(new DOMParser).parseFromString(n,"application/xml");return null!=l&&null==l.querySelector("parsererror")?l:null},n.prototype.parseCsv=function(n,l){n=this.splitNewLine(n).join("\n").trim();var e=t.parse(n,{header:l,encoding:"UTF-8",skipEmptyLines:!1});return null!=e.errors&&e.errors.length>0&&e.errors.forEach(function(n){null!=n.row&&console.warn("Error parsing row "+n.row+": "+n.message)}),e.data&&e.data.length>0?e.data:null},n.prototype.parseSingleRowCsv=function(n){if(this.isNullOrWhitespace(n))return null;var l=this.parseCsv(n,!1);return null!=l&&l.length>0&&l[0].length>0?l[0]:null},n.prototype.makeUriArray=function(n){var l=this;if(null==n)return null;if("string"==typeof n){var e=new o.LoginUriView;return e.uri=this.fixUri(n),this.isNullOrWhitespace(e.uri)?null:(e.match=null,[e])}if(n.length>0){var t=[];return n.forEach(function(n){var e=new o.LoginUriView;e.uri=l.fixUri(n),l.isNullOrWhitespace(e.uri)||(e.match=null,t.push(e))}),0===t.length?null:t}return null},n.prototype.fixUri=function(n){return null==n?null:(-1===(n=n.toLowerCase().trim()).indexOf("://")&&n.indexOf(".")>=0&&(n="http://"+n),n.length>1e3?n.substring(0,1e3):n)},n.prototype.nameFromUrl=function(n){var l=i.Utils.getHostname(n);return this.isNullOrWhitespace(l)?null:l.startsWith("www.")?l.replace("www.",""):l},n.prototype.isNullOrWhitespace=function(n){return i.Utils.isNullOrWhitespace(n)},n.prototype.getValueOrDefault=function(n,l){return void 0===l&&(l=null),this.isNullOrWhitespace(n)?l:n},n.prototype.splitNewLine=function(n){return n.split(this.newLineRegex)},n.prototype.getCardBrand=function(n){if(this.isNullOrWhitespace(n))return null;var l=new RegExp("^4");return null!=n.match(l)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(n)?"Mastercard":(l=new RegExp("^3[47]"),null!=n.match(l)?"Amex":(l=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=n.match(l)?"Discover":(l=new RegExp("^36"),null!=n.match(l)?"Diners Club":(l=new RegExp("^30[0-5]"),null!=n.match(l)?"Diners Club":(l=new RegExp("^35(2[89]|[3-8][0-9])"),null!=n.match(l)?"JCB":(l=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=n.match(l)?"Visa":null))))))},n.prototype.setCardExpiration=function(n,l){if(!this.isNullOrWhitespace(l)){var e=l.split("/");if(2===e.length){var t=null,u=null;if(1!==e[0].length&&2!==e[0].length||2===(t=e[0]).length&&"0"===t[0]&&(t=t.substr(1,1)),2!==e[1].length&&4!==e[1].length||(u=2===t.length?"20"+e[1]:e[1]),null!=t&&null!=u)return n.card.expMonth=t,n.card.expYear=u,!0}}return!1},n.prototype.moveFoldersToCollections=function(n){n.folderRelationships.forEach(function(l){return n.collectionRelationships.push(l)}),n.collections=n.folders.map(function(n){var l=new r.CollectionView;return l.name=n.name,l}),n.folderRelationships=[],n.folders=[]},n.prototype.querySelectorDirectChild=function(n,l){var e=this.querySelectorAllDirectChild(n,l);return 0===e.length?null:e[0]},n.prototype.querySelectorAllDirectChild=function(n,l){return Array.from(n.querySelectorAll(l)).filter(function(l){return l.parentNode===n})},n.prototype.initLoginCipher=function(){var n=new u.CipherView;return n.favorite=!1,n.notes="",n.fields=[],n.login=new c.LoginView,n.type=p.CipherType.Login,n},n.prototype.cleanupCipher=function(n){null!=n&&(n.type!==p.CipherType.Login&&(n.login=null),this.isNullOrWhitespace(n.name)&&(n.name="--"),this.isNullOrWhitespace(n.notes)?n.notes=null:n.notes=n.notes.trim(),null!=n.fields&&0===n.fields.length&&(n.fields=null))},n.prototype.processKvp=function(n,l,e){if(!this.isNullOrWhitespace(e))if(this.isNullOrWhitespace(l)&&(l=""),e.length>200||e.trim().search(this.newLineRegex)>-1)null==n.notes&&(n.notes=""),n.notes+=l+": "+this.splitNewLine(e).join("\n")+"\n";else{null==n.fields&&(n.fields=[]);var t=new a.FieldView;t.type=f.FieldType.Text,t.name=l,t.value=e,n.fields.push(t)}},n.prototype.processFolder=function(n,l){var e=n.folders.length,t=!this.isNullOrWhitespace(l),u=t;if(t)for(var r=0;r1&&(t+=n.slice(1)),void 0===l[n=t]&&(n=n.toLowerCase()),void 0===l[n]&&(n=n.toUpperCase())}return l[n]},n}();l.BaseResponse=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StateService=t},,,function(n,l,e){"use strict";(function(n,t,u){Object.defineProperty(l,"__esModule",{value:!0});var r=e(785),o="undefined"==typeof window?e(786):null,i=function(){function l(){}return l.init=function(){l.inited||(l.inited=!0,l.isNode=void 0!==n&&null!=n.release&&"node"===n.release.name,l.isBrowser="undefined"!=typeof window,l.isNativeScript=!l.isNode&&!l.isBrowser,l.isMobileBrowser=l.isBrowser&&this.isMobile(window),l.global=l.isNativeScript?t:l.isNode&&!l.isBrowser?t:window)},l.fromB64ToArray=function(n){if(l.isNode||l.isNativeScript)return new Uint8Array(u.from(n,"base64"));for(var e=window.atob(n),t=new Uint8Array(e.length),r=0;r-1;if(!e&&n.indexOf(".")>-1)n="http://"+n;else if(!e)return null;return l.getUrlObject(n)},l.getUrlObject=function(n){try{if(null!=o)return o.URL?new o.URL(n):o.parse(n);if("function"==typeof URL)return new URL(n);if(null!=window){var l=window.document.createElement("a");return l.href=n,l}}catch(n){}return null},l.inited=!1,l.isNativeScript=!1,l.isNode=!1,l.isBrowser=!0,l.isMobileBrowser=!1,l.global=null,l.tldEndingRegex=/.*\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/,l}();l.Utils=i,i.init()}).call(this,e(133),e(97),e(117).Buffer)},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Login=1]="Login",n[n.SecureNote=2]="SecureNote",n[n.Card=3]="Card",n[n.Identity=4]="Identity"}(l.CipherType||(l.CipherType={}))},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.preventDefault()},n}();l.StopClickDirective=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CollectionService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n,l){this.el=n,this.renderer=l}return Object.defineProperty(n.prototype,"appInputVerbatim",{set:function(n){this.disableComplete=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){this.disableComplete&&!this.el.nativeElement.hasAttribute("autocomplete")&&this.renderer.setAttribute(this.el.nativeElement,"autocomplete","off"),this.el.nativeElement.hasAttribute("autocapitalize")||this.renderer.setAttribute(this.el.nativeElement,"autocapitalize","none"),this.el.nativeElement.hasAttribute("autocorrect")||this.renderer.setAttribute(this.el.nativeElement,"autocorrect","none"),this.el.nativeElement.hasAttribute("spellcheck")||this.renderer.setAttribute(this.el.nativeElement,"spellcheck","false"),this.el.nativeElement.hasAttribute("inputmode")||this.renderer.setAttribute(this.el.nativeElement,"inputmode","verbatim")},n}();l.InputVerbatimDirective=t},,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.FolderService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordGenerationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SyncService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordVerificationRequest=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.TokenService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentService=t},,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.environmentUrlsKey=n.environmentUrlsKey,this.disableGaKey=n.disableGaKey,this.disableAddLoginNotificationKey=n.disableAddLoginNotificationKey,this.disableContextMenuItemKey=n.disableContextMenuItemKey,this.disableFaviconKey=n.disableFaviconKey,this.disableAutoTotpCopyKey=n.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=n.enableAutoFillOnPageLoadKey,this.lockOptionKey=n.lockOptionKey,this.lastActiveKey=n.lastActiveKey,this.neverDomainsKey=n.neverDomainsKey,this.installedVersionKey=n.installedVersionKey,this.localeKey=n.localeKey,this.themeKey=n.themeKey,this.collapsedGroupingsKey=n.collapsedGroupingsKey,this.autoConfirmFingerprints=n.autoConfirmFingerprints,this.dontShowCardsCurrentTab=n.dontShowCardsCurrentTab,this.dontShowIdentitiesCurrentTab=n.dontShowIdentitiesCurrentTab,this.defaultUriMatch=n.defaultUriMatch,this.pinProtectedKey=n.pinProtectedKey,this.protectedPin=n.protectedPin,this.clearClipboardKey=n.clearClipboardKey}return n.environmentUrlsKey="environmentUrls",n.disableGaKey="disableGa",n.disableAddLoginNotificationKey="disableAddLoginNotification",n.disableChangedPasswordNotificationKey="disableChangedPasswordNotification",n.disableContextMenuItemKey="disableContextMenuItem",n.disableFaviconKey="disableFavicon",n.disableAutoTotpCopyKey="disableAutoTotpCopy",n.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",n.lockOptionKey="lockOption",n.lastActiveKey="lastActive",n.neverDomainsKey="neverDomains",n.installedVersionKey="installedVersion",n.localeKey="locale",n.themeKey="theme",n.collapsedGroupingsKey="collapsedGroupings",n.autoConfirmFingerprints="autoConfirmFingerprints",n.dontShowCardsCurrentTab="dontShowCardsCurrentTab",n.dontShowIdentitiesCurrentTab="dontShowIdentitiesCurrentTab",n.defaultUriMatch="defaultUriMatch",n.pinProtectedKey="pinProtectedKey",n.protectedPin="protectedPin",n.clearClipboardKey="clearClipboardKey",n}();l.ConstantsService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=e(38),u=function(){function n(n){this.el=n}return Object.defineProperty(n.prototype,"appAutofocus",{set:function(n){this.autofocus=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){!t.Utils.isMobileBrowser&&this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.cardholderName=null,this.expMonth=null,this.expYear=null,this.code=null,this._brand=null,this._number=null,this._subTitle=null}return Object.defineProperty(n.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"brand",{get:function(){return this._brand},set:function(n){this._brand=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"number",{get:function(){return this._number},set:function(n){this._number=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){if(null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4)){null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="";var n=this.number.length>=5&&null!=this.number.match(new RegExp("^3[47]"))?5:4;this._subTitle+="*"+this.number.substr(this.number.length-n)}return this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var n=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return n+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),n.prototype.formatYear=function(n){return 2===n.length?"20"+n:n},n}();l.CardView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.type=null,n&&(this.type=n.type)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),n}();l.SecureNoteView=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuthService=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1?(n="http://"+n,l=!0):this.imageEnabled&&(l=0===n.indexOf("http")&&n.indexOf(".")>-1),this.imageEnabled&&l)try{this.image=this.iconsUrl+"/"+i.Utils.getHostname(n)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},n}();l.IconComponent=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(778).BroadcasterService);l.BroadcasterService=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(254),o=(e(0),e(794)),i=e(38),a=function(n){function l(l){var e=n.call(this,l)||this;return e.el=null,e}return u(l,n),l.prototype.ngOnDestroy=function(){},l.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.parentContainer=l,this.fade=e;var u=this.componentFactoryResolver.resolveComponentFactory(n),o=this.container.createComponent(u),a=Array.from(document.querySelectorAll(".modal"));return a.length>0&&(this.el=r(a[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){t.onShow.emit()}),this.el.on("shown.bs.modal",function(){t.onShown.emit(),i.Utils.isMobileBrowser||t.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){t.onClose.emit()}),this.el.on("hidden.bs.modal",function(){t.onClosed.emit(),null!=t.parentContainer&&t.parentContainer.clear()})),o.instance},l.prototype.close=function(){null!=this.el&&this.el.modal("hide")},l}(o.ModalComponent);l.ModalComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Authenticator=0]="Authenticator",n[n.Email=1]="Email",n[n.Duo=2]="Duo",n[n.Yubikey=3]="Yubikey",n[n.U2f=4]="U2f",n[n.Remember=5]="Remember",n[n.OrganizationDuo=6]="OrganizationDuo"}(l.TwoFactorProviderType||(l.TwoFactorProviderType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.stopPropagation()},n}();l.StopPropDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(825),r=e(5),o=e(99),i=e(74),a=e(35),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"img",[["alt",""]],[[8,"src",4]],[[null,"error"]],function(n,l,e){var u=!0;"error"===l&&(u=!1!==t.ɵnov(n,1).onError()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.FallbackSrcDirective,[t.ElementRef],{appFallbackSrc:[0,"appFallbackSrc"]},null)],function(n,l){var e=l.component;n(l,1,0,t.ɵinlineInterpolate(1,"",e.fallbackImage,""))},function(n,l){n(l,0,0,l.component.image)})}function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"fa fa-fw fa-lg ",e.icon,""))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,d)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.imageEnabled&&e.image),n(l,6,0,!e.imageEnabled||!e.image)},null)}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-icon",[],null,null,null,p,s)),t.ɵdid(1,573440,null,0,o.IconComponent,[i.EnvironmentService,a.StateService],null,null)],null,null)}l.RenderType_IconComponent=s,l.View_IconComponent_0=p,l.View_IconComponent_Host_0=f;var v=t.ɵccf("app-vault-icon",o.IconComponent,f,{cipher:"cipher"},{},[]);l.IconComponentNgFactory=v},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoFunctionService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuditService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Generic=0]="Generic"}(l.SecureNoteType||(l.SecureNoteType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1?n[o]=i||null:n[o]=i?new r.CipherString(i):null}},n.prototype.buildDataModel=function(n,l,e,t){for(var u in void 0===t&&(t=[]),e)if(e.hasOwnProperty(u)){var r=n[e[u]||u];t.indexOf(u)>-1?l[u]=null!=r?r:null:l[u]=null!=r?r.encryptedString:null}},n.prototype.decryptObj=function(n,l,e){return t(this,void 0,void 0,function(){var t,r,o;return u(this,function(u){switch(u.label){case 0:for(o in t=[],r=this,l)l.hasOwnProperty(o)&&function(u){var o=Promise.resolve().then(function(){var n=l[u]||u;return r[n]?r[n].decrypt(e):null}).then(function(l){n[u]=l});t.push(o)}(o);return[4,Promise.all(t)];case 1:return u.sent(),[2,n]}})})},n}();l.default=o},,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.LockService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SearchService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(39),u=e(90),r=e(171),o=e(146),i=e(91),a=function(){function n(n){this.id=null,this.organizationId=null,this.folderId=null,this.name=null,this.notes=null,this.type=null,this.favorite=!1,this.organizationUseTotp=!1,this.edit=!1,this.login=new o.LoginView,this.identity=new r.IdentityView,this.card=new u.CardView,this.secureNote=new i.SecureNoteView,this.attachments=null,this.fields=null,this.passwordHistory=null,this.collectionIds=null,this.revisionDate=null,n&&(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.favorite=n.favorite,this.organizationUseTotp=n.organizationUseTotp,this.edit=n.edit,this.type=n.type,this.localData=n.localData,this.collectionIds=n.collectionIds,this.revisionDate=n.revisionDate)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){switch(this.type){case t.CipherType.Login:return this.login.subTitle;case t.CipherType.SecureNote:return this.secureNote.subTitle;case t.CipherType.Card:return this.card.subTitle;case t.CipherType.Identity:return this.identity.subTitle}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasPasswordHistory",{get:function(){return this.passwordHistory&&this.passwordHistory.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasOldAttachments",{get:function(){if(this.hasAttachments)for(var n=0;n0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"passwordRevisionDisplayDate",{get:function(){return this.type!==t.CipherType.Login||null==this.login?null:null==this.login.password||""===this.login.password?null:this.login.passwordRevisionDate},enumerable:!0,configurable:!0}),n}();l.CipherView=a},,,,,,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]1&&(e=this.getFirstLetters(t,this.charCount)),null==e&&(e=t.substr(0,this.charCount)),o=this.getCharText(e),i=this.stringToColor(t),(a=this.getSvg(this.size,i)).appendChild(o),s=window.document.createElement("div").appendChild(a).outerHTML,c=window.btoa(unescape(encodeURIComponent(s))),this.src="data:image/svg+xml;base64,"+c,u.label=4;case 4:return[2]}})})},n.prototype.stringToColor=function(n){for(var l=0,e=0;e>8*e&255).toString(16)).substr(-2)}return t},n.prototype.getFirstLetters=function(n,l){var e=n.split(" ");if(e.length>1){for(var t="",u=0;u0},enumerable:!0,configurable:!0}),n}();l.LoginView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,this.name=null,this.revisionDate=null,n&&(this.id=n.id,this.revisionDate=n.revisionDate)}}();l.FolderView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,this.organizationId=null,this.name=null,this.externalId=null,this.readOnly=null,n&&(this.id=n.id,this.organizationId=n.organizationId,this.readOnly=n.readOnly,this.externalId=n.externalId)}}();l.CollectionView=t},,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(145),o=e(43),i=e(107),a=e(35),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"img",[],[[8,"src",4],[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{"rounded-circle":0})],function(n,l){var e=n(l,2,0,l.component.circle);n(l,1,0,e)},function(n,l){var e=l.component;n(l,0,0,e.sanitizer.bypassSecurityTrustResourceUrl(e.src),t.ɵinlineInterpolate(1,"",e.data,""))})}function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-avatar",[],null,null,null,c,s)),t.ɵdid(1,638976,null,0,r.AvatarComponent,[o.DomSanitizer,i.CryptoFunctionService,a.StateService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AvatarComponent=s,l.View_AvatarComponent_0=c,l.View_AvatarComponent_Host_0=d;var p=t.ɵccf("app-avatar",r.AvatarComponent,d,{data:"data",email:"email",size:"size",charCount:"charCount",textColor:"textColor",fontSize:"fontSize",fontWeight:"fontWeight",dynamic:"dynamic",circle:"circle"},{},[]);l.AvatarComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(38),u=function(){function n(n){this.title=null,this.middleName=null,this.address1=null,this.address2=null,this.address3=null,this.city=null,this.state=null,this.postalCode=null,this.country=null,this.company=null,this.email=null,this.phone=null,this.ssn=null,this.username=null,this.passportNumber=null,this.licenseNumber=null,this._firstName=null,this._lastName=null,this._subTitle=null}return Object.defineProperty(n.prototype,"firstName",{get:function(){return this._firstName},set:function(n){this._firstName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"lastName",{get:function(){return this._lastName},set:function(n){this._lastName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var n="";return null!=this.title&&(n+=this.title+" "),null!=this.firstName&&(n+=this.firstName+" "),null!=this.middleName&&(n+=this.middleName+" "),null!=this.lastName&&(n+=this.lastName),n.trim()}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullAddress",{get:function(){var n=this.address1;return t.Utils.isNullOrWhitespace(this.address2)&&(t.Utils.isNullOrWhitespace(n)&&(n+=", "),n+=this.address2),t.Utils.isNullOrWhitespace(this.address3)&&(t.Utils.isNullOrWhitespace(n)&&(n+=", "),n+=this.address3),n},enumerable:!0,configurable:!0}),n}();l.IdentityView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=e(266),u=(e(7),e(575)),r={base:{color:"#333333",fontFamily:'"Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',fontSize:"14px",fontSmoothing:"antialiased"},invalid:{color:"#333333"}},o={focus:"is-focused",empty:"is-empty",invalid:"is-invalid"},i=function(){function n(n){var l=this;this.platformUtilsService=n,this.showOptions=!0,this.method=t.PaymentMethodType.Card,this.hideBank=!1,this.hidePaypal=!1,this.hideCredit=!1,this.bank={routing_number:null,account_number:null,account_holder_name:null,account_holder_type:"",currency:"USD",country:"US"},this.paymentMethodType=t.PaymentMethodType,this.btInstance=null,this.stripe=null,this.stripeElements=null,this.stripeCardNumberElement=null,this.stripeCardExpiryElement=null,this.stripeCardCvcElement=null,this.stripeScript=window.document.createElement("script"),this.stripeScript.src="https://js.stripe.com/v3/",this.stripeScript.async=!0,this.stripeScript.onload=function(){l.stripe=window.Stripe(l.platformUtilsService.isDev()?u.WebConstants.stripeTestKey:u.WebConstants.stripeLiveKey),l.stripeElements=l.stripe.elements(),l.setStripeElement()},this.btScript=window.document.createElement("script"),this.btScript.src="scripts/dropin.js",this.btScript.async=!0}return n.prototype.ngOnInit=function(){this.showOptions||(this.hidePaypal=this.method!==t.PaymentMethodType.PayPal,this.hideBank=this.method!==t.PaymentMethodType.BankAccount,this.hideCredit=this.method!==t.PaymentMethodType.Credit),window.document.head.appendChild(this.stripeScript),this.hidePaypal||window.document.head.appendChild(this.btScript)},n.prototype.ngOnDestroy=function(){window.document.head.removeChild(this.stripeScript),window.setTimeout(function(){Array.from(window.document.querySelectorAll("iframe")).forEach(function(n){if(null!=n.src&&n.src.indexOf("stripe")>-1)try{window.document.body.removeChild(n)}catch(n){}})},500),this.hidePaypal||(window.document.head.removeChild(this.btScript),window.setTimeout(function(){Array.from(window.document.head.querySelectorAll("script")).forEach(function(n){if(null!=n.src&&n.src.indexOf("paypal")>-1)try{window.document.head.removeChild(n)}catch(n){}});var n=window.document.head.querySelector("#braintree-dropin-stylesheet");if(null!=n)try{window.document.head.removeChild(n)}catch(n){}},500))},n.prototype.changeMethod=function(){var n=this;this.btInstance=null,this.method===t.PaymentMethodType.PayPal?window.setTimeout(function(){window.braintree.dropin.create({authorization:n.platformUtilsService.isDev()?u.WebConstants.btSandboxKey:u.WebConstants.btProductionKey,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(l,e){null==l?n.btInstance=e:console.error(l)})},250):this.setStripeElement()},n.prototype.createPaymentToken=function(){var n=this;return new Promise(function(l,e){if(n.method===t.PaymentMethodType.Credit)l([null,n.method]);else if(n.method===t.PaymentMethodType.PayPal)n.btInstance.requestPaymentMethod().then(function(e){l([e.nonce,n.method])}).catch(function(n){e(n.message)});else if(n.method===t.PaymentMethodType.Card||n.method===t.PaymentMethodType.BankAccount){var u=null,r=null;n.method===t.PaymentMethodType.Card?u=n.stripeCardNumberElement:(u="bank_account",r=n.bank),n.stripe.createToken(u,r).then(function(t){t.error?e(t.error.message):t.token&&null!=t.token.id?l([t.token.id,n.method]):e()})}})},n.prototype.setStripeElement=function(){var n=this;window.setTimeout(function(){n.method===t.PaymentMethodType.Card&&(null==n.stripeCardNumberElement&&(n.stripeCardNumberElement=n.stripeElements.create("cardNumber",{style:r,classes:o,placeholder:""})),null==n.stripeCardExpiryElement&&(n.stripeCardExpiryElement=n.stripeElements.create("cardExpiry",{style:r,classes:o})),null==n.stripeCardCvcElement&&(n.stripeCardCvcElement=n.stripeElements.create("cardCvc",{style:r,classes:o,placeholder:""})),n.stripeCardNumberElement.mount("#stripe-card-number-element"),n.stripeCardExpiryElement.mount("#stripe-card-expiry-element"),n.stripeCardCvcElement.mount("#stripe-card-cvc-element"))},50)},n}();l.PaymentComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(39),u=e(584),r=e(585),o=e(586),i=e(587),a=e(588),s=e(590),c=e(591),d=function(){return function(n,l,e){var d=this;if(null!=n){switch(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.userId=l,this.edit=n.edit,this.organizationUseTotp=n.organizationUseTotp,this.favorite=n.favorite,this.revisionDate=n.revisionDate,this.type=n.type,this.name=n.name,this.notes=n.notes,this.collectionIds=null!=e?e:n.collectionIds,this.type){case t.CipherType.Login:this.login=new a.LoginData(n.login);break;case t.CipherType.SecureNote:this.secureNote=new c.SecureNoteData(n.secureNote);break;case t.CipherType.Card:this.card=new r.CardData(n.card);break;case t.CipherType.Identity:this.identity=new i.IdentityData(n.identity)}null!=n.fields&&(this.fields=[],n.fields.forEach(function(n){d.fields.push(new o.FieldData(n))})),null!=n.attachments&&(this.attachments=[],n.attachments.forEach(function(n){d.attachments.push(new u.AttachmentData(n))})),null!=n.passwordHistory&&(this.passwordHistory=[],n.passwordHistory.forEach(function(n){d.passwordHistory.push(new s.PasswordHistoryData(n))}))}}}();l.CipherData=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.id,this.organizationId=n.organizationId,this.name=n.name,this.externalId=n.externalId,this.readOnly=n.readOnly}}();l.CollectionData=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?(a=[],[4,this.attachments.reduce(function(n,l){return n.then(function(){return l.decrypt(r)}).then(function(n){a.push(n)})},Promise.resolve())]):[3,13];case 12:o.sent(),n.attachments=a,o.label=13;case 13:return null!=this.fields&&this.fields.length>0?(c=[],[4,this.fields.reduce(function(n,l){return n.then(function(){return l.decrypt(r)}).then(function(n){c.push(n)})},Promise.resolve())]):[3,15];case 14:o.sent(),n.fields=c,o.label=15;case 15:return null!=this.passwordHistory&&this.passwordHistory.length>0?(d=[],[4,this.passwordHistory.reduce(function(n,l){return n.then(function(){return l.decrypt(r)}).then(function(n){d.push(n)})},Promise.resolve())]):[3,17];case 16:o.sent(),n.passwordHistory=d,o.label=17;case 17:return[2,n]}})})},l.prototype.toCipherData=function(n){var l=new a.CipherData;switch(l.id=this.id,l.organizationId=this.organizationId,l.folderId=this.folderId,l.userId=null!=this.organizationId?n:null,l.edit=this.edit,l.organizationUseTotp=this.organizationUseTotp,l.favorite=this.favorite,l.revisionDate=null!=this.revisionDate?this.revisionDate.toISOString():null,l.type=this.type,l.collectionIds=this.collectionIds,this.buildDataModel(this,l,{name:null,notes:null}),l.type){case i.CipherType.Login:l.login=this.login.toLoginData();break;case i.CipherType.SecureNote:l.secureNote=this.secureNote.toSecureNoteData();break;case i.CipherType.Card:l.card=this.card.toCardData();break;case i.CipherType.Identity:l.identity=this.identity.toIdentityData()}return null!=this.fields&&(l.fields=[],this.fields.forEach(function(n){l.fields.push(n.toFieldData())})),null!=this.attachments&&(l.attachments=[],this.attachments.forEach(function(n){l.attachments.push(n.toAttachmentData())})),null!=this.passwordHistory&&(l.passwordHistory=[],this.passwordHistory.forEach(function(n){l.passwordHistory.push(n.toPasswordHistoryData())})),l},l}(p.default);l.Cipher=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(3);var t=e(193),u=e(880),r=function(){function n(n){this.i18nService=n}return n.prototype.getDefaultDateFilters=function(){var n=new Date,l=new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59);n.setDate(n.getDate()-30);var e=new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0);return[this.toDateTimeLocalString(e),this.toDateTimeLocalString(l)]},n.prototype.formatDateFilters=function(n,l){var e=new Date(n),t=new Date(l+":59.999");if(isNaN(e.getTime())||isNaN(t.getTime())||t"+e+"";var t=this.makeAnchor(e);return t.setAttribute("href","#/organizations/"+n.organizationId+"/vault?search="+e+"&viewEvents="+n.cipherId),t.outerHTML},n.prototype.formatGroupId=function(n){var l=this.getShortId(n.groupId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/groups?search="+l),e.outerHTML},n.prototype.formatCollectionId=function(n){var l=this.getShortId(n.collectionId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/collections?search="+l),e.outerHTML},n.prototype.formatOrgUserId=function(n){var l=this.getShortId(n.organizationUserId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/people?search="+l+"&viewEvents="+n.organizationUserId),e.outerHTML},n.prototype.makeAnchor=function(n){var l=document.createElement("a");return l.title=this.i18nService.t("view"),l.innerHTML=""+n+"",l},n.prototype.getShortId=function(n){return n.substring(0,8)},n.prototype.toDateTimeLocalString=function(n){return n.getFullYear()+"-"+this.pad(n.getMonth()+1)+"-"+this.pad(n.getDate())+"T"+this.pad(n.getHours())+":"+this.pad(n.getMinutes())},n.prototype.pad=function(n){var l=Math.floor(Math.abs(n));return(l<10?"0":"")+l},n}();l.EventService=r;var o=function(){return function(){}}();l.EventInfo=o;var i=function(){return function(){this.cipherInfo=!0}}();l.EventOptions=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Owner=0]="Owner",n[n.Admin=1]="Admin",n[n.User=2]="User",n[n.Manager=3]="Manager"}(l.OrganizationUserType||(l.OrganizationUserType={}))},,,,,,,,,,,,,,,,,function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},r=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]t){if(r===o.TwoFactorProviderType.U2f&&!n)return;e=r,t=i.priority}}),e},n.prototype.makePreloginKey=function(n,l){return u(this,void 0,void 0,function(){var e,t;return r(this,function(u){switch(u.label){case 0:l=l.trim().toLowerCase(),this.kdf=null,this.kdfIterations=null,u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.apiService.postPrelogin(new c.PreloginRequest(l))];case 2:return null!=(e=u.sent())&&(this.kdf=e.kdf,this.kdfIterations=e.kdfIterations),[3,4];case 3:if(null==(t=u.sent())||404!==t.statusCode)throw t;return[3,4];case 4:return[2,this.cryptoService.makeKey(n,l,this.kdf,this.kdfIterations)]}})})},n.prototype.logInHelper=function(n,l,e,t,c,p){return u(this,void 0,void 0,function(){var u,f,v,h,g,m,y,C,b,w;return r(this,function(r){switch(r.label){case 0:return[4,this.tokenService.getTwoFactorToken(n)];case 1:return u=r.sent(),[4,this.appIdService.getAppId()];case 2:return f=r.sent(),v=new a.DeviceRequest(f,this.platformUtilsService),h=null!=c&&null!=t?new d.TokenRequest(n,l,t,c,p,v):null!=u?new d.TokenRequest(n,l,o.TwoFactorProviderType.Remember,u,!1,v):new d.TokenRequest(n,l,null,null,!1,v),[4,this.apiService.postIdentityToken(h)];case 3:return g=r.sent(),this.clearState(),(m=new i.AuthResult).twoFactor=!g.accessToken,m.twoFactor?(y=g,this.email=n,this.masterPasswordHash=l,this.key=this.setCryptoKeys?e:null,this.twoFactorProviders=y.twoFactorProviders2,m.twoFactorProviders=y.twoFactorProviders2,[2,m]):(null!=(C=g).twoFactorToken&&this.tokenService.setTwoFactorToken(C.twoFactorToken,n),[4,this.tokenService.setTokens(C.accessToken,C.refreshToken)]);case 4:return r.sent(),[4,this.userService.setInformation(this.tokenService.getUserId(),this.tokenService.getEmail(),this.kdf,this.kdfIterations)];case 5:return r.sent(),this.setCryptoKeys?[4,this.cryptoService.setKey(e)]:[3,15];case 6:return r.sent(),[4,this.cryptoService.setKeyHash(l)];case 7:return r.sent(),[4,this.cryptoService.setEncKey(C.key)];case 8:if(r.sent(),null!=C.privateKey)return[3,13];r.label=9;case 9:return r.trys.push([9,12,,13]),[4,this.cryptoService.makeKeyPair()];case 10:return b=r.sent(),[4,this.apiService.postAccountKeys(new s.KeysRequest(b[0],b[1].encryptedString))];case 11:return r.sent(),C.privateKey=b[1].encryptedString,[3,13];case 12:return w=r.sent(),console.error(w),[3,13];case 13:return[4,this.cryptoService.setEncPrivateKey(C.privateKey)];case 14:r.sent(),r.label=15;case 15:return this.messagingService.send("loggedIn"),[2,m]}})})},n.prototype.clearState=function(){this.email=null,this.masterPasswordHash=null,this.twoFactorProviders=null,this.selectedTwoFactorProviderType=null},n}();l.AuthService=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(0),o=(e(45),e(58),e(63),e(9),function(n){function l(l,e,t,u){var o=n.call(this,l,e,t,u)||this;return o.onSearchTextChanged=new r.EventEmitter,o.searchText="",o.searchPlaceholder=null,o}return u(l,n),l.prototype.searchTextChanged=function(){this.onSearchTextChanged.emit(this.searchText)},l}(e(823).GroupingsComponent));l.GroupingsComponent=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]500?500:this.ciphers.length,e=0;e0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]4?(l=Math.floor(this.totpCode.length/2),this.totpCodeFormatted=this.totpCode.substring(0,l)+" "+this.totpCode.substring(l)):this.totpCodeFormatted=this.totpCode:(this.totpCodeFormatted=null,this.totpInterval&&window.clearInterval(this.totpInterval)),[2]}})})},l.prototype.totpTick=function(n){return r(this,void 0,void 0,function(){var l,e;return o(this,function(t){switch(t.label){case 0:return l=Math.round((new Date).getTime()/1e3),e=l%n,this.totpSec=n-e,this.totpDash=+(Math.round(78.6/n*e+"e+2")+"e-2"),this.totpLow=this.totpSec<=7,0!==e?[3,2]:[4,this.totpUpdateCode()];case 1:t.sent(),t.label=2;case 2:return[2]}})})},l}(e(828).AddEditComponent));l.AddEditComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Invited=0]="Invited",n[n.Accepted=1]="Accepted",n[n.Confirmed=2]="Confirmed"}(l.OrganizationUserStatusType||(l.OrganizationUserStatusType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Domain=0]="Domain",n[n.Host=1]="Host",n[n.StartsWith=2]="StartsWith",n[n.Exact=3]="Exact",n[n.RegularExpression=4]="RegularExpression",n[n.Never=5]="Never"}(l.UriMatchType||(l.UriMatchType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0))return[3,4];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.getFileContents(e[0])];case 2:return null!=(r=u.sent())&&(t=r),[3,4];case 3:return u.sent(),[3,4];case 4:if(null==t||""===t)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2];u.label=5;case 5:return u.trys.push([5,7,,8]),this.formPromise=this.importService.import(n,t,this.organizationId),[4,this.formPromise];case 6:return null!=(o=u.sent())?(this.error(o),[2]):(this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,8]);case 7:return u.sent(),[3,8];case 8:return[2]}})})},n.prototype.getFormatInstructionTitle=function(){var n=this;if(null==this.format)return null;var l=this.featuredImportOptions.concat(this.importOptions).filter(function(l){return l.id===n.format});return l.length>0?this.i18nService.t("instructionsFor",l[0].name):null},n.prototype.setImportOptions=function(){this.featuredImportOptions=[{id:null,name:"-- "+this.i18nService.t("select")+" --"}].concat(this.importService.featuredImportOptions),this.importOptions=this.importService.regularImportOptions},n.prototype.error=function(n){this.analytics.eventTrack.next({action:"Import Data Failed",properties:{label:this.format}}),this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),n.message)},n.prototype.getFileContents=function(n){var l=this;return new Promise(function(e,t){var u=new FileReader;u.readAsText(n,"utf-8"),u.onload=function(u){if("lastpasscsv"===l.format&&"text/html"===n.type){var r=(new DOMParser).parseFromString(u.target.result,"text/html").querySelector("pre");return null!=r?void e(r.textContent):void t()}e(u.target.result)},u.onerror=function(){t()}})},n}();l.ImportComponent=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(22),e(238),e(3),e(7);var r=function(n){function l(l,e,t,u){return n.call(this,l,e,t,u,window)||this}return u(l,n),l.prototype.saved=function(){n.prototype.saved.call(this),this.masterPassword=null,this.platformUtilsService.showToast("success",null,this.i18nService.t("exportSuccess"))},l}(e(866).ExportComponent);l.ExportComponent=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]1}),this.ciphers=e,[2]}})})},l.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},l}(e(239).CipherReportComponent);l.ReusedPasswordsReportComponent=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1?r.concat(n.login.username.substr(0,o).trim().toLowerCase().split(/[^A-Za-z0-9]/)).filter(function(n){return n.length>=3}):n.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/).filter(function(n){return n.length>=3})}var a=e.passwordGenerationService.passwordStrength(n.login.password,r.length>0?r:null);e.passwordStrengthCache.set(u,a.score)}var s=e.passwordStrengthCache.get(u);null!=s&&s<=3&&(e.passwordStrengthMap.set(n.id,e.scoreKey(s)),l.push(n))}}),this.ciphers=l,[2]}})})},l.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},l.prototype.scoreKey=function(n){switch(n){case 4:return["strong","success"];case 3:return["good","primary"];case 2:return["weak","warning"];default:return["veryWeak","danger"]}},l}(e(239).CipherReportComponent);l.WeakPasswordsReportComponent=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(l.push(n),t.exposedPasswordMap.set(n.id,e))});e.push(u)}}),[4,Promise.all(e)];case 2:return u.sent(),this.ciphers=l,[2]}})})},l.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},l}(e(239).CipherReportComponent);l.ExposedPasswordsReportComponent=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?[4,this.getAllCiphers()]:[3,6];case 4:return n=r.sent(),l=[],e=[],t=new Map,n.forEach(function(n){if(n.type===i.CipherType.Login&&(null==n.login.totp||""===n.login.totp)&&n.login.hasUris)for(var e=0;e0?[2]:[4,fetch(new Request("https://twofactorauth.org/data.json"))];case 1:if(200!==(n=o.sent()).status)throw new Error;return[4,n.json()];case 2:for(e in l=o.sent())if(l.hasOwnProperty(e))for(u in t=l[e])t.hasOwnProperty(u)&&(r=t[u]).tfa&&null!=r.url&&null!=(i=a.Utils.getHostname(r.url))&&this.services.set(i,r.doc);return[2]}})})},l}(e(239).CipherReportComponent);l.InactiveTwoFactorReportComponent=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.transform=function(n,l,e,t,u){return null==n||0===n.length?[]:null==l||l.length<2?n:(l=l.trim().toLowerCase(),n.filter(function(n){return null!=e&&null!=n[e]&&n[e].toString().toLowerCase().indexOf(l)>-1||(null!=t&&null!=n[t]&&n[t].toString().toLowerCase().indexOf(l)>-1||null!=u&&null!=n[u]&&n[u].toString().toLowerCase().indexOf(l)>-1)}))},n}();l.SearchPipe=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.id=n,this.readOnly=l}}();l.SelectionReadOnlyRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.readOnly=e.getResponseProperty("ReadOnly"),e}return u(l,n),l}(e(34).BaseResponse);l.SelectionReadOnlyResponse=r},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.NotificationsService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SettingsService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(7);var t=function(){function n(n){this.platformUtilsService=n,this.year="2015"}return n.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},n.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},n}();l.FrontendLayoutComponent=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(this.email=t.email),null!=t.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=t.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:t.org}}),[4,n.prototype.ngOnInit.call(this)];case 1:return e.sent(),null!=l&&l.unsubscribe(),[2]}})})}),[2]})})},l.prototype.goAfterLogIn=function(){return r(this,void 0,void 0,function(){var n,l;return o(this,function(e){switch(e.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return null==(n=e.sent())?[3,2]:(this.router.navigate(["accept-organization"],{queryParams:n}),[3,6]);case 2:return[4,this.stateService.get("loginRedirect")];case 3:return null==(l=e.sent())?[3,5]:(this.router.navigate([l.route],{queryParams:l.qParams}),[4,this.stateService.remove("loginRedirect")]);case 4:return e.sent(),[3,6];case 5:this.router.navigate([this.successRoute]),e.label=6;case 6:return[2]}})})},l}(e(782).LoginComponent);l.LoginComponent=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(n.email=e.email),null!=e.premium?n.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=e.org&&(n.showCreateOrgMessage=!0,n.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:e.org}})),null!=l&&l.unsubscribe()})},l}(e(802).RegisterComponent);l.RegisterComponent=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.PBKDF2_SHA256=0]="PBKDF2_SHA256"}(l.KdfType||(l.KdfType={}))},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(10),e(4),e(3),e(7);var r=function(n){function l(l,e,t,u){return n.call(this,l,e,t,u)||this}return u(l,n),l}(e(805).HintComponent);l.HintComponent=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1})];case 1:return l.sent(),this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n,this.ciphersComponent.search(200)},n.prototype.editCipherAttachments=function(n){return t(this,void 0,void 0,function(){var l,e,o,i,s,c=this;return u(this,function(d){switch(d.label){case 0:return[4,this.userService.canAccessPremium()];case 1:return l=d.sent(),null!=n.organizationId||l?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==n.organizationId?[3,4]:[4,this.userService.getOrganization(n.organizationId)];case 3:if(null!=(e=d.sent())&&(null==e.maxStorageGb||0===e.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId}),[2];d.label=4;case 4:return null!=this.modal&&this.modal.close(),o=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(o).instance,(i=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef)).cipherId=n.id,s=!1,i.onUploadedAttachment.subscribe(function(){return s=!0}),i.onDeletedAttachment.subscribe(function(){return s=!0}),i.onReuploadedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return t(c,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return s=!1,[2]}})})}),[2]}})})},n.prototype.shareCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.shareModalRef.createComponent(e).instance;var o=this.modal.show(v.ShareComponent,this.shareModalRef);o.cipherId=n.id,o.onSharedCipher.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var o=this.modal.show(p.CollectionsComponent,this.collectionsModalRef);o.cipherId=n.id,o.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addFolder=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(o){return null!=this.modal&&this.modal.close(),n=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(n).instance,(l=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,l.onSavedFolder.subscribe(function(){return t(e,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){e.modal=null}),[2]})})},n.prototype.editFolder=function(n){return t(this,void 0,void 0,function(){var l,e,o=this;return u(this,function(i){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(l).instance,(e=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=n,e.onSavedFolder.subscribe(function(){return t(o,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),e.onDeletedFolder.subscribe(function(){return t(o,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[4,this.filterFolder("none")];case 2:return n.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){o.modal=null}),[2]})})},n.prototype.addCipher=function(){var n=this,l=this.editCipher(null);if(l.type=this.type,l.folderId="none"===this.folderId?null:this.folderId,null!=this.collectionId){var e=this.groupingsComponent.collections.filter(function(l){return l.id===n.collectionId});e.length>0&&(l.organizationId=e[0].organizationId,l.collectionIds=[this.collectionId])}},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var o=this.modal.show(i.AddEditComponent,this.cipherAddEditModalRef);return o.cipherId=null==n?null:n.id,o.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),o},n.prototype.bulkDelete=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.bulkDeleteModalRef.createComponent(e).instance;var o=this.modal.show(s.BulkDeleteComponent,this.bulkDeleteModalRef);o.cipherIds=l,o.onDeleted.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkShare=function(){var n=this,l=this.ciphersComponent.getSelected();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.bulkShareModalRef.createComponent(e).instance;var o=this.modal.show(d.BulkShareComponent,this.bulkShareModalRef);o.ciphers=l,o.onShared.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkMove=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.bulkMoveModalRef.createComponent(e).instance;var o=this.modal.show(c.BulkMoveComponent,this.bulkMoveModalRef);o.cipherIds=l,o.onMoved.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.selectAll=function(n){this.ciphersComponent.selectAll(n)},n.prototype.updateKey=function(){var n=this;null!=this.modal&&this.modal.close();var l=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(l).instance,this.modal.show(o.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){n.modal=null})},n.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId}),this.router.navigate([],{relativeTo:this.route,queryParams:n,replaceUrl:!0})},n}());l.VaultComponent=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=l.id,e}return u(l,n),l}(e(194).CipherRequest);l.CipherWithIdRequest=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.name=n.name?n.name.encryptedString:null}}();l.FolderRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0)return void(this.creditAmount=parseFloat((Math.round(100*n)/100).toString()).toFixed(2).toString())}}catch(n){}this.creditAmount=""},Object.defineProperty(n.prototype,"creditAmountNumber",{get:function(){if(null!=this.creditAmount&&""!==this.creditAmount)try{return parseFloat(this.creditAmount)}catch(n){}return null},enumerable:!0,configurable:!0}),n}();l.AddCreditComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&this.viewEvents(r[0]),null!=e&&e.unsubscribe(),[2]}})})}),[2]}})})})},n.prototype.ngOnDestroy=function(){this.broadcasterService.unsubscribe("OrgVaultComponent")},n.prototype.clearGroupingFilters=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return n.sent(),this.clearFilters(),this.go(),[2]}})})},n.prototype.filterCipherType=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),e=function(l){return l.type===n},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.type=n,this.go(),[2]}})})},n.prototype.filterCollection=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),e=function(l){return"unassigned"===n?null==l.collectionIds||0===l.collectionIds.length:null!=l.collectionIds&&l.collectionIds.indexOf(n)>-1},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n,this.ciphersComponent.search(200)},n.prototype.editCipherAttachments=function(n){var l=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(e).instance;var o=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef);o.organization=this.organization,o.cipherId=n.id;var i=!1;o.onUploadedAttachment.subscribe(function(){return i=!0}),o.onDeletedAttachment.subscribe(function(){return i=!0}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,i?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return i=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var o=this.modal.show(s.CollectionsComponent,this.collectionsModalRef);this.organization.isAdmin&&(o.collectionIds=n.collectionIds,o.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),o.organization=this.organization,o.cipherId=n.id,o.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addCipher=function(){var n=this.editCipher(null);n.organizationId=this.organization.id,n.type=this.type,this.organization.isAdmin&&(n.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),null!=this.collectionId&&(n.collectionIds=[this.collectionId])},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var o=this.modal.show(i.AddEditComponent,this.cipherAddEditModalRef);return o.organization=this.organization,o.cipherId=null==n?null:n.id,o.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),o},n.prototype.viewEvents=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(r.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(o.EntityEventsComponent,this.eventsModalRef)).name=n.name,e.organizationId=this.organization.id,e.entityId=n.id,e.showUser=!0,e.entity="cipher",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.clearFilters=function(){this.collectionId=null,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={type:this.type,collectionId:this.collectionId}),this.router.navigate([],{relativeTo:this.route,queryParams:n,replaceUrl:!0})},n}());l.VaultComponent=c},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?this.events=this.events.concat(r):this.events=r,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EntityEventsComponent=r},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&this.collections.splice(l,1)},n}();l.CollectionsComponent=c},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&l.forEach(function(l){var e=n.data.filter(function(n){return n.id===l});null!=e&&e.length>0&&(e[0].checked=!0)}),[3,5];case 3:return"collection"!==this.entity?[3,5]:[4,this.apiService.getCollectionUsers(this.organizationId,this.entityId)];case 4:null!=(l=t.sent())&&n.data.length>0&&l.forEach(function(l){var e=n.data.filter(function(n){return!n.accessAll&&n.id===l.id});null!=e&&e.length>0&&(e[0].checked=!0,e[0].readOnly=l.readOnly)}),t.label=5;case 5:return this.allUsers.forEach(function(n){"collection"===e.entity&&n.accessAll&&(n.checked=!0),n.checked&&e.selectedCount++}),[2]}})})},n.prototype.check=function(n){"collection"===this.entity&&n.accessAll||(n.checked=!n.checked,this.selectedChanged(n))},n.prototype.selectedChanged=function(n){n.checked?this.selectedCount++:("collection"===this.entity&&(n.readOnly=!1),this.selectedCount--)},n.prototype.filterSelected=function(n){this.showSelected=n},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return l.trys.push([0,2,,3]),"group"===this.entity?(n=this.users.filter(function(n){return n.checked}).map(function(n){return n.id}),this.formPromise=this.apiService.putGroupUsers(this.organizationId,this.entityId,n)):(n=this.users.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),this.formPromise=this.apiService.putCollectionUsers(this.organizationId,this.entityId,n)),[4,this.formPromise];case 1:return l.sent(),this.analytics.eventTrack.next({action:"group"===this.entity?"Edited Group Users":"Edited Collection Users"}),this.toasterService.popAsync("success",null,this.i18nService.t("updatedUsers")),this.onEditedUsers.emit(),[3,3];case 2:return l.sent(),[3,3];case 3:return[2]}})})},n}();l.EntityUsersComponent=c},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?this.events=this.events.concat(r):this.events=r,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EventsComponent=r},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?n.data:[]).sort(r.Utils.getSortFunction(this.i18nService,"name")),this.groups=l,this.loading=!1,[2]}})})},n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(a.GroupAddEditComponent,this.addEditModalRef);t.organizationId=this.organizationId,t.groupId=null!=n?n.id:null,t.onSavedGroup.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedGroup.subscribe(function(){l.modal.close(),l.removeGroup(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.add=function(){this.edit(null)},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),n.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",n.name)),this.removeGroup(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.users=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.usersModalRef.createComponent(e).instance;var t=this.modal.show(i.EntityUsersComponent,this.usersModalRef);t.organizationId=this.organizationId,t.entity="group",t.entityId=n.id,t.entityName=n.name,t.onEditedUsers.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.removeGroup=function(n){var l=this.groups.indexOf(n);l>-1&&this.groups.splice(l,1)},n}();l.GroupsComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&l[0].status===i.OrganizationUserStatusType.Confirmed&&this.events(l[0]),null!=e&&e.unsubscribe(),[2]})})}),[2]}})})}),[2]})})},n.prototype.load=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return n=e.sent(),this.statusMap.clear(),this.allUsers=null!=n.data&&n.data.length>0?n.data:[],this.allUsers.sort(s.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(n){l.statusMap.has(n.status)?l.statusMap.get(n.status).push(n):l.statusMap.set(n.status,[n])}),this.filter(this.status),this.loading=!1,[2]}})})},n.prototype.filter=function(n){this.status=n,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers},Object.defineProperty(n.prototype,"invitedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Invited)?this.statusMap.get(i.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"acceptedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Accepted)?this.statusMap.get(i.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"confirmedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Confirmed)?this.statusMap.get(i.OrganizationUserStatusType.Confirmed).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"showConfirmUsers",{get:function(){return null!=this.allUsers&&null!=this.statusMap&&this.allUsers.length>1&&this.confirmedCount>0&&this.confirmedCount<3&&this.acceptedCount>0},enumerable:!0,configurable:!0}),n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(c.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(p.UserAddEditComponent,this.addEditModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedUser.subscribe(function(){l.modal.close(),l.removeUser(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.invite=function(){this.edit(null)},n.prototype.groups=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(c.ModalComponent);this.modal=this.groupsModalRef.createComponent(e).instance;var t=this.modal.show(v.UserGroupsComponent,this.groupsModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.remove=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),n.name||n.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",n.name||n.email)),this.removeUser(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.reinvite=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,n.id),[4,this.actionPromise]);case 1:return l.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.confirm=function(n){return t(this,void 0,void 0,function(){function l(l){n.status=i.OrganizationUserStatusType.Confirmed;var e=l.statusMap.get(i.OrganizationUserStatusType.Accepted).indexOf(n);e>-1&&(l.statusMap.get(i.OrganizationUserStatusType.Accepted).splice(e,1),l.statusMap.get(i.OrganizationUserStatusType.Confirmed).push(n))}var e,t,o,a=this;return u(this,function(u){switch(u.label){case 0:return null!=this.actionPromise?[2]:[4,this.storageService.get(r.ConstantsService.autoConfirmFingerprints)];case 1:return null!=(e=u.sent())&&e?(this.actionPromise=this.doConfirmation(n),[4,this.actionPromise]):(null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(c.ModalComponent),this.modal=this.groupsModalRef.createComponent(t).instance,(o=this.modal.show(f.UserConfirmComponent,this.confirmModalRef)).name=null!=n?n.name||n.email:null,o.organizationId=this.organizationId,o.organizationUserId=null!=n?n.id:null,o.userId=null!=n?n.userId:null,o.onConfirmedUser.subscribe(function(){a.modal.close(),l(a)}),this.modal.onClosed.subscribe(function(){a.modal=null}),[2]);case 2:return u.sent(),l(this),this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.events=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(c.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=n.name||n.email,e.organizationId=this.organizationId,e.entityId=n.id,e.showUser=!1,e.entity="user",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.doConfirmation=function(n){return t(this,void 0,void 0,function(){var l,e,t,r,i,a,c,d;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return l=u.sent(),[4,this.apiService.getUserPublicKey(n.userId)];case 2:e=u.sent(),t=s.Utils.fromB64ToArray(e.publicKey),u.label=3;case 3:return u.trys.push([3,5,,6]),i=(r=console).log,a="User's fingerprint: ",[4,this.cryptoService.getFingerprint(n.userId,t.buffer)];case 4:return i.apply(r,[a+u.sent().join("-")]),[3,6];case 5:return u.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(l.key,t.buffer)];case 7:return c=u.sent(),(d=new o.OrganizationUserConfirmRequest).key=c.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,n.id,d)];case 8:return u.sent(),[2]}})})},n.prototype.removeUser=function(n){var l=this.users.indexOf(n);l>-1&&this.users.splice(l,1),this.statusMap.has(i.OrganizationUserStatusType.Accepted)&&(l=this.statusMap.get(i.OrganizationUserStatusType.Accepted).indexOf(n))>-1&&this.statusMap.get(i.OrganizationUserStatusType.Accepted).splice(l,1),this.statusMap.has(i.OrganizationUserStatusType.Invited)&&(l=this.statusMap.get(i.OrganizationUserStatusType.Invited).indexOf(n))>-1&&this.statusMap.get(i.OrganizationUserStatusType.Invited).splice(l,1),this.statusMap.has(i.OrganizationUserStatusType.Confirmed)&&(l=this.statusMap.get(i.OrganizationUserStatusType.Confirmed).indexOf(n))>-1&&this.statusMap.get(i.OrganizationUserStatusType.Confirmed).splice(l,1)},n}();l.PeopleComponent=h},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]"}),e.body=t,e.bodyOutputType=i.BodyOutputType.TrustedHtml}null!=n.options&&(!0===n.options.trustedHtml&&(e.bodyOutputType=i.BodyOutputType.TrustedHtml),null!=n.options.timeout&&n.options.timeout>0&&(e.timeout=n.options.timeout)),this.toasterService.popAsync(e)},n.prototype.idleStateChanged=function(){this.isIdle?this.notificationsService.disconnectFromInactivity():this.notificationsService.reconnectFromActivity()},n}();l.AppComponent=p},,,,function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(10),e(98),e(3),e(7);var r=function(n){function l(l,e,t,u){return n.call(this,l,e,t,u,window)||this}return u(l,n),l}(e(793).TwoFactorOptionsComponent);l.TwoFactorOptionsComponent=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l,e){var t=n.call(this)||this;return t.masterPasswordHash=e,t.email=l,t}return u(l,n),l}(e(70).PasswordVerificationRequest);l.TwoFactorEmailRequest=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.publicKey=n,this.encryptedPrivateKey=l}}();l.KeysRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(454),o=e(3),i=t.ɵcrt({encapsulation:2,styles:[],data:{}});function a(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "]))],null,function(n,l){n(l,1,0,l.component.text)})}function s(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["role","progressbar"]],[[8,"className",0],[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(3,278528,null,0,u.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(4,{width:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,a)),t.ɵdid(7,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,t=n(l,4,0,e.scoreWidth+"%");n(l,3,0,t),n(l,7,0,e.showText&&e.text)},function(n,l){var e=l.component;n(l,2,0,t.ɵinlineInterpolate(1,"progress-bar ",e.color,""),t.ɵinlineInterpolate(1,"",e.scoreWidth,""))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-strength",[],null,null,null,s,i)),t.ɵdid(1,573440,null,0,r.PasswordStrengthComponent,[o.I18nService],null,null)],null,null)}l.RenderType_PasswordStrengthComponent=i,l.View_PasswordStrengthComponent_0=s,l.View_PasswordStrengthComponent_Host_0=c;var d=t.ɵccf("app-password-strength",r.PasswordStrengthComponent,c,{score:"score",showText:"showText"},{},[]);l.PasswordStrengthComponentNgFactory=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(103),r=e(170),o=e(145),i=e(43),a=e(107),s=e(35),c=e(8),d=e(3),p=e(5),f=e(10),v=e(465),h=e(20),g=e(7),m=e(73),y=t.ɵcrt({encapsulation:2,styles:[],data:{}});function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["appStopProp",""],["class","dropdown-item-text d-flex align-items-center"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"app-avatar",[["fontSize","14"],["size","25"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(4,638976,null,0,o.AvatarComponent,[i.DomSanitizer,a.CryptoFunctionService,s.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"div",[["class","ml-2 overflow-hidden"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.name,e.email,"25","14",!0)},function(n,l){var e=l.component,u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"loggedInAs"));n(l,9,0,u),n(l,13,0,e.name)})}function b(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[d.I18nService]),(n()(),t.ɵeld(1,0,null,null,104,"nav",[["class","navbar navbar-expand navbar-dark bg-primary"]],null,null,null,null,null)),t.ɵdid(2,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(3,{"bg-secondary-alt":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,99,"div",[["class","container"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"a",[["class","navbar-brand"],["routerLink","/"]],[[8,"title",0],[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,8).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(8,671744,null,0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵppd(9,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,0,"i",[["class","fa fa-shield"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,37,"div",[["class","collapse navbar-collapse"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,34,"ul",[["class","navbar-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,9,"li",[["class","nav-item"],["routerLinkActive","active"]],null,null,null,null,null)),t.ɵdid(19,1720320,null,2,f.RouterLinkActive,[f.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"a",[["class","nav-link"],["routerLink","/vault"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[2,4]],0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,9,"li",[["class","nav-item"],["routerLinkActive","active"]],null,null,null,null,null)),t.ɵdid(30,1720320,null,2,f.RouterLinkActive,[f.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,3,"a",[["class","nav-link"],["routerLink","/tools"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,35).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(35,671744,[[4,4]],0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,9,"li",[["class","nav-item"],["routerLinkActive","active"]],null,null,null,null,null)),t.ɵdid(41,1720320,null,2,f.RouterLinkActive,[f.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,3,"a",[["class","nav-link"],["routerLink","/settings"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(46,671744,[[6,4]],0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,50,"ul",[["class","navbar-nav flex-row ml-md-auto d-none d-md-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,47,"li",[["class","nav-item dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,3,"a",[["aria-expanded","false"],["aria-haspopup","true"],["class","nav-item nav-link dropdown-toggle"],["data-toggle","dropdown"],["href","#"],["id","nav-profile"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,0,"i",[["class","fa fa-user-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,39,"div",[["aria-labelledby","nav-profile"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(65,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,0,"div",[["class","dropdown-divider"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,5,"a",[["class","dropdown-item"],["href","#"],["routerLink","/settings/account"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,70).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(70,671744,null,0,f.RouterLinkWithHref,[f.Router,f.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa fa-fw fa-user"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["\n ","\n "])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,4,"a",[["class","dropdown-item"],["href","https://help.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,0,"i",[["class","fa fa-fw fa-question-circle"]],null,null,null,null,null)),(n()(),t.ɵted(79,null,["\n ","\n "])),t.ɵppd(80,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,4,"a",[["class","dropdown-item"],["href","https://bitwarden.com#download"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa fa-fw fa-download"]],null,null,null,null,null)),(n()(),t.ɵted(85,null,["\n ","\n "])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,0,"div",[["class","dropdown-divider"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,4,"button",[["class","dropdown-item"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.lock()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,0,null,null,0,"i",[["class","fa fa-fw fa-lock"]],null,null,null,null,null)),(n()(),t.ɵted(93,null,["\n ","\n "])),t.ɵppd(94,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(96,0,null,null,4,"button",[["class","dropdown-item"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.logOut()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(98,0,null,null,0,"i",[["class","fa fa-fw fa-sign-out"]],null,null,null,null,null)),(n()(),t.ɵted(99,null,["\n ","\n "])),t.ɵppd(100,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,t=n(l,3,0,e.selfHosted);n(l,2,0,"navbar navbar-expand navbar-dark bg-primary",t);n(l,8,0,"/");n(l,19,0,"active");n(l,24,0,"/vault");n(l,30,0,"active");n(l,35,0,"/tools");n(l,41,0,"active");n(l,46,0,"/settings"),n(l,65,0,e.name);n(l,70,0,"/settings/account")},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,7,0,n(l,9,0,t.ɵnov(l,0),"pageTitle","Bitwarden")),"");n(l,7,0,e,t.ɵnov(l,8).target,t.ɵnov(l,8).href),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href);var u=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"myVault"));n(l,25,0,u),n(l,34,0,t.ɵnov(l,35).target,t.ɵnov(l,35).href);var r=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"tools"));n(l,36,0,r),n(l,45,0,t.ɵnov(l,46).target,t.ɵnov(l,46).href);var o=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l,0),"settings"));n(l,47,0,o),n(l,69,0,t.ɵnov(l,70).target,t.ɵnov(l,70).href);var i=t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"myAccount"));n(l,73,0,i);var a=t.ɵunv(l,79,0,n(l,80,0,t.ɵnov(l,0),"getHelp"));n(l,79,0,a);var s=t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"getApps"));n(l,85,0,s);var c=t.ɵunv(l,93,0,n(l,94,0,t.ɵnov(l,0),"lockNow"));n(l,93,0,c);var d=t.ɵunv(l,99,0,n(l,100,0,t.ɵnov(l,0),"logOut"));n(l,99,0,d)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-navbar",[],null,null,null,b,y)),t.ɵdid(1,114688,null,0,v.NavbarComponent,[h.MessagingService,g.PlatformUtilsService,m.TokenService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_NavbarComponent=y,l.View_NavbarComponent_0=b,l.View_NavbarComponent_Host_0=w;var S=t.ɵccf("app-navbar",v.NavbarComponent,w,{},{},[]);l.NavbarComponentNgFactory=S},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(466),i=e(7),a=t.ɵcrt({encapsulation:2,styles:[],data:{}});function s(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,13,"div",[["class","container footer text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,10,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"div",[["class","col"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n © ",", 8bit Solutions LLC\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"div",[["class","col text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"div",[["class","col text-right"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=l.component;n(l,6,0,e.year);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"versionNumber",e.version));n(l,11,0,u)})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-footer",[],null,null,null,s,a)),t.ɵdid(1,114688,null,0,o.FooterComponent,[i.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_FooterComponent=a,l.View_FooterComponent_0=s,l.View_FooterComponent_Host_0=c;var d=t.ɵccf("app-footer",o.FooterComponent,c,{},{},[]);l.FooterComponentNgFactory=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:n=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;(n?this.collections:this.writeableCollections).forEach(function(e){return l.check(e,n)})},Object.defineProperty(n.prototype,"canSave",{get:function(){if(null!=this.shareableCiphers&&this.shareableCiphers.length>0&&null!=this.collections)for(var n=0;n0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(n=n.concat(this.email.substr(0,l).trim().toLowerCase().split(/[^A-Za-z0-9]/))),n},n.prototype.updateKey=function(n,l){return t(this,void 0,void 0,function(){var e,t,i,s,c,d,p,f,v;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.makeEncKey(n)];case 1:return e=u.sent(),[4,this.cryptoService.getPrivateKey()];case 2:return t=u.sent(),i=null,null==t?[3,4]:[4,this.cryptoService.encrypt(t,e[0])];case 3:i=u.sent(),u.label=4;case 4:return(s=new a.UpdateKeyRequest).privateKey=null!=i?i.encryptedString:null,s.key=e[1].encryptedString,s.masterPasswordHash=l,[4,this.folderService.getAllDecrypted()];case 5:c=u.sent(),f=0,u.label=6;case 6:return f0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),n.print(),n.close()},n.prototype.formatString=function(n){return null==n?null:n.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},n.prototype.processResponse=function(n){this.code=this.formatString(n.code)},n}();l.TwoFactorRecoveryComponent=u},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0)return e.keysConfiguredCount++,e.keys.push({id:l,name:t[0].name,configured:!0,compromised:t[0].compromised,removePromise:null}),"continue"}e.keys.push({id:l,name:null,configured:!1,compromised:!1,removePromise:null}),null==e.keyIdAvailable&&(e.keyIdAvailable=l)},e=this,t=1;t<=5;t++)l(t);this.enabled=n.enabled},l}(e(236).TwoFactorBaseComponent);l.TwoFactorU2fComponent=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?this.keys[0].key:null,e.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,e.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,e.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,e.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,e.nfc=this.nfc,n.prototype.enable.call(this,function(){return r(l,void 0,void 0,function(){var n;return o(this,function(l){switch(l.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(e),[4,this.formPromise];case 1:return n=l.sent(),[4,this.processResponse(n)];case 2:return l.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},l.prototype.disable=function(){return n.prototype.disable.call(this,this.disablePromise)},l.prototype.remove=function(n){n.existingKey=null,n.key=null},l.prototype.processResponse=function(n){this.enabled=n.enabled,this.keys=[{key:n.key1,existingKey:this.padRight(n.key1)},{key:n.key2,existingKey:this.padRight(n.key2)},{key:n.key3,existingKey:this.padRight(n.key3)},{key:n.key4,existingKey:this.padRight(n.key4)},{key:n.key5,existingKey:this.padRight(n.key5)}],this.nfc=n.nfc||!n.enabled},l.prototype.padRight=function(n,l,e){if(void 0===l&&(l="•"),void 0===e&&(e=44),null==n||null==l||n.length>=e)return n;for(var t=(e-n.length)/l.length,u=0;u":t=">",u=!0;break;case" ":t=" ",u=!0}var r="letter";u||t.match(/[^\w ]/)?r="special":t.match(/\d/)&&(r="number"),l+=''+t+""}return l},n}();l.ColorPasswordPipe=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(7);var t=function(){function n(n,l){this.el=n,this.platformUtilsService=l}return n.prototype.onCopy=function(){if(null!=window){for(var n="",l=window.getSelection(),e=0;e0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(n.uris=[],this.uris.forEach(function(l){n.uris.push(l.toLoginUriData())})),n},l}(e(110).default);l.Login=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(589),o=e(235),i=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.match=l.match,t.buildDomainModel(t,l,{uri:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new o.LoginUriView(this),{uri:null},n)},l.prototype.toLoginUriData=function(){var n=new r.LoginUriData;return this.buildDataModel(this,n,{uri:null},["match"]),n},l}(e(110).default);l.LoginUri=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&t.groups.forEach(function(n){var l=i.groups.filter(function(l){return!l.accessAll&&l.id===n.id});null!=l&&l.length>0&&(l[0].checked=!0,l[0].readOnly=n.readOnly)}),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.title=this.i18nService.t("addCollection"),u.label=11;case 11:return this.groups.forEach(function(n){n.accessAll&&(n.checked=!0)}),this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.accessAll||(n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1))},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:if(null==this.orgKey)throw new Error("No encryption key for this organization.");return n=new i.CollectionRequest,l=n,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:l.name=e.sent().encryptedString,n.externalId=this.externalId,n.groups=this.groups.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),e.label=2;case 2:return e.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,n):this.formPromise=this.apiService.postCollection(this.organizationId,n),[4,this.formPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.CollectionAddEditComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.groups=[],null!=n&&(this.name=n.name?n.name.encryptedString:null,this.externalId=n.externalId)}}();l.CollectionRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new i.Collection(new o.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new a.GroupRequest).name=this.name,n.externalId=this.externalId,n.accessAll="all"===this.access,n.accessAll||(n.collections=this.collections.filter(function(n){return n.checked}).map(function(n){return new s.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),l.label=1;case 1:return l.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,n):this.formPromise=this.apiService.postGroup(this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.GroupAddEditComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserConfirmRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new i.Collection(new o.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(n){return n.checked}).map(function(n){return new c.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),e.label=1;case 1:return e.trys.push([1,3,,4]),this.editMode?((l=new s.OrganizationUserUpdateRequest).accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,l)):((l=new a.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),l.accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,l)),[4,this.formPromise];case 2:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.UserAddEditComponent=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(l[0].checked=!0)}),[3,5];case 4:return u.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new o.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n}();l.UserGroupsComponent=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0){var e=this.formEls[0];if("input"===e.tagName.toLowerCase()){var t=e;if(null!=t.type&&"checkbox"===t.type.toLowerCase())return void t.click()}e.focus()}},n}();l.BoxRowDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(12);var t=function(){function n(n,l){this.elementRef=n,this.renderer=l,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(n){}}return n.prototype.onHostChange=function(n){this.propagateChange(n.target.checked?this.trueValue:this.falseValue)},n.prototype.writeValue=function(n){n===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},n.prototype.registerOnChange=function(n){this.propagateChange=n},n.prototype.registerOnTouched=function(n){},n.prototype.setDisabledState=function(n){},n}();l.TrueFalseValueDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1?[4,l.json()]:[3,3];case 2:e=u.sent(),u.label=3;case 3:return null==e?[3,6]:200!==l.status?[3,4]:[2,new g.IdentityTokenResponse(e)];case 4:return 400===l.status&&e.TwoFactorProviders2&&Object.keys(e.TwoFactorProviders2).length?[4,this.tokenService.clearTwoFactorToken(n.email)]:[3,6];case 5:return u.sent(),[2,new m.IdentityTwoFactorResponse(e)];case 6:return[2,Promise.reject(new p.ErrorResponse(e,l.status,!0))]}})})},n.prototype.refreshIdentityToken=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.doRefreshToken()];case 1:return n.sent(),[3,3];case 2:return n.sent(),[2,Promise.reject(null)];case 3:return[2]}})})},n.prototype.getProfile=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/profile",null,!0,!0)];case 1:return n=l.sent(),[2,new _.ProfileResponse(n)]}})})},n.prototype.getUserBilling=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/billing",null,!0,!0)];case 1:return n=l.sent(),[2,new i.BillingResponse(n)]}})})},n.prototype.getUserSubscription=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/subscription",null,!0,!0)];case 1:return n=l.sent(),[2,new R.SubscriptionResponse(n)]}})})},n.prototype.putProfile=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/accounts/profile",n,!0,!0)];case 1:return l=e.sent(),[2,new _.ProfileResponse(l)]}})})},n.prototype.postPrelogin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/accounts/prelogin",n,!1,!0)];case 1:return l=e.sent(),[2,new S.PreloginResponse(l)]}})})},n.prototype.postEmailToken=function(n){return this.send("POST","/accounts/email-token",n,!0,!1)},n.prototype.postEmail=function(n){return this.send("POST","/accounts/email",n,!0,!1)},n.prototype.postPassword=function(n){return this.send("POST","/accounts/password",n,!0,!1)},n.prototype.postSecurityStamp=function(n){return this.send("POST","/accounts/security-stamp",n,!0,!1)},n.prototype.deleteAccount=function(n){return this.send("DELETE","/accounts",n,!0,!1)},n.prototype.getAccountRevisionDate=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.send("GET","/accounts/revision-date",null,!0,!0)];case 1:return[2,n.sent()]}})})},n.prototype.postPasswordHint=function(n){return this.send("POST","/accounts/password-hint",n,!1,!1)},n.prototype.postRegister=function(n){return this.send("POST","/accounts/register",n,!1,!1)},n.prototype.postPremium=function(n){return this.send("POST","/accounts/premium",n,!0,!1)},n.prototype.postReinstatePremium=function(){return this.send("POST","/accounts/reinstate-premium",null,!0,!1)},n.prototype.postCancelPremium=function(){return this.send("POST","/accounts/cancel-premium",null,!0,!1)},n.prototype.postAccountStorage=function(n){return this.send("POST","/accounts/storage",n,!0,!1)},n.prototype.postAccountPayment=function(n){return this.send("POST","/accounts/payment",n,!0,!1)},n.prototype.postAccountLicense=function(n){return this.send("POST","/accounts/license",n,!0,!1)},n.prototype.postAccountKeys=function(n){return this.send("POST","/accounts/keys",n,!0,!1)},n.prototype.postAccountKey=function(n){return this.send("POST","/accounts/key",n,!0,!1)},n.prototype.postAccountVerifyEmail=function(){return this.send("POST","/accounts/verify-email",null,!0,!1)},n.prototype.postAccountVerifyEmailToken=function(n){return this.send("POST","/accounts/verify-email-token",n,!1,!1)},n.prototype.postAccountRecoverDelete=function(n){return this.send("POST","/accounts/delete-recover",n,!1,!1)},n.prototype.postAccountRecoverDeleteToken=function(n){return this.send("POST","/accounts/delete-recover-token",n,!1,!1)},n.prototype.postAccountKdf=function(n){return this.send("POST","/accounts/kdf",n,!0,!1)},n.prototype.getFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/folders/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new v.FolderResponse(l)]}})})},n.prototype.postFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/folders",n,!0,!0)];case 1:return l=e.sent(),[2,new v.FolderResponse(l)]}})})},n.prototype.putFolder=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/folders/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new v.FolderResponse(e)]}})})},n.prototype.deleteFolder=function(n){return this.send("DELETE","/folders/"+n,null,!0,!1)},n.prototype.getCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new s.CipherResponse(l)]}})})},n.prototype.getCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n+"/admin",null,!0,!0)];case 1:return l=e.sent(),[2,new s.CipherResponse(l)]}})})},n.prototype.getCiphersOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/organization-details?organizationId="+n,null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,s.CipherResponse)]}})})},n.prototype.postCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers",n,!0,!0)];case 1:return l=e.sent(),[2,new s.CipherResponse(l)]}})})},n.prototype.postCipherCreate=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/create",n,!0,!0)];case 1:return l=e.sent(),[2,new s.CipherResponse(l)]}})})},n.prototype.postCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/admin",n,!0,!0)];case 1:return l=e.sent(),[2,new s.CipherResponse(l)]}})})},n.prototype.putCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new s.CipherResponse(e)]}})})},n.prototype.putCipherAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/admin",l,!0,!0)];case 1:return e=t.sent(),[2,new s.CipherResponse(e)]}})})},n.prototype.deleteCipher=function(n){return this.send("DELETE","/ciphers/"+n,null,!0,!1)},n.prototype.deleteCipherAdmin=function(n){return this.send("DELETE","/ciphers/"+n+"/admin",null,!0,!1)},n.prototype.deleteManyCiphers=function(n){return this.send("DELETE","/ciphers",n,!0,!1)},n.prototype.putMoveCiphers=function(n){return this.send("PUT","/ciphers/move",n,!0,!1)},n.prototype.putShareCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/share",l,!0,!0)];case 1:return e=t.sent(),[2,new s.CipherResponse(e)]}})})},n.prototype.putShareCiphers=function(n){return this.send("PUT","/ciphers/share",n,!0,!1)},n.prototype.putCipherCollections=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections",l,!0,!1)},n.prototype.putCipherCollectionsAdmin=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections-admin",l,!0,!1)},n.prototype.postPurgeCiphers=function(n,l){void 0===l&&(l=null);var e="/ciphers/purge";return null!=l&&(e+="?organizationId="+l),this.send("POST",e,n,!0,!1)},n.prototype.postImportCiphers=function(n){return this.send("POST","/ciphers/import",n,!0,!1)},n.prototype.postImportOrganizationCiphers=function(n,l){return this.send("POST","/ciphers/import-organization?organizationId="+n,l,!0,!1)},n.prototype.postCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment",l,!0,!0)];case 1:return e=t.sent(),[2,new s.CipherResponse(e)]}})})},n.prototype.postCipherAttachmentAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment-admin",l,!0,!0)];case 1:return e=t.sent(),[2,new s.CipherResponse(e)]}})})},n.prototype.deleteCipherAttachment=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l,null,!0,!1)},n.prototype.deleteCipherAttachmentAdmin=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l+"/admin",null,!0,!1)},n.prototype.postShareCipherAttachment=function(n,l,e,t){return this.send("POST","/ciphers/"+n+"/attachment/"+l+"/share?organizationId="+t,e,!0,!1)},n.prototype.getCollectionDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new c.CollectionGroupDetailsResponse(e)]}})})},n.prototype.getUserCollections=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/collections",null,!0,!0)];case 1:return n=l.sent(),[2,new y.ListResponse(n,c.CollectionResponse)]}})})},n.prototype.getCollections=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,c.CollectionResponse)]}})})},n.prototype.getCollectionUsers=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/users",null,!0,!0)];case 1:return[2,e.sent().map(function(n){return new I.SelectionReadOnlyResponse(n)})]}})})},n.prototype.postCollection=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/collections",l,!0,!0)];case 1:return e=t.sent(),[2,new c.CollectionResponse(e)]}})})},n.prototype.putCollection=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new c.CollectionResponse(t)]}})})},n.prototype.putCollectionUsers=function(n,l,e){return t(this,void 0,void 0,function(){return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l+"/users",e,!0,!1)];case 1:return t.sent(),[2]}})})},n.prototype.deleteCollection=function(n,l){return this.send("DELETE","/organizations/"+n+"/collections/"+l,null,!0,!1)},n.prototype.deleteCollectionUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/collections/"+l+"/user/"+e,null,!0,!1)},n.prototype.getGroupDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new h.GroupDetailsResponse(e)]}})})},n.prototype.getGroups=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,h.GroupResponse)]}})})},n.prototype.getGroupUsers=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/users",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.postGroup=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/groups",l,!0,!0)];case 1:return e=t.sent(),[2,new h.GroupResponse(e)]}})})},n.prototype.putGroup=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new h.GroupResponse(t)]}})})},n.prototype.putGroupUsers=function(n,l,e){return t(this,void 0,void 0,function(){return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l+"/users",e,!0,!1)];case 1:return t.sent(),[2]}})})},n.prototype.deleteGroup=function(n,l){return this.send("DELETE","/organizations/"+n+"/groups/"+l,null,!0,!1)},n.prototype.deleteGroupUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/groups/"+l+"/user/"+e,null,!0,!1)},n.prototype.getOrganizationUser=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l,null,!0,!0)];case 1:return e=t.sent(),[2,new w.OrganizationUserDetailsResponse(e)]}})})},n.prototype.getOrganizationUserGroups=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l+"/groups",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.getOrganizationUsers=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,w.OrganizationUserUserDetailsResponse)]}})})},n.prototype.postOrganizationUserInvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/invite",l,!0,!1)},n.prototype.postOrganizationUserReinvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/"+l+"/reinvite",null,!0,!1)},n.prototype.postOrganizationUserAccept=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/accept",e,!0,!1)},n.prototype.postOrganizationUserConfirm=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/confirm",e,!0,!1)},n.prototype.putOrganizationUser=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l,e,!0,!1)},n.prototype.putOrganizationUserGroups=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l+"/groups",e,!0,!1)},n.prototype.deleteOrganizationUser=function(n,l){return this.send("DELETE","/organizations/"+n+"/users/"+l,null,!0,!1)},n.prototype.getSync=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=this.isDesktopClient||this.isWebClient?"/sync?excludeDomains=true":"/sync",[4,this.send("GET",n,null,!0,!0)];case 1:return l=e.sent(),[2,new k.SyncResponse(l)]}})})},n.prototype.postImportDirectory=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/import",l,!0,!1)]})})},n.prototype.getSettingsDomains=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/settings/domains",null,!0,!0)];case 1:return n=l.sent(),[2,new d.DomainsResponse(n)]}})})},n.prototype.putSettingsDomains=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/settings/domains",n,!0,!0)];case 1:return l=e.sent(),[2,new d.DomainsResponse(l)]}})})},n.prototype.getTwoFactorProviders=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/two-factor",null,!0,!0)];case 1:return n=l.sent(),[2,new y.ListResponse(n,T.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorOrganizationProviders=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/two-factor",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,T.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.getTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-email",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorEmailResponse(l)]}})})},n.prototype.getTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-duo",n,!0,!0)];case 1:return l=e.sent(),[2,new P.TwoFactorDuoResponse(l)]}})})},n.prototype.getTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/two-factor/get-duo",l,!0,!0)];case 1:return e=t.sent(),[2,new P.TwoFactorDuoResponse(e)]}})})},n.prototype.getTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new V.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.getTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorU2fResponse(l)]}})})},n.prototype.getTwoFactorU2fChallenge=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f-challenge",n,!0,!0)];case 1:return l=e.sent(),[2,new E.ChallengeResponse(l)]}})})},n.prototype.getTwoFactorRecover=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-recover",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorRecoverResponse(l)]}})})},n.prototype.putTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.putTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/email",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorEmailResponse(l)]}})})},n.prototype.putTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/duo",n,!0,!0)];case 1:return l=e.sent(),[2,new P.TwoFactorDuoResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/duo",l,!0,!0)];case 1:return e=t.sent(),[2,new P.TwoFactorDuoResponse(e)]}})})},n.prototype.putTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new V.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.putTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorU2fResponse(l)]}})})},n.prototype.deleteTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("DELETE","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorU2fResponse(l)]}})})},n.prototype.putTwoFactorDisable=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/disable",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorProviderResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDisable=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/disable",l,!0,!0)];case 1:return e=t.sent(),[2,new T.TwoFactorProviderResponse(e)]}})})},n.prototype.postTwoFactorRecover=function(n){return this.send("POST","/two-factor/recover",n,!1,!1)},n.prototype.postTwoFactorEmailSetup=function(n){return this.send("POST","/two-factor/send-email",n,!0,!1)},n.prototype.postTwoFactorEmail=function(n){return this.send("POST","/two-factor/send-email-login",n,!1,!1)},n.prototype.getOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationResponse(l)]}})})},n.prototype.getOrganizationBilling=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/billing",null,!0,!0)];case 1:return l=e.sent(),[2,new i.BillingResponse(l)]}})})},n.prototype.getOrganizationSubscription=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/subscription",null,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationSubscriptionResponse(l)]}})})},n.prototype.getOrganizationLicense=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("GET","/organizations/"+n+"/license?installationId="+l,null,!0,!0)]})})},n.prototype.postOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations",n,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationResponse(l)]}})})},n.prototype.putOrganization=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new C.OrganizationResponse(e)]}})})},n.prototype.postLeaveOrganization=function(n){return this.send("POST","/organizations/"+n+"/leave",null,!0,!1)},n.prototype.postOrganizationLicense=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations/license",n,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationResponse(l)]}})})},n.prototype.postOrganizationLicenseUpdate=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/license",l,!0,!1)]})})},n.prototype.postOrganizationApiKey=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/api-key",l,!0,!0)];case 1:return e=t.sent(),[2,new o.ApiKeyResponse(e)]}})})},n.prototype.postOrganizationRotateApiKey=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/rotate-api-key",l,!0,!0)];case 1:return e=t.sent(),[2,new o.ApiKeyResponse(e)]}})})},n.prototype.postOrganizationSeat=function(n,l){return this.send("POST","/organizations/"+n+"/seat",l,!0,!1)},n.prototype.postOrganizationStorage=function(n,l){return this.send("POST","/organizations/"+n+"/storage",l,!0,!1)},n.prototype.postOrganizationPayment=function(n,l){return this.send("POST","/organizations/"+n+"/payment",l,!0,!1)},n.prototype.postOrganizationVerifyBank=function(n,l){return this.send("POST","/organizations/"+n+"/verify-bank",l,!0,!1)},n.prototype.postOrganizationCancel=function(n){return this.send("POST","/organizations/"+n+"/cancel",null,!0,!1)},n.prototype.postOrganizationReinstate=function(n){return this.send("POST","/organizations/"+n+"/reinstate",null,!0,!1)},n.prototype.deleteOrganization=function(n,l){return this.send("DELETE","/organizations/"+n,l,!0,!1)},n.prototype.getEvents=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/events",n,l,e),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,f.EventResponse)]}})})},n.prototype.getEventsCipher=function(n,l,e,r){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/ciphers/"+n+"/events",l,e,r),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,f.EventResponse)]}})})},n.prototype.getEventsOrganization=function(n,l,e,r){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/events",l,e,r),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,f.EventResponse)]}})})},n.prototype.getEventsOrganizationUser=function(n,l,e,r,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/users/"+l+"/events",e,r,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,f.EventResponse)]}})})},n.prototype.getUserPublicKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/users/"+n+"/public-key",null,!0,!0)];case 1:return l=e.sent(),[2,new x.UserKeyResponse(l)]}})})},n.prototype.getHibpBreach=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/hibp/breach?username="+n,null,!0,!0)];case 1:return[2,l.sent().map(function(n){return new a.BreachAccountResponse(n)})]}})})},n.prototype.postBitPayInvoice=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.send("POST","/bitpay-invoice",n,!0,!0)];case 1:return[2,l.sent()]}})})},n.prototype.getActiveBearerToken=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.tokenService.getToken()];case 1:return n=e.sent(),this.tokenService.tokenNeedsRefresh()?[4,this.doRefreshToken()]:[3,3];case 2:l=e.sent(),n=l.accessToken,e.label=3;case 3:return[2,n]}})})},n.prototype.fetch=function(n){return"GET"===n.method&&(n.headers.set("Cache-Control","no-cache"),n.headers.set("Pragma","no-cache")),fetch(n)},n.prototype.send=function(n,l,e,r,o){return t(this,void 0,void 0,function(){var t,i,a,s,c;return u(this,function(u){switch(u.label){case 0:return t=new Headers({"Device-Type":this.deviceType}),i={cache:"no-cache",credentials:this.getCredentials(),method:n},r?[4,this.getActiveBearerToken()]:[3,2];case 1:a=u.sent(),t.set("Authorization","Bearer "+a),u.label=2;case 2:return null!=e&&("string"==typeof e?(i.body=e,t.set("Content-Type","application/x-www-form-urlencoded; charset=utf-8")):"object"==typeof e&&(e instanceof FormData?i.body=e:(t.set("Content-Type","application/json; charset=utf-8"),i.body=JSON.stringify(e)))),o&&t.set("Accept","application/json"),i.headers=t,[4,this.fetch(new Request(this.apiBaseUrl+l,i))];case 3:return s=u.sent(),o&&200===s.status?[4,s.json()]:[3,5];case 4:return[2,u.sent()];case 5:return 200===s.status?[3,7]:[4,this.handleError(s,!1)];case 6:return c=u.sent(),[2,Promise.reject(c)];case 7:return[2]}})})},n.prototype.handleError=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return l&&400===n.status||401===n.status||403===n.status?[4,this.logoutCallback(!0)]:[3,2];case 1:return u.sent(),[2,null];case 2:return e=null,null!=(t=n.headers.get("content-type"))&&t.indexOf("application/json")>-1?[4,n.json()]:[3,4];case 3:e=u.sent(),u.label=4;case 4:return[2,new p.ErrorResponse(e,n.status,l)]}})})},n.prototype.doRefreshToken=function(){return t(this,void 0,void 0,function(){var n,l,e,t,r,o;return u(this,function(u){switch(u.label){case 0:return[4,this.tokenService.getRefreshToken()];case 1:if(null==(n=u.sent())||""===n)throw new Error;return l=this.tokenService.decodeToken(),[4,this.fetch(new Request(this.identityBaseUrl+"/connect/token",{body:this.qsStringify({grant_type:"refresh_token",client_id:l.client_id,refresh_token:n}),cache:"no-cache",credentials:this.getCredentials(),headers:new Headers({"Content-Type":"application/x-www-form-urlencoded; charset=utf-8",Accept:"application/json","Device-Type":this.deviceType}),method:"POST"}))];case 2:return 200!==(e=u.sent()).status?[3,5]:[4,e.json()];case 3:return t=u.sent(),r=new g.IdentityTokenResponse(t),[4,this.tokenService.setTokens(r.accessToken,r.refreshToken)];case 4:return u.sent(),[2,r];case 5:return[4,this.handleError(e,!0)];case 6:return o=u.sent(),[2,Promise.reject(o)]}})})},n.prototype.qsStringify=function(n){return Object.keys(n).map(function(l){return encodeURIComponent(l)+"="+encodeURIComponent(n[l])}).join("&")},n.prototype.getCredentials=function(){if(!this.isWebClient||this.usingBaseUrl)return"include"},n.prototype.addEventParameters=function(n,l,e,t){return null!=l&&(n+="?start="+l),null!=e&&(n+=n.indexOf("?")>-1?"&":"?",n+="end="+e),null!=t&&(n+=n.indexOf("?")>-1?"&":"?",n+="continuationToken="+t),n},n}();l.ApiService=M},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(950),o=e(34),i=e(951),a=e(549),s=e(550),c=e(551),d=e(552),p=e(554),f=function(n){function l(l){var e=n.call(this,l)||this;e.id=e.getResponseProperty("Id"),e.organizationId=e.getResponseProperty("OrganizationId"),e.folderId=e.getResponseProperty("FolderId")||null,e.type=e.getResponseProperty("Type"),e.name=e.getResponseProperty("Name"),e.notes=e.getResponseProperty("Notes"),e.favorite=e.getResponseProperty("Favorite")||!1,e.edit=e.getResponseProperty("Edit")||!0,e.organizationUseTotp=e.getResponseProperty("OrganizationUseTotp"),e.revisionDate=e.getResponseProperty("RevisionDate"),e.collectionIds=e.getResponseProperty("CollectionIds");var t=e.getResponseProperty("Login");null!=t&&(e.login=new d.LoginApi(t));var u=e.getResponseProperty("Card");null!=u&&(e.card=new a.CardApi(u));var o=e.getResponseProperty("Identity");null!=o&&(e.identity=new c.IdentityApi(o));var f=e.getResponseProperty("SecureNote");null!=f&&(e.secureNote=new p.SecureNoteApi(f));var v=e.getResponseProperty("Fields");null!=v&&(e.fields=v.map(function(n){return new s.FieldApi(n)}));var h=e.getResponseProperty("Attachments");null!=h&&(e.attachments=h.map(function(n){return new r.AttachmentResponse(n)}));var g=e.getResponseProperty("PasswordHistory");return null!=g&&(e.passwordHistory=g.map(function(n){return new i.PasswordHistoryResponse(n)})),e}return u(l,n),l}(o.BaseResponse);l.CipherResponse=f},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(34),o=e(277),i=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.organizationId=e.getResponseProperty("OrganizationId"),e.name=e.getResponseProperty("Name"),e.externalId=e.getResponseProperty("ExternalId"),e}return u(l,n),l}(r.BaseResponse);l.CollectionResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;return e.readOnly=e.getResponseProperty("ReadOnly")||!1,e}return u(l,n),l}(i);l.CollectionDetailsResponse=a;var s=function(n){function l(l){var e=n.call(this,l)||this;e.groups=[];var t=e.getResponseProperty("Groups");return null!=t&&(e.groups=t.map(function(n){return new o.SelectionReadOnlyResponse(n)})),e}return u(l,n),l}(i);l.CollectionGroupDetailsResponse=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(34),o=e(952),i=function(n){function l(l){var e=n.call(this,l)||this;e.globalEquivalentDomains=[],e.equivalentDomains=e.getResponseProperty("EquivalentDomains");var t=e.getResponseProperty("GlobalEquivalentDomains");return e.globalEquivalentDomains=null!=t?t.map(function(n){return new o.GlobalDomainResponse(n)}):[],e}return u(l,n),l}(r.BaseResponse);l.DomainsResponse=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.name=e.getResponseProperty("Name"),e.revisionDate=e.getResponseProperty("RevisionDate"),e}return u(l,n),l}(e(34).BaseResponse);l.FolderResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.name=e.getResponseProperty("Name"),e.businessName=e.getResponseProperty("BusinessName"),e.businessAddress1=e.getResponseProperty("BusinessAddress1"),e.businessAddress2=e.getResponseProperty("BusinessAddress2"),e.businessAddress3=e.getResponseProperty("BusinessAddress3"),e.businessCountry=e.getResponseProperty("BusinessCountry"),e.businessTaxNumber=e.getResponseProperty("BusinessTaxNumber"),e.billingEmail=e.getResponseProperty("BillingEmail"),e.plan=e.getResponseProperty("Plan"),e.planType=e.getResponseProperty("PlanType"),e.seats=e.getResponseProperty("Seats"),e.maxCollections=e.getResponseProperty("MaxCollections"),e.maxStorageGb=e.getResponseProperty("MaxStorageGb"),e.useGroups=e.getResponseProperty("UseGroups"),e.useDirectory=e.getResponseProperty("UseDirectory"),e.useEvents=e.getResponseProperty("UseEvents"),e.useTotp=e.getResponseProperty("UseTotp"),e.use2fa=e.getResponseProperty("Use2fa"),e.useApi=e.getResponseProperty("UseApi"),e}return u(l,n),l}(e(34).BaseResponse);l.OrganizationResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(34),o=function(n){function l(l){var e=n.call(this,l)||this;e.storageName=e.getResponseProperty("StorageName"),e.storageGb=e.getResponseProperty("StorageGb"),e.maxStorageGb=e.getResponseProperty("MaxStorageGb"),e.license=e.getResponseProperty("License"),e.expiration=e.getResponseProperty("Expiration");var t=e.getResponseProperty("Subscription"),u=e.getResponseProperty("UpcomingInvoice");return e.subscription=null==t?null:new i(t),e.upcomingInvoice=null==u?null:new s(u),e}return u(l,n),l}(r.BaseResponse);l.SubscriptionResponse=o;var i=function(n){function l(l){var e=n.call(this,l)||this;e.items=[],e.trialEndDate=e.getResponseProperty("TrialStartDate"),e.trialEndDate=e.getResponseProperty("TrialEndDate"),e.periodStartDate=e.getResponseProperty("PeriodStartDate"),e.periodEndDate=e.getResponseProperty("PeriodEndDate"),e.cancelledDate=e.getResponseProperty("CancelledDate"),e.cancelAtEndDate=e.getResponseProperty("CancelAtEndDate"),e.status=e.getResponseProperty("Status"),e.cancelled=e.getResponseProperty("Cancelled");var t=e.getResponseProperty("Items");return null!=t&&(e.items=t.map(function(n){return new a(n)})),e}return u(l,n),l}(r.BaseResponse);l.BillingSubscriptionResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;return e.name=e.getResponseProperty("Name"),e.amount=e.getResponseProperty("Amount"),e.quantity=e.getResponseProperty("Quantity"),e.interval=e.getResponseProperty("Interval"),e}return u(l,n),l}(r.BaseResponse);l.BillingSubscriptionItemResponse=a;var s=function(n){function l(l){var e=n.call(this,l)||this;return e.date=e.getResponseProperty("Date"),e.amount=e.getResponseProperty("Amount"),e}return u(l,n),l}(r.BaseResponse);l.BillingSubscriptionUpcomingInvoiceResponse=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(34),o=e(962),i=function(n){function l(l){var e=n.call(this,l)||this;e.organizations=[],e.id=e.getResponseProperty("Id"),e.name=e.getResponseProperty("Name"),e.email=e.getResponseProperty("Email"),e.emailVerified=e.getResponseProperty("EmailVerified"),e.masterPasswordHint=e.getResponseProperty("MasterPasswordHint"),e.premium=e.getResponseProperty("Premium"),e.culture=e.getResponseProperty("Culture"),e.twoFactorEnabled=e.getResponseProperty("TwoFactorEnabled"),e.key=e.getResponseProperty("Key"),e.privateKey=e.getResponseProperty("PrivateKey"),e.securityStamp=e.getResponseProperty("SecurityStamp");var t=e.getResponseProperty("Organizations");return null!=t&&(e.organizations=t.map(function(n){return new o.ProfileOrganizationResponse(n)})),e}return u(l,n),l}(r.BaseResponse);l.ProfileResponse=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=0;i--)(u=n[i])&&(o=(r<3?u(o):r>3?u(l,e,o):u(l,e))||o);return r>3&&o&&Object.defineProperty(l,e,o),o},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=0;i--)(u=n[i])&&(o=(r<3?u(o):r>3?u(l,e,o):u(l,e))||o);return r>3&&o&&Object.defineProperty(l,e,o),o},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]5&&(n.passwordHistory=n.passwordHistory.slice(0,5)),o.label=5;case 5:return(c=new f.Cipher).id=n.id,c.folderId=n.folderId,c.favorite=n.favorite,c.organizationId=n.organizationId,c.type=n.type,c.collectionIds=n.collectionIds,null!=l||null==c.organizationId?[3,7]:[4,this.cryptoService.getOrgKey(c.organizationId)];case 6:if(null==(l=o.sent()))throw new Error("Cannot encrypt cipher for organization. No key.");o.label=7;case 7:return[4,Promise.all([this.encryptObjProperty(n,c,{name:null,notes:null},l),this.encryptCipherData(c,n,l),this.encryptFields(n.fields,l).then(function(n){c.fields=n}),this.encryptPasswordHistories(n.passwordHistory,l).then(function(n){c.passwordHistory=n}),this.encryptAttachments(n.attachments,l).then(function(n){c.attachments=n})])];case 8:return o.sent(),[2,c]}})})},l.prototype.encryptAttachments=function(n,l){return r(this,void 0,void 0,function(){var e,t,u=this;return o(this,function(i){switch(i.label){case 0:return null==n||0===n.length?[2,null]:(e=[],t=[],n.forEach(function(n){return r(u,void 0,void 0,function(){var u,i,a=this;return o(this,function(s){return(u=new d.Attachment).id=n.id,u.size=n.size,u.sizeName=n.sizeName,u.url=n.url,i=this.encryptObjProperty(n,u,{fileName:null},l).then(function(){return r(a,void 0,void 0,function(){var e;return o(this,function(r){switch(r.label){case 0:return null==n.key?[3,2]:(e=u,[4,this.cryptoService.encrypt(n.key.key,l)]);case 1:e.key=r.sent(),r.label=2;case 2:return t.push(u),[2]}})})}),e.push(i),[2]})})}),[4,Promise.all(e)]);case 1:return i.sent(),[2,t]}})})},l.prototype.encryptFields=function(n,l){return r(this,void 0,void 0,function(){var e,t;return o(this,function(u){switch(u.label){case 0:return n&&n.length?(e=this,t=[],[4,n.reduce(function(n,u){return n.then(function(){return e.encryptField(u,l)}).then(function(n){t.push(n)})},Promise.resolve())]):[2,null];case 1:return u.sent(),[2,t]}})})},l.prototype.encryptField=function(n,l){return r(this,void 0,void 0,function(){var e;return o(this,function(t){switch(t.label){case 0:return(e=new v.Field).type=n.type,n.type===a.FieldType.Boolean&&"true"!==n.value&&(n.value="false"),[4,this.encryptObjProperty(n,e,{name:null,value:null},l)];case 1:return t.sent(),[2,e]}})})},l.prototype.encryptPasswordHistories=function(n,l){return r(this,void 0,void 0,function(){var e,t;return o(this,function(u){switch(u.label){case 0:return n&&n.length?(e=this,t=[],[4,n.reduce(function(n,u){return n.then(function(){return e.encryptPasswordHistory(u,l)}).then(function(n){t.push(n)})},Promise.resolve())]):[2,null];case 1:return u.sent(),[2,t]}})})},l.prototype.encryptPasswordHistory=function(n,l){return r(this,void 0,void 0,function(){var e;return o(this,function(t){switch(t.label){case 0:return(e=new y.Password).lastUsedDate=n.lastUsedDate,[4,this.encryptObjProperty(n,e,{password:null},l)];case 1:return t.sent(),[2,e]}})})},l.prototype.get=function(n){return r(this,void 0,void 0,function(){var l,e,t;return o(this,function(u){switch(u.label){case 0:return[4,this.userService.getUserId()];case 1:return l=u.sent(),[4,this.storageService.get(E)];case 2:return e=u.sent(),[4,this.storageService.get(N+l)];case 3:return null!=(t=u.sent())&&t.hasOwnProperty(n)?[2,new f.Cipher(t[n],!1,e?e[n]:null)]:[2,null]}})})},l.prototype.getAll=function(){return r(this,void 0,void 0,function(){var n,l,e,t,u;return o(this,function(r){switch(r.label){case 0:return[4,this.userService.getUserId()];case 1:return n=r.sent(),[4,this.storageService.get(E)];case 2:return l=r.sent(),[4,this.storageService.get(N+n)];case 3:for(u in e=r.sent(),t=[],e)e.hasOwnProperty(u)&&t.push(new f.Cipher(e[u],!1,l?l[u]:null));return[2,t]}})})},l.prototype.getAllDecrypted=function(){return r(this,void 0,void 0,function(){var n,l;return o(this,function(e){switch(e.label){case 0:return null!=this.decryptedCipherCache?[2,this.decryptedCipherCache]:(n=[],[4,this.cryptoService.hasKey()]);case 1:if(!e.sent())throw new Error("No key.");return l=[],[4,this.getAll()];case 2:return e.sent().forEach(function(e){l.push(e.decrypt().then(function(l){return n.push(l)}))}),[4,Promise.all(l)];case 3:return e.sent(),n.sort(this.getLocaleSortingFunction()),this.decryptedCipherCache=n,[2,this.decryptedCipherCache]}})})},l.prototype.getAllDecryptedForGrouping=function(n,l){return void 0===l&&(l=!0),r(this,void 0,void 0,function(){return o(this,function(e){switch(e.label){case 0:return[4,this.getAllDecrypted()];case 1:return[2,e.sent().filter(function(e){return!(!l||e.folderId!==n)||!l&&null!=e.collectionIds&&e.collectionIds.indexOf(n)>-1})]}})})},l.prototype.getAllDecryptedForUrl=function(n,l){return r(this,void 0,void 0,function(){var e,t,u,r,a,c;return o(this,function(o){switch(o.label){case 0:return null!=n||l?(e=T.Utils.getDomain(n),t=null==e?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(n){var l=[];return n.forEach(function(n){n.length&&n.indexOf(e)>=0&&(l=l.concat(n))}),l.length||l.push(e),l}),[4,Promise.all([t,this.getAllDecrypted()])]):[2,Promise.resolve([])];case 1:return u=o.sent(),r=u[0],a=u[1],[4,this.storageService.get(P.ConstantsService.defaultUriMatch)];case 2:return null==(c=o.sent())&&(c=s.UriMatchType.Domain),[2,a.filter(function(t){if(l&&l.indexOf(t.type)>-1)return!0;if(null!=n&&t.type===i.CipherType.Login&&null!=t.login.uris)for(var u=0;u-1){if(!x.has(o.domain))return!0;var a=T.Utils.getHost(n);if(!x.get(o.domain).has(a))return!0}break;case s.UriMatchType.Host:var d=T.Utils.getHost(n);if(null!=d&&d===T.Utils.getHost(o.uri))return!0;break;case s.UriMatchType.Exact:if(n===o.uri)return!0;break;case s.UriMatchType.StartsWith:if(n.startsWith(o.uri))return!0;break;case s.UriMatchType.RegularExpression:try{if(new RegExp(o.uri,"i").test(n))return!0}catch(n){}break;case s.UriMatchType.Never:}}return!1})]}})})},l.prototype.getAllFromApiForOrganization=function(n){return r(this,void 0,void 0,function(){var l,e,t;return o(this,function(u){switch(u.label){case 0:return[4,this.apiService.getCiphersOrganization(n)];case 1:return null!=(l=u.sent())&&null!=l.data&&l.data.length?(e=[],t=[],l.data.forEach(function(n){var l=new c.CipherData(n),u=new f.Cipher(l);t.push(u.decrypt().then(function(n){return e.push(n)}))}),[4,Promise.all(t)]):[3,3];case 2:return u.sent(),e.sort(this.getLocaleSortingFunction()),[2,e];case 3:return[2,[]]}})})},l.prototype.getLastUsedForUrl=function(n){return r(this,void 0,void 0,function(){var l;return o(this,function(e){switch(e.label){case 0:return[4,this.getAllDecryptedForUrl(n)];case 1:return 0===(l=e.sent()).length?[2,null]:[2,l.sort(this.sortCiphersByLastUsed)[0]]}})})},l.prototype.updateLastUsedDate=function(n){return r(this,void 0,void 0,function(){var l,e,t;return o(this,function(u){switch(u.label){case 0:return[4,this.storageService.get(E)];case 1:return(l=u.sent())||(l={}),l[n]?l[n].lastUsedDate=(new Date).getTime():l[n]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(E,l)];case 2:if(u.sent(),null==this.decryptedCipherCache)return[2];for(e=0;et?-1:null!=t&&null==e?1:0},l.prototype.sortCiphersByLastUsedThenName=function(n,l){var e=this.sortCiphersByLastUsed(n,l);return 0!==e?e:this.getLocaleSortingFunction()(n,l)},l.prototype.getLocaleSortingFunction=function(){var n=this;return function(l,e){var t=l.name,u=e.name;if(null==t&&null!=u)return-1;if(null!=t&&null==u)return 1;if(null==t&&null==u)return 0;var r=n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u);return 0!==r||l.type!==i.CipherType.Login||e.type!==i.CipherType.Login?r:(null!=l.login.username&&(t+=l.login.username),null!=e.login.username&&(u+=e.login.username),n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u))}},l.prototype.shareAttachmentWithServer=function(l,e,t){return r(this,void 0,void 0,function(){var u,r,i,a,s,c,d,p,f,v;return o(this,function(o){switch(o.label){case 0:return[4,fetch(new Request(l.url,{cache:"no-cache"}))];case 1:if(200!==(u=o.sent()).status)throw Error("Failed to download attachment: "+u.status.toString());return[4,u.arrayBuffer()];case 2:return r=o.sent(),[4,this.cryptoService.decryptFromBytes(r,null)];case 3:return i=o.sent(),[4,this.cryptoService.getOrgKey(t)];case 4:return a=o.sent(),[4,this.cryptoService.encrypt(l.fileName,a)];case 5:return s=o.sent(),[4,this.cryptoService.makeEncKey(a)];case 6:return c=o.sent(),[4,this.cryptoService.encryptToBytes(i,c[0])];case 7:d=o.sent(),p=new FormData;try{p.append("key",c[1].encryptedString),f=new Blob([d],{type:"application/octet-stream"}),p.append("data",f,s.encryptedString)}catch(l){if(!T.Utils.isNode||T.Utils.isBrowser)throw l;p.append("key",c[1].encryptedString),p.append("data",n.from(d),{filepath:s.encryptedString,contentType:"application/octet-stream"})}o.label=8;case 8:return o.trys.push([8,10,,11]),[4,this.apiService.postShareCipherAttachment(e,l.id,p,t)];case 9:return o.sent(),[3,11];case 10:throw v=o.sent(),new Error(v.getSingleMessage());case 11:return[2]}})})},l.prototype.encryptObjProperty=function(n,l,e,t){return r(this,void 0,void 0,function(){var u,r,i;return o(this,function(o){switch(o.label){case 0:for(i in u=[],r=this,e)e.hasOwnProperty(i)&&function(l,o){var i=Promise.resolve().then(function(){var u=n[e[l]||l];return u&&""!==u?r.cryptoService.encrypt(u,t):null}).then(function(n){o[l]=n});u.push(i)}(i,l);return[4,Promise.all(u)];case 1:return o.sent(),[2]}})})},l.prototype.encryptCipherData=function(n,l,e){return r(this,void 0,void 0,function(){var t,u;return o(this,function(r){switch(r.label){case 0:switch(n.type){case i.CipherType.Login:return[3,1];case i.CipherType.SecureNote:return[3,7];case i.CipherType.Card:return[3,8];case i.CipherType.Identity:return[3,10]}return[3,12];case 1:return n.login=new g.Login,n.login.passwordRevisionDate=l.login.passwordRevisionDate,[4,this.encryptObjProperty(l.login,n.login,{username:null,password:null,totp:null},e)];case 2:if(r.sent(),null==l.login.uris)return[3,6];n.login.uris=[],t=0,r.label=3;case 3:return t0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=0;i--)(u=n[i])&&(o=(r<3?u(o):r>3?u(l,e,o):u(l,e))||o);return r>3&&o&&Object.defineProperty(l,e,o),o},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0?[2,this.orgKeys]:[4,this.storageService.get(y)];case 1:if(null==(n=o.sent()))return[2,null];for(u in l=new Map,e=!1,t=[],n)t.push(u);r=0,o.label=2;case 2:return r53)throw new Error("We cannot generate numbers larger than 53 bits.");return r=Math.ceil(u/8),i=Math.pow(2,u)-1,s=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(r)];case 1:for(a=new(s.apply(Uint8Array,[void 0,o.sent()])),c=8*(r-1),d=0;d=t?[2,this.randomNumber(n,l)]:[2,n+e]}})})},n.prototype.aesEncrypt=function(n,l){return r(this,void 0,void 0,function(){var e,t,u,r,i,a;return o(this,function(o){switch(o.label){case 0:return e=new d.EncryptedObject,t=e,[4,this.getKeyForEncryption(l)];case 1:return t.key=o.sent(),u=e,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return u.iv=o.sent(),r=e,[4,this.cryptoFunctionService.aesEncrypt(n,e.iv,e.key.encKey)];case 3:return r.data=o.sent(),null==e.key.macKey?[3,5]:((i=new Uint8Array(e.iv.byteLength+e.data.byteLength)).set(new Uint8Array(e.iv),0),i.set(new Uint8Array(e.data),e.iv.byteLength),a=e,[4,this.cryptoFunctionService.hmac(i.buffer,e.key.macKey,"sha256")]);case 4:a.mac=o.sent(),o.label=5;case 5:return[2,e]}})})},n.prototype.aesDecryptToUtf8=function(n,l,e,t,u){return r(this,void 0,void 0,function(){var r,i,a,s;return o(this,function(o){switch(o.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return r=o.sent(),null!=(i=this.resolveLegacyKey(n,r)).macKey&&null==t?(console.error("mac required."),[2,null]):i.encType!==n?(console.error("encType unavailable."),[2,null]):null==(a=this.cryptoFunctionService.aesDecryptFastParameters(l,e,t,i)).macKey||null==a.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(a.macData,a.macKey,"sha256")];case 2:return s=o.sent(),[4,this.cryptoFunctionService.compareFast(a.mac,s)];case 3:if(!o.sent())return console.error("mac failed."),[2,null];o.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(a)]}})})},n.prototype.aesDecryptToBytes=function(n,l,e,t,u){return r(this,void 0,void 0,function(){var r,i,a,s;return o(this,function(o){switch(o.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return r=o.sent(),null!=(i=this.resolveLegacyKey(n,r)).macKey&&null==t?[2,null]:i.encType!==n?[2,null]:null==i.macKey||null==t?[3,4]:((a=new Uint8Array(e.byteLength+l.byteLength)).set(new Uint8Array(e),0),a.set(new Uint8Array(l),e.byteLength),[4,this.cryptoFunctionService.hmac(a.buffer,i.macKey,"sha256")]);case 2:return null===(s=o.sent())?[2,null]:[4,this.cryptoFunctionService.compare(t,s)];case 3:if(!o.sent())return console.error("mac failed."),[2,null];o.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(l,e,i.encKey)];case 5:return[2,o.sent()]}})})},n.prototype.rsaDecrypt=function(n){return r(this,void 0,void 0,function(){var l,e,t,u,r,i;return o(this,function(o){switch(o.label){case 0:if(l=n.split("."),e=null,1===l.length)e=a.EncryptionType.Rsa2048_OaepSha256_B64,t=[l[0]];else if(2===l.length)try{e=parseInt(l[0],null),t=l[1].split("|")}catch(n){}switch(e){case a.EncryptionType.Rsa2048_OaepSha256_B64:case a.EncryptionType.Rsa2048_OaepSha1_B64:case a.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:case a.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}if(null==t||t.length<=0)throw new Error("encPieces unavailable.");return u=h.Utils.fromB64ToArray(t[0]).buffer,[4,this.getPrivateKey()];case 1:if(null==(r=o.sent()))throw new Error("No private key.");switch(i="sha1",e){case a.EncryptionType.Rsa2048_OaepSha256_B64:case a.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:i="sha256";break;case a.EncryptionType.Rsa2048_OaepSha1_B64:case a.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}return[2,this.cryptoFunctionService.rsaDecrypt(u,r,i)]}})})},n.prototype.getKeyForEncryption=function(n){return r(this,void 0,void 0,function(){var l;return o(this,function(e){switch(e.label){case 0:return null!=n?[2,n]:[4,this.getEncKey()];case 1:return null!=(l=e.sent())?[2,l]:[4,this.getKey()];case 2:return[2,e.sent()]}})})},n.prototype.resolveLegacyKey=function(n,l){return n===a.EncryptionType.AesCbc128_HmacSha256_B64&&l.encType===a.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new p.SymmetricCryptoKey(l.key,a.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):l},n.prototype.stretchKey=function(n){return r(this,void 0,void 0,function(){var l,e,t,u,r;return o(this,function(o){switch(o.label){case 0:return l=new Uint8Array(64),t=(e=l).set,[4,this.hkdfExpand(n.key,h.Utils.fromUtf8ToArray("enc"),32)];case 1:return t.apply(e,[o.sent()]),r=(u=l).set,[4,this.hkdfExpand(n.key,h.Utils.fromUtf8ToArray("mac"),32)];case 2:return r.apply(u,[o.sent(),32]),[2,new p.SymmetricCryptoKey(l.buffer)]}})})},n.prototype.hkdfExpand=function(n,l,e){return r(this,void 0,void 0,function(){var t,u,r,i,a,s,c;return o(this,function(o){switch(o.label){case 0:t=32,u=new Uint8Array(e),r=new Uint8Array(0),i=Math.ceil(e/t),a=0,o.label=1;case 1:return ar)throw new Error("Output entropy of hash function is too small");for(a=[],s=i.fromArray(u,256);t--;)c=s.mod(g.EEFLongWordList.length),s=s.divide(g.EEFLongWordList.length),a.push(g.EEFLongWordList[c]);return[2,a]})})},n.prototype.buildEncKey=function(n,l){return void 0===l&&(l=null),r(this,void 0,void 0,function(){var e,t;return o(this,function(u){switch(u.label){case 0:return e=null,32!==n.key.byteLength?[3,3]:[4,this.stretchKey(n)];case 1:return t=u.sent(),[4,this.encrypt(l,t)];case 2:return e=u.sent(),[3,6];case 3:return 64!==n.key.byteLength?[3,5]:[4,this.encrypt(l,n)];case 4:return e=u.sent(),[3,6];case 5:throw new Error("Invalid key size.");case 6:return[2,[new p.SymmetricCryptoKey(l),e]]}})})},t([v.sequentialize(S),u("design:type",Function),u("design:paramtypes",[]),u("design:returntype",Promise)],n.prototype,"getEncKey",null),t([v.sequentialize(_),u("design:type",Function),u("design:paramtypes",[]),u("design:returntype",Promise)],n.prototype,"getOrgKeys",null),n}();l.CryptoService=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),l.EEFLongWordList=["abacus","abdomen","abdominal","abide","abiding","ability","ablaze","able","abnormal","abrasion","abrasive","abreast","abridge","abroad","abruptly","absence","absentee","absently","absinthe","absolute","absolve","abstain","abstract","absurd","accent","acclaim","acclimate","accompany","account","accuracy","accurate","accustom","acetone","achiness","aching","acid","acorn","acquaint","acquire","acre","acrobat","acronym","acting","action","activate","activator","active","activism","activist","activity","actress","acts","acutely","acuteness","aeration","aerobics","aerosol","aerospace","afar","affair","affected","affecting","affection","affidavit","affiliate","affirm","affix","afflicted","affluent","afford","affront","aflame","afloat","aflutter","afoot","afraid","afterglow","afterlife","aftermath","aftermost","afternoon","aged","ageless","agency","agenda","agent","aggregate","aghast","agile","agility","aging","agnostic","agonize","agonizing","agony","agreeable","agreeably","agreed","agreeing","agreement","aground","ahead","ahoy","aide","aids","aim","ajar","alabaster","alarm","albatross","album","alfalfa","algebra","algorithm","alias","alibi","alienable","alienate","aliens","alike","alive","alkaline","alkalize","almanac","almighty","almost","aloe","aloft","aloha","alone","alongside","aloof","alphabet","alright","although","altitude","alto","aluminum","alumni","always","amaretto","amaze","amazingly","amber","ambiance","ambiguity","ambiguous","ambition","ambitious","ambulance","ambush","amendable","amendment","amends","amenity","amiable","amicably","amid","amigo","amino","amiss","ammonia","ammonium","amnesty","amniotic","among","amount","amperage","ample","amplifier","amplify","amply","amuck","amulet","amusable","amused","amusement","amuser","amusing","anaconda","anaerobic","anagram","anatomist","anatomy","anchor","anchovy","ancient","android","anemia","anemic","aneurism","anew","angelfish","angelic","anger","angled","angler","angles","angling","angrily","angriness","anguished","angular","animal","animate","animating","animation","animator","anime","animosity","ankle","annex","annotate","announcer","annoying","annually","annuity","anointer","another","answering","antacid","antarctic","anteater","antelope","antennae","anthem","anthill","anthology","antibody","antics","antidote","antihero","antiquely","antiques","antiquity","antirust","antitoxic","antitrust","antiviral","antivirus","antler","antonym","antsy","anvil","anybody","anyhow","anymore","anyone","anyplace","anything","anytime","anyway","anywhere","aorta","apache","apostle","appealing","appear","appease","appeasing","appendage","appendix","appetite","appetizer","applaud","applause","apple","appliance","applicant","applied","apply","appointee","appraisal","appraiser","apprehend","approach","approval","approve","apricot","april","apron","aptitude","aptly","aqua","aqueduct","arbitrary","arbitrate","ardently","area","arena","arguable","arguably","argue","arise","armadillo","armband","armchair","armed","armful","armhole","arming","armless","armoire","armored","armory","armrest","army","aroma","arose","around","arousal","arrange","array","arrest","arrival","arrive","arrogance","arrogant","arson","art","ascend","ascension","ascent","ascertain","ashamed","ashen","ashes","ashy","aside","askew","asleep","asparagus","aspect","aspirate","aspire","aspirin","astonish","astound","astride","astrology","astronaut","astronomy","astute","atlantic","atlas","atom","atonable","atop","atrium","atrocious","atrophy","attach","attain","attempt","attendant","attendee","attention","attentive","attest","attic","attire","attitude","attractor","attribute","atypical","auction","audacious","audacity","audible","audibly","audience","audio","audition","augmented","august","authentic","author","autism","autistic","autograph","automaker","automated","automatic","autopilot","available","avalanche","avatar","avenge","avenging","avenue","average","aversion","avert","aviation","aviator","avid","avoid","await","awaken","award","aware","awhile","awkward","awning","awoke","awry","axis","babble","babbling","babied","baboon","backache","backboard","backboned","backdrop","backed","backer","backfield","backfire","backhand","backing","backlands","backlash","backless","backlight","backlit","backlog","backpack","backpedal","backrest","backroom","backshift","backside","backslid","backspace","backspin","backstab","backstage","backtalk","backtrack","backup","backward","backwash","backwater","backyard","bacon","bacteria","bacterium","badass","badge","badland","badly","badness","baffle","baffling","bagel","bagful","baggage","bagged","baggie","bagginess","bagging","baggy","bagpipe","baguette","baked","bakery","bakeshop","baking","balance","balancing","balcony","balmy","balsamic","bamboo","banana","banish","banister","banjo","bankable","bankbook","banked","banker","banking","banknote","bankroll","banner","bannister","banshee","banter","barbecue","barbed","barbell","barber","barcode","barge","bargraph","barista","baritone","barley","barmaid","barman","barn","barometer","barrack","barracuda","barrel","barrette","barricade","barrier","barstool","bartender","barterer","bash","basically","basics","basil","basin","basis","basket","batboy","batch","bath","baton","bats","battalion","battered","battering","battery","batting","battle","bauble","bazooka","blabber","bladder","blade","blah","blame","blaming","blanching","blandness","blank","blaspheme","blasphemy","blast","blatancy","blatantly","blazer","blazing","bleach","bleak","bleep","blemish","blend","bless","blighted","blimp","bling","blinked","blinker","blinking","blinks","blip","blissful","blitz","blizzard","bloated","bloating","blob","blog","bloomers","blooming","blooper","blot","blouse","blubber","bluff","bluish","blunderer","blunt","blurb","blurred","blurry","blurt","blush","blustery","boaster","boastful","boasting","boat","bobbed","bobbing","bobble","bobcat","bobsled","bobtail","bodacious","body","bogged","boggle","bogus","boil","bok","bolster","bolt","bonanza","bonded","bonding","bondless","boned","bonehead","boneless","bonelike","boney","bonfire","bonnet","bonsai","bonus","bony","boogeyman","boogieman","book","boondocks","booted","booth","bootie","booting","bootlace","bootleg","boots","boozy","borax","boring","borough","borrower","borrowing","boss","botanical","botanist","botany","botch","both","bottle","bottling","bottom","bounce","bouncing","bouncy","bounding","boundless","bountiful","bovine","boxcar","boxer","boxing","boxlike","boxy","breach","breath","breeches","breeching","breeder","breeding","breeze","breezy","brethren","brewery","brewing","briar","bribe","brick","bride","bridged","brigade","bright","brilliant","brim","bring","brink","brisket","briskly","briskness","bristle","brittle","broadband","broadcast","broaden","broadly","broadness","broadside","broadways","broiler","broiling","broken","broker","bronchial","bronco","bronze","bronzing","brook","broom","brought","browbeat","brownnose","browse","browsing","bruising","brunch","brunette","brunt","brush","brussels","brute","brutishly","bubble","bubbling","bubbly","buccaneer","bucked","bucket","buckle","buckshot","buckskin","bucktooth","buckwheat","buddhism","buddhist","budding","buddy","budget","buffalo","buffed","buffer","buffing","buffoon","buggy","bulb","bulge","bulginess","bulgur","bulk","bulldog","bulldozer","bullfight","bullfrog","bullhorn","bullion","bullish","bullpen","bullring","bullseye","bullwhip","bully","bunch","bundle","bungee","bunion","bunkbed","bunkhouse","bunkmate","bunny","bunt","busboy","bush","busily","busload","bust","busybody","buzz","cabana","cabbage","cabbie","cabdriver","cable","caboose","cache","cackle","cacti","cactus","caddie","caddy","cadet","cadillac","cadmium","cage","cahoots","cake","calamari","calamity","calcium","calculate","calculus","caliber","calibrate","calm","caloric","calorie","calzone","camcorder","cameo","camera","camisole","camper","campfire","camping","campsite","campus","canal","canary","cancel","candied","candle","candy","cane","canine","canister","cannabis","canned","canning","cannon","cannot","canola","canon","canopener","canopy","canteen","canyon","capable","capably","capacity","cape","capillary","capital","capitol","capped","capricorn","capsize","capsule","caption","captivate","captive","captivity","capture","caramel","carat","caravan","carbon","cardboard","carded","cardiac","cardigan","cardinal","cardstock","carefully","caregiver","careless","caress","caretaker","cargo","caring","carless","carload","carmaker","carnage","carnation","carnival","carnivore","carol","carpenter","carpentry","carpool","carport","carried","carrot","carrousel","carry","cartel","cartload","carton","cartoon","cartridge","cartwheel","carve","carving","carwash","cascade","case","cash","casing","casino","casket","cassette","casually","casualty","catacomb","catalog","catalyst","catalyze","catapult","cataract","catatonic","catcall","catchable","catcher","catching","catchy","caterer","catering","catfight","catfish","cathedral","cathouse","catlike","catnap","catnip","catsup","cattail","cattishly","cattle","catty","catwalk","caucasian","caucus","causal","causation","cause","causing","cauterize","caution","cautious","cavalier","cavalry","caviar","cavity","cedar","celery","celestial","celibacy","celibate","celtic","cement","census","ceramics","ceremony","certainly","certainty","certified","certify","cesarean","cesspool","chafe","chaffing","chain","chair","chalice","challenge","chamber","chamomile","champion","chance","change","channel","chant","chaos","chaperone","chaplain","chapped","chaps","chapter","character","charbroil","charcoal","charger","charging","chariot","charity","charm","charred","charter","charting","chase","chasing","chaste","chastise","chastity","chatroom","chatter","chatting","chatty","cheating","cheddar","cheek","cheer","cheese","cheesy","chef","chemicals","chemist","chemo","cherisher","cherub","chess","chest","chevron","chevy","chewable","chewer","chewing","chewy","chief","chihuahua","childcare","childhood","childish","childless","childlike","chili","chill","chimp","chip","chirping","chirpy","chitchat","chivalry","chive","chloride","chlorine","choice","chokehold","choking","chomp","chooser","choosing","choosy","chop","chosen","chowder","chowtime","chrome","chubby","chuck","chug","chummy","chump","chunk","churn","chute","cider","cilantro","cinch","cinema","cinnamon","circle","circling","circular","circulate","circus","citable","citadel","citation","citizen","citric","citrus","city","civic","civil","clad","claim","clambake","clammy","clamor","clamp","clamshell","clang","clanking","clapped","clapper","clapping","clarify","clarinet","clarity","clash","clasp","class","clatter","clause","clavicle","claw","clay","clean","clear","cleat","cleaver","cleft","clench","clergyman","clerical","clerk","clever","clicker","client","climate","climatic","cling","clinic","clinking","clip","clique","cloak","clobber","clock","clone","cloning","closable","closure","clothes","clothing","cloud","clover","clubbed","clubbing","clubhouse","clump","clumsily","clumsy","clunky","clustered","clutch","clutter","coach","coagulant","coastal","coaster","coasting","coastland","coastline","coat","coauthor","cobalt","cobbler","cobweb","cocoa","coconut","cod","coeditor","coerce","coexist","coffee","cofounder","cognition","cognitive","cogwheel","coherence","coherent","cohesive","coil","coke","cola","cold","coleslaw","coliseum","collage","collapse","collar","collected","collector","collide","collie","collision","colonial","colonist","colonize","colony","colossal","colt","coma","come","comfort","comfy","comic","coming","comma","commence","commend","comment","commerce","commode","commodity","commodore","common","commotion","commute","commuting","compacted","compacter","compactly","compactor","companion","company","compare","compel","compile","comply","component","composed","composer","composite","compost","composure","compound","compress","comprised","computer","computing","comrade","concave","conceal","conceded","concept","concerned","concert","conch","concierge","concise","conclude","concrete","concur","condense","condiment","condition","condone","conducive","conductor","conduit","cone","confess","confetti","confidant","confident","confider","confiding","configure","confined","confining","confirm","conflict","conform","confound","confront","confused","confusing","confusion","congenial","congested","congrats","congress","conical","conjoined","conjure","conjuror","connected","connector","consensus","consent","console","consoling","consonant","constable","constant","constrain","constrict","construct","consult","consumer","consuming","contact","container","contempt","contend","contented","contently","contents","contest","context","contort","contour","contrite","control","contusion","convene","convent","copartner","cope","copied","copier","copilot","coping","copious","copper","copy","coral","cork","cornball","cornbread","corncob","cornea","corned","corner","cornfield","cornflake","cornhusk","cornmeal","cornstalk","corny","coronary","coroner","corporal","corporate","corral","correct","corridor","corrode","corroding","corrosive","corsage","corset","cortex","cosigner","cosmetics","cosmic","cosmos","cosponsor","cost","cottage","cotton","couch","cough","could","countable","countdown","counting","countless","country","county","courier","covenant","cover","coveted","coveting","coyness","cozily","coziness","cozy","crabbing","crabgrass","crablike","crabmeat","cradle","cradling","crafter","craftily","craftsman","craftwork","crafty","cramp","cranberry","crane","cranial","cranium","crank","crate","crave","craving","crawfish","crawlers","crawling","crayfish","crayon","crazed","crazily","craziness","crazy","creamed","creamer","creamlike","crease","creasing","creatable","create","creation","creative","creature","credible","credibly","credit","creed","creme","creole","crepe","crept","crescent","crested","cresting","crestless","crevice","crewless","crewman","crewmate","crib","cricket","cried","crier","crimp","crimson","cringe","cringing","crinkle","crinkly","crisped","crisping","crisply","crispness","crispy","criteria","critter","croak","crock","crook","croon","crop","cross","crouch","crouton","crowbar","crowd","crown","crucial","crudely","crudeness","cruelly","cruelness","cruelty","crumb","crummiest","crummy","crumpet","crumpled","cruncher","crunching","crunchy","crusader","crushable","crushed","crusher","crushing","crust","crux","crying","cryptic","crystal","cubbyhole","cube","cubical","cubicle","cucumber","cuddle","cuddly","cufflink","culinary","culminate","culpable","culprit","cultivate","cultural","culture","cupbearer","cupcake","cupid","cupped","cupping","curable","curator","curdle","cure","curfew","curing","curled","curler","curliness","curling","curly","curry","curse","cursive","cursor","curtain","curtly","curtsy","curvature","curve","curvy","cushy","cusp","cussed","custard","custodian","custody","customary","customer","customize","customs","cut","cycle","cyclic","cycling","cyclist","cylinder","cymbal","cytoplasm","cytoplast","dab","dad","daffodil","dagger","daily","daintily","dainty","dairy","daisy","dallying","dance","dancing","dandelion","dander","dandruff","dandy","danger","dangle","dangling","daredevil","dares","daringly","darkened","darkening","darkish","darkness","darkroom","darling","darn","dart","darwinism","dash","dastardly","data","datebook","dating","daughter","daunting","dawdler","dawn","daybed","daybreak","daycare","daydream","daylight","daylong","dayroom","daytime","dazzler","dazzling","deacon","deafening","deafness","dealer","dealing","dealmaker","dealt","dean","debatable","debate","debating","debit","debrief","debtless","debtor","debug","debunk","decade","decaf","decal","decathlon","decay","deceased","deceit","deceiver","deceiving","december","decency","decent","deception","deceptive","decibel","decidable","decimal","decimeter","decipher","deck","declared","decline","decode","decompose","decorated","decorator","decoy","decrease","decree","dedicate","dedicator","deduce","deduct","deed","deem","deepen","deeply","deepness","deface","defacing","defame","default","defeat","defection","defective","defendant","defender","defense","defensive","deferral","deferred","defiance","defiant","defile","defiling","define","definite","deflate","deflation","deflator","deflected","deflector","defog","deforest","defraud","defrost","deftly","defuse","defy","degraded","degrading","degrease","degree","dehydrate","deity","dejected","delay","delegate","delegator","delete","deletion","delicacy","delicate","delicious","delighted","delirious","delirium","deliverer","delivery","delouse","delta","deluge","delusion","deluxe","demanding","demeaning","demeanor","demise","democracy","democrat","demote","demotion","demystify","denatured","deniable","denial","denim","denote","dense","density","dental","dentist","denture","deny","deodorant","deodorize","departed","departure","depict","deplete","depletion","deplored","deploy","deport","depose","depraved","depravity","deprecate","depress","deprive","depth","deputize","deputy","derail","deranged","derby","derived","desecrate","deserve","deserving","designate","designed","designer","designing","deskbound","desktop","deskwork","desolate","despair","despise","despite","destiny","destitute","destruct","detached","detail","detection","detective","detector","detention","detergent","detest","detonate","detonator","detoxify","detract","deuce","devalue","deviancy","deviant","deviate","deviation","deviator","device","devious","devotedly","devotee","devotion","devourer","devouring","devoutly","dexterity","dexterous","diabetes","diabetic","diabolic","diagnoses","diagnosis","diagram","dial","diameter","diaper","diaphragm","diary","dice","dicing","dictate","dictation","dictator","difficult","diffused","diffuser","diffusion","diffusive","dig","dilation","diligence","diligent","dill","dilute","dime","diminish","dimly","dimmed","dimmer","dimness","dimple","diner","dingbat","dinghy","dinginess","dingo","dingy","dining","dinner","diocese","dioxide","diploma","dipped","dipper","dipping","directed","direction","directive","directly","directory","direness","dirtiness","disabled","disagree","disallow","disarm","disarray","disaster","disband","disbelief","disburse","discard","discern","discharge","disclose","discolor","discount","discourse","discover","discuss","disdain","disengage","disfigure","disgrace","dish","disinfect","disjoin","disk","dislike","disliking","dislocate","dislodge","disloyal","dismantle","dismay","dismiss","dismount","disobey","disorder","disown","disparate","disparity","dispatch","dispense","dispersal","dispersed","disperser","displace","display","displease","disposal","dispose","disprove","dispute","disregard","disrupt","dissuade","distance","distant","distaste","distill","distinct","distort","distract","distress","district","distrust","ditch","ditto","ditzy","dividable","divided","dividend","dividers","dividing","divinely","diving","divinity","divisible","divisibly","division","divisive","divorcee","dizziness","dizzy","doable","docile","dock","doctrine","document","dodge","dodgy","doily","doing","dole","dollar","dollhouse","dollop","dolly","dolphin","domain","domelike","domestic","dominion","dominoes","donated","donation","donator","donor","donut","doodle","doorbell","doorframe","doorknob","doorman","doormat","doornail","doorpost","doorstep","doorstop","doorway","doozy","dork","dormitory","dorsal","dosage","dose","dotted","doubling","douche","dove","down","dowry","doze","drab","dragging","dragonfly","dragonish","dragster","drainable","drainage","drained","drainer","drainpipe","dramatic","dramatize","drank","drapery","drastic","draw","dreaded","dreadful","dreadlock","dreamboat","dreamily","dreamland","dreamless","dreamlike","dreamt","dreamy","drearily","dreary","drench","dress","drew","dribble","dried","drier","drift","driller","drilling","drinkable","drinking","dripping","drippy","drivable","driven","driver","driveway","driving","drizzle","drizzly","drone","drool","droop","drop-down","dropbox","dropkick","droplet","dropout","dropper","drove","drown","drowsily","drudge","drum","dry","dubbed","dubiously","duchess","duckbill","ducking","duckling","ducktail","ducky","duct","dude","duffel","dugout","duh","duke","duller","dullness","duly","dumping","dumpling","dumpster","duo","dupe","duplex","duplicate","duplicity","durable","durably","duration","duress","during","dusk","dust","dutiful","duty","duvet","dwarf","dweeb","dwelled","dweller","dwelling","dwindle","dwindling","dynamic","dynamite","dynasty","dyslexia","dyslexic","each","eagle","earache","eardrum","earflap","earful","earlobe","early","earmark","earmuff","earphone","earpiece","earplugs","earring","earshot","earthen","earthlike","earthling","earthly","earthworm","earthy","earwig","easeful","easel","easiest","easily","easiness","easing","eastbound","eastcoast","easter","eastward","eatable","eaten","eatery","eating","eats","ebay","ebony","ebook","ecard","eccentric","echo","eclair","eclipse","ecologist","ecology","economic","economist","economy","ecosphere","ecosystem","edge","edginess","edging","edgy","edition","editor","educated","education","educator","eel","effective","effects","efficient","effort","eggbeater","egging","eggnog","eggplant","eggshell","egomaniac","egotism","egotistic","either","eject","elaborate","elastic","elated","elbow","eldercare","elderly","eldest","electable","election","elective","elephant","elevate","elevating","elevation","elevator","eleven","elf","eligible","eligibly","eliminate","elite","elitism","elixir","elk","ellipse","elliptic","elm","elongated","elope","eloquence","eloquent","elsewhere","elude","elusive","elves","email","embargo","embark","embassy","embattled","embellish","ember","embezzle","emblaze","emblem","embody","embolism","emboss","embroider","emcee","emerald","emergency","emission","emit","emote","emoticon","emotion","empathic","empathy","emperor","emphases","emphasis","emphasize","emphatic","empirical","employed","employee","employer","emporium","empower","emptier","emptiness","empty","emu","enable","enactment","enamel","enchanted","enchilada","encircle","enclose","enclosure","encode","encore","encounter","encourage","encroach","encrust","encrypt","endanger","endeared","endearing","ended","ending","endless","endnote","endocrine","endorphin","endorse","endowment","endpoint","endurable","endurance","enduring","energetic","energize","energy","enforced","enforcer","engaged","engaging","engine","engorge","engraved","engraver","engraving","engross","engulf","enhance","enigmatic","enjoyable","enjoyably","enjoyer","enjoying","enjoyment","enlarged","enlarging","enlighten","enlisted","enquirer","enrage","enrich","enroll","enslave","ensnare","ensure","entail","entangled","entering","entertain","enticing","entire","entitle","entity","entomb","entourage","entrap","entree","entrench","entrust","entryway","entwine","enunciate","envelope","enviable","enviably","envious","envision","envoy","envy","enzyme","epic","epidemic","epidermal","epidermis","epidural","epilepsy","epileptic","epilogue","epiphany","episode","equal","equate","equation","equator","equinox","equipment","equity","equivocal","eradicate","erasable","erased","eraser","erasure","ergonomic","errand","errant","erratic","error","erupt","escalate","escalator","escapable","escapade","escapist","escargot","eskimo","esophagus","espionage","espresso","esquire","essay","essence","essential","establish","estate","esteemed","estimate","estimator","estranged","estrogen","etching","eternal","eternity","ethanol","ether","ethically","ethics","euphemism","evacuate","evacuee","evade","evaluate","evaluator","evaporate","evasion","evasive","even","everglade","evergreen","everybody","everyday","everyone","evict","evidence","evident","evil","evoke","evolution","evolve","exact","exalted","example","excavate","excavator","exceeding","exception","excess","exchange","excitable","exciting","exclaim","exclude","excluding","exclusion","exclusive","excretion","excretory","excursion","excusable","excusably","excuse","exemplary","exemplify","exemption","exerciser","exert","exes","exfoliate","exhale","exhaust","exhume","exile","existing","exit","exodus","exonerate","exorcism","exorcist","expand","expanse","expansion","expansive","expectant","expedited","expediter","expel","expend","expenses","expensive","expert","expire","expiring","explain","expletive","explicit","explode","exploit","explore","exploring","exponent","exporter","exposable","expose","exposure","express","expulsion","exquisite","extended","extending","extent","extenuate","exterior","external","extinct","extortion","extradite","extras","extrovert","extrude","extruding","exuberant","fable","fabric","fabulous","facebook","facecloth","facedown","faceless","facelift","faceplate","faceted","facial","facility","facing","facsimile","faction","factoid","factor","factsheet","factual","faculty","fade","fading","failing","falcon","fall","false","falsify","fame","familiar","family","famine","famished","fanatic","fancied","fanciness","fancy","fanfare","fang","fanning","fantasize","fantastic","fantasy","fascism","fastball","faster","fasting","fastness","faucet","favorable","favorably","favored","favoring","favorite","fax","feast","federal","fedora","feeble","feed","feel","feisty","feline","felt-tip","feminine","feminism","feminist","feminize","femur","fence","fencing","fender","ferment","fernlike","ferocious","ferocity","ferret","ferris","ferry","fervor","fester","festival","festive","festivity","fetal","fetch","fever","fiber","fiction","fiddle","fiddling","fidelity","fidgeting","fidgety","fifteen","fifth","fiftieth","fifty","figment","figure","figurine","filing","filled","filler","filling","film","filter","filth","filtrate","finale","finalist","finalize","finally","finance","financial","finch","fineness","finer","finicky","finished","finisher","finishing","finite","finless","finlike","fiscally","fit","five","flaccid","flagman","flagpole","flagship","flagstick","flagstone","flail","flakily","flaky","flame","flammable","flanked","flanking","flannels","flap","flaring","flashback","flashbulb","flashcard","flashily","flashing","flashy","flask","flatbed","flatfoot","flatly","flatness","flatten","flattered","flatterer","flattery","flattop","flatware","flatworm","flavored","flavorful","flavoring","flaxseed","fled","fleshed","fleshy","flick","flier","flight","flinch","fling","flint","flip","flirt","float","flock","flogging","flop","floral","florist","floss","flounder","flyable","flyaway","flyer","flying","flyover","flypaper","foam","foe","fog","foil","folic","folk","follicle","follow","fondling","fondly","fondness","fondue","font","food","fool","footage","football","footbath","footboard","footer","footgear","foothill","foothold","footing","footless","footman","footnote","footpad","footpath","footprint","footrest","footsie","footsore","footwear","footwork","fossil","foster","founder","founding","fountain","fox","foyer","fraction","fracture","fragile","fragility","fragment","fragrance","fragrant","frail","frame","framing","frantic","fraternal","frayed","fraying","frays","freckled","freckles","freebase","freebee","freebie","freedom","freefall","freehand","freeing","freeload","freely","freemason","freeness","freestyle","freeware","freeway","freewill","freezable","freezing","freight","french","frenzied","frenzy","frequency","frequent","fresh","fretful","fretted","friction","friday","fridge","fried","friend","frighten","frightful","frigidity","frigidly","frill","fringe","frisbee","frisk","fritter","frivolous","frolic","from","front","frostbite","frosted","frostily","frosting","frostlike","frosty","froth","frown","frozen","fructose","frugality","frugally","fruit","frustrate","frying","gab","gaffe","gag","gainfully","gaining","gains","gala","gallantly","galleria","gallery","galley","gallon","gallows","gallstone","galore","galvanize","gambling","game","gaming","gamma","gander","gangly","gangrene","gangway","gap","garage","garbage","garden","gargle","garland","garlic","garment","garnet","garnish","garter","gas","gatherer","gathering","gating","gauging","gauntlet","gauze","gave","gawk","gazing","gear","gecko","geek","geiger","gem","gender","generic","generous","genetics","genre","gentile","gentleman","gently","gents","geography","geologic","geologist","geology","geometric","geometry","geranium","gerbil","geriatric","germicide","germinate","germless","germproof","gestate","gestation","gesture","getaway","getting","getup","giant","gibberish","giblet","giddily","giddiness","giddy","gift","gigabyte","gigahertz","gigantic","giggle","giggling","giggly","gigolo","gilled","gills","gimmick","girdle","giveaway","given","giver","giving","gizmo","gizzard","glacial","glacier","glade","gladiator","gladly","glamorous","glamour","glance","glancing","glandular","glare","glaring","glass","glaucoma","glazing","gleaming","gleeful","glider","gliding","glimmer","glimpse","glisten","glitch","glitter","glitzy","gloater","gloating","gloomily","gloomy","glorified","glorifier","glorify","glorious","glory","gloss","glove","glowing","glowworm","glucose","glue","gluten","glutinous","glutton","gnarly","gnat","goal","goatskin","goes","goggles","going","goldfish","goldmine","goldsmith","golf","goliath","gonad","gondola","gone","gong","good","gooey","goofball","goofiness","goofy","google","goon","gopher","gore","gorged","gorgeous","gory","gosling","gossip","gothic","gotten","gout","gown","grab","graceful","graceless","gracious","gradation","graded","grader","gradient","grading","gradually","graduate","graffiti","grafted","grafting","grain","granddad","grandkid","grandly","grandma","grandpa","grandson","granite","granny","granola","grant","granular","grape","graph","grapple","grappling","grasp","grass","gratified","gratify","grating","gratitude","gratuity","gravel","graveness","graves","graveyard","gravitate","gravity","gravy","gray","grazing","greasily","greedily","greedless","greedy","green","greeter","greeting","grew","greyhound","grid","grief","grievance","grieving","grievous","grill","grimace","grimacing","grime","griminess","grimy","grinch","grinning","grip","gristle","grit","groggily","groggy","groin","groom","groove","grooving","groovy","grope","ground","grouped","grout","grove","grower","growing","growl","grub","grudge","grudging","grueling","gruffly","grumble","grumbling","grumbly","grumpily","grunge","grunt","guacamole","guidable","guidance","guide","guiding","guileless","guise","gulf","gullible","gully","gulp","gumball","gumdrop","gumminess","gumming","gummy","gurgle","gurgling","guru","gush","gusto","gusty","gutless","guts","gutter","guy","guzzler","gyration","habitable","habitant","habitat","habitual","hacked","hacker","hacking","hacksaw","had","haggler","haiku","half","halogen","halt","halved","halves","hamburger","hamlet","hammock","hamper","hamster","hamstring","handbag","handball","handbook","handbrake","handcart","handclap","handclasp","handcraft","handcuff","handed","handful","handgrip","handgun","handheld","handiness","handiwork","handlebar","handled","handler","handling","handmade","handoff","handpick","handprint","handrail","handsaw","handset","handsfree","handshake","handstand","handwash","handwork","handwoven","handwrite","handyman","hangnail","hangout","hangover","hangup","hankering","hankie","hanky","haphazard","happening","happier","happiest","happily","happiness","happy","harbor","hardcopy","hardcore","hardcover","harddisk","hardened","hardener","hardening","hardhat","hardhead","hardiness","hardly","hardness","hardship","hardware","hardwired","hardwood","hardy","harmful","harmless","harmonica","harmonics","harmonize","harmony","harness","harpist","harsh","harvest","hash","hassle","haste","hastily","hastiness","hasty","hatbox","hatchback","hatchery","hatchet","hatching","hatchling","hate","hatless","hatred","haunt","haven","hazard","hazelnut","hazily","haziness","hazing","hazy","headache","headband","headboard","headcount","headdress","headed","header","headfirst","headgear","heading","headlamp","headless","headlock","headphone","headpiece","headrest","headroom","headscarf","headset","headsman","headstand","headstone","headway","headwear","heap","heat","heave","heavily","heaviness","heaving","hedge","hedging","heftiness","hefty","helium","helmet","helper","helpful","helping","helpless","helpline","hemlock","hemstitch","hence","henchman","henna","herald","herbal","herbicide","herbs","heritage","hermit","heroics","heroism","herring","herself","hertz","hesitancy","hesitant","hesitate","hexagon","hexagram","hubcap","huddle","huddling","huff","hug","hula","hulk","hull","human","humble","humbling","humbly","humid","humiliate","humility","humming","hummus","humongous","humorist","humorless","humorous","humpback","humped","humvee","hunchback","hundredth","hunger","hungrily","hungry","hunk","hunter","hunting","huntress","huntsman","hurdle","hurled","hurler","hurling","hurray","hurricane","hurried","hurry","hurt","husband","hush","husked","huskiness","hut","hybrid","hydrant","hydrated","hydration","hydrogen","hydroxide","hyperlink","hypertext","hyphen","hypnoses","hypnosis","hypnotic","hypnotism","hypnotist","hypnotize","hypocrisy","hypocrite","ibuprofen","ice","iciness","icing","icky","icon","icy","idealism","idealist","idealize","ideally","idealness","identical","identify","identity","ideology","idiocy","idiom","idly","igloo","ignition","ignore","iguana","illicitly","illusion","illusive","image","imaginary","imagines","imaging","imbecile","imitate","imitation","immature","immerse","immersion","imminent","immobile","immodest","immorally","immortal","immovable","immovably","immunity","immunize","impaired","impale","impart","impatient","impeach","impeding","impending","imperfect","imperial","impish","implant","implement","implicate","implicit","implode","implosion","implosive","imply","impolite","important","importer","impose","imposing","impotence","impotency","impotent","impound","imprecise","imprint","imprison","impromptu","improper","improve","improving","improvise","imprudent","impulse","impulsive","impure","impurity","iodine","iodize","ion","ipad","iphone","ipod","irate","irk","iron","irregular","irrigate","irritable","irritably","irritant","irritate","islamic","islamist","isolated","isolating","isolation","isotope","issue","issuing","italicize","italics","item","itinerary","itunes","ivory","ivy","jab","jackal","jacket","jackknife","jackpot","jailbird","jailbreak","jailer","jailhouse","jalapeno","jam","janitor","january","jargon","jarring","jasmine","jaundice","jaunt","java","jawed","jawless","jawline","jaws","jaybird","jaywalker","jazz","jeep","jeeringly","jellied","jelly","jersey","jester","jet","jiffy","jigsaw","jimmy","jingle","jingling","jinx","jitters","jittery","job","jockey","jockstrap","jogger","jogging","john","joining","jokester","jokingly","jolliness","jolly","jolt","jot","jovial","joyfully","joylessly","joyous","joyride","joystick","jubilance","jubilant","judge","judgingly","judicial","judiciary","judo","juggle","juggling","jugular","juice","juiciness","juicy","jujitsu","jukebox","july","jumble","jumbo","jump","junction","juncture","june","junior","juniper","junkie","junkman","junkyard","jurist","juror","jury","justice","justifier","justify","justly","justness","juvenile","kabob","kangaroo","karaoke","karate","karma","kebab","keenly","keenness","keep","keg","kelp","kennel","kept","kerchief","kerosene","kettle","kick","kiln","kilobyte","kilogram","kilometer","kilowatt","kilt","kimono","kindle","kindling","kindly","kindness","kindred","kinetic","kinfolk","king","kinship","kinsman","kinswoman","kissable","kisser","kissing","kitchen","kite","kitten","kitty","kiwi","kleenex","knapsack","knee","knelt","knickers","knoll","koala","kooky","kosher","krypton","kudos","kung","labored","laborer","laboring","laborious","labrador","ladder","ladies","ladle","ladybug","ladylike","lagged","lagging","lagoon","lair","lake","lance","landed","landfall","landfill","landing","landlady","landless","landline","landlord","landmark","landmass","landmine","landowner","landscape","landside","landslide","language","lankiness","lanky","lantern","lapdog","lapel","lapped","lapping","laptop","lard","large","lark","lash","lasso","last","latch","late","lather","latitude","latrine","latter","latticed","launch","launder","laundry","laurel","lavender","lavish","laxative","lazily","laziness","lazy","lecturer","left","legacy","legal","legend","legged","leggings","legible","legibly","legislate","lego","legroom","legume","legwarmer","legwork","lemon","lend","length","lens","lent","leotard","lesser","letdown","lethargic","lethargy","letter","lettuce","level","leverage","levers","levitate","levitator","liability","liable","liberty","librarian","library","licking","licorice","lid","life","lifter","lifting","liftoff","ligament","likely","likeness","likewise","liking","lilac","lilly","lily","limb","limeade","limelight","limes","limit","limping","limpness","line","lingo","linguini","linguist","lining","linked","linoleum","linseed","lint","lion","lip","liquefy","liqueur","liquid","lisp","list","litigate","litigator","litmus","litter","little","livable","lived","lively","liver","livestock","lividly","living","lizard","lubricant","lubricate","lucid","luckily","luckiness","luckless","lucrative","ludicrous","lugged","lukewarm","lullaby","lumber","luminance","luminous","lumpiness","lumping","lumpish","lunacy","lunar","lunchbox","luncheon","lunchroom","lunchtime","lung","lurch","lure","luridness","lurk","lushly","lushness","luster","lustfully","lustily","lustiness","lustrous","lusty","luxurious","luxury","lying","lyrically","lyricism","lyricist","lyrics","macarena","macaroni","macaw","mace","machine","machinist","magazine","magenta","maggot","magical","magician","magma","magnesium","magnetic","magnetism","magnetize","magnifier","magnify","magnitude","magnolia","mahogany","maimed","majestic","majesty","majorette","majority","makeover","maker","makeshift","making","malformed","malt","mama","mammal","mammary","mammogram","manager","managing","manatee","mandarin","mandate","mandatory","mandolin","manger","mangle","mango","mangy","manhandle","manhole","manhood","manhunt","manicotti","manicure","manifesto","manila","mankind","manlike","manliness","manly","manmade","manned","mannish","manor","manpower","mantis","mantra","manual","many","map","marathon","marauding","marbled","marbles","marbling","march","mardi","margarine","margarita","margin","marigold","marina","marine","marital","maritime","marlin","marmalade","maroon","married","marrow","marry","marshland","marshy","marsupial","marvelous","marxism","mascot","masculine","mashed","mashing","massager","masses","massive","mastiff","matador","matchbook","matchbox","matcher","matching","matchless","material","maternal","maternity","math","mating","matriarch","matrimony","matrix","matron","matted","matter","maturely","maturing","maturity","mauve","maverick","maximize","maximum","maybe","mayday","mayflower","moaner","moaning","mobile","mobility","mobilize","mobster","mocha","mocker","mockup","modified","modify","modular","modulator","module","moisten","moistness","moisture","molar","molasses","mold","molecular","molecule","molehill","mollusk","mom","monastery","monday","monetary","monetize","moneybags","moneyless","moneywise","mongoose","mongrel","monitor","monkhood","monogamy","monogram","monologue","monopoly","monorail","monotone","monotype","monoxide","monsieur","monsoon","monstrous","monthly","monument","moocher","moodiness","moody","mooing","moonbeam","mooned","moonlight","moonlike","moonlit","moonrise","moonscape","moonshine","moonstone","moonwalk","mop","morale","morality","morally","morbidity","morbidly","morphine","morphing","morse","mortality","mortally","mortician","mortified","mortify","mortuary","mosaic","mossy","most","mothball","mothproof","motion","motivate","motivator","motive","motocross","motor","motto","mountable","mountain","mounted","mounting","mourner","mournful","mouse","mousiness","moustache","mousy","mouth","movable","move","movie","moving","mower","mowing","much","muck","mud","mug","mulberry","mulch","mule","mulled","mullets","multiple","multiply","multitask","multitude","mumble","mumbling","mumbo","mummified","mummify","mummy","mumps","munchkin","mundane","municipal","muppet","mural","murkiness","murky","murmuring","muscular","museum","mushily","mushiness","mushroom","mushy","music","musket","muskiness","musky","mustang","mustard","muster","mustiness","musty","mutable","mutate","mutation","mute","mutilated","mutilator","mutiny","mutt","mutual","muzzle","myself","myspace","mystified","mystify","myth","nacho","nag","nail","name","naming","nanny","nanometer","nape","napkin","napped","napping","nappy","narrow","nastily","nastiness","national","native","nativity","natural","nature","naturist","nautical","navigate","navigator","navy","nearby","nearest","nearly","nearness","neatly","neatness","nebula","nebulizer","nectar","negate","negation","negative","neglector","negligee","negligent","negotiate","nemeses","nemesis","neon","nephew","nerd","nervous","nervy","nest","net","neurology","neuron","neurosis","neurotic","neuter","neutron","never","next","nibble","nickname","nicotine","niece","nifty","nimble","nimbly","nineteen","ninetieth","ninja","nintendo","ninth","nuclear","nuclei","nucleus","nugget","nullify","number","numbing","numbly","numbness","numeral","numerate","numerator","numeric","numerous","nuptials","nursery","nursing","nurture","nutcase","nutlike","nutmeg","nutrient","nutshell","nuttiness","nutty","nuzzle","nylon","oaf","oak","oasis","oat","obedience","obedient","obituary","object","obligate","obliged","oblivion","oblivious","oblong","obnoxious","oboe","obscure","obscurity","observant","observer","observing","obsessed","obsession","obsessive","obsolete","obstacle","obstinate","obstruct","obtain","obtrusive","obtuse","obvious","occultist","occupancy","occupant","occupier","occupy","ocean","ocelot","octagon","octane","october","octopus","ogle","oil","oink","ointment","okay","old","olive","olympics","omega","omen","ominous","omission","omit","omnivore","onboard","oncoming","ongoing","onion","online","onlooker","only","onscreen","onset","onshore","onslaught","onstage","onto","onward","onyx","oops","ooze","oozy","opacity","opal","open","operable","operate","operating","operation","operative","operator","opium","opossum","opponent","oppose","opposing","opposite","oppressed","oppressor","opt","opulently","osmosis","other","otter","ouch","ought","ounce","outage","outback","outbid","outboard","outbound","outbreak","outburst","outcast","outclass","outcome","outdated","outdoors","outer","outfield","outfit","outflank","outgoing","outgrow","outhouse","outing","outlast","outlet","outline","outlook","outlying","outmatch","outmost","outnumber","outplayed","outpost","outpour","output","outrage","outrank","outreach","outright","outscore","outsell","outshine","outshoot","outsider","outskirts","outsmart","outsource","outspoken","outtakes","outthink","outward","outweigh","outwit","oval","ovary","oven","overact","overall","overarch","overbid","overbill","overbite","overblown","overboard","overbook","overbuilt","overcast","overcoat","overcome","overcook","overcrowd","overdraft","overdrawn","overdress","overdrive","overdue","overeager","overeater","overexert","overfed","overfeed","overfill","overflow","overfull","overgrown","overhand","overhang","overhaul","overhead","overhear","overheat","overhung","overjoyed","overkill","overlabor","overlaid","overlap","overlay","overload","overlook","overlord","overlying","overnight","overpass","overpay","overplant","overplay","overpower","overprice","overrate","overreach","overreact","override","overripe","overrule","overrun","overshoot","overshot","oversight","oversized","oversleep","oversold","overspend","overstate","overstay","overstep","overstock","overstuff","oversweet","overtake","overthrow","overtime","overtly","overtone","overture","overturn","overuse","overvalue","overview","overwrite","owl","oxford","oxidant","oxidation","oxidize","oxidizing","oxygen","oxymoron","oyster","ozone","paced","pacemaker","pacific","pacifier","pacifism","pacifist","pacify","padded","padding","paddle","paddling","padlock","pagan","pager","paging","pajamas","palace","palatable","palm","palpable","palpitate","paltry","pampered","pamperer","pampers","pamphlet","panama","pancake","pancreas","panda","pandemic","pang","panhandle","panic","panning","panorama","panoramic","panther","pantomime","pantry","pants","pantyhose","paparazzi","papaya","paper","paprika","papyrus","parabola","parachute","parade","paradox","paragraph","parakeet","paralegal","paralyses","paralysis","paralyze","paramedic","parameter","paramount","parasail","parasite","parasitic","parcel","parched","parchment","pardon","parish","parka","parking","parkway","parlor","parmesan","parole","parrot","parsley","parsnip","partake","parted","parting","partition","partly","partner","partridge","party","passable","passably","passage","passcode","passenger","passerby","passing","passion","passive","passivism","passover","passport","password","pasta","pasted","pastel","pastime","pastor","pastrami","pasture","pasty","patchwork","patchy","paternal","paternity","path","patience","patient","patio","patriarch","patriot","patrol","patronage","patronize","pauper","pavement","paver","pavestone","pavilion","paving","pawing","payable","payback","paycheck","payday","payee","payer","paying","payment","payphone","payroll","pebble","pebbly","pecan","pectin","peculiar","peddling","pediatric","pedicure","pedigree","pedometer","pegboard","pelican","pellet","pelt","pelvis","penalize","penalty","pencil","pendant","pending","penholder","penknife","pennant","penniless","penny","penpal","pension","pentagon","pentagram","pep","perceive","percent","perch","percolate","perennial","perfected","perfectly","perfume","periscope","perish","perjurer","perjury","perkiness","perky","perm","peroxide","perpetual","perplexed","persecute","persevere","persuaded","persuader","pesky","peso","pessimism","pessimist","pester","pesticide","petal","petite","petition","petri","petroleum","petted","petticoat","pettiness","petty","petunia","phantom","phobia","phoenix","phonebook","phoney","phonics","phoniness","phony","phosphate","photo","phrase","phrasing","placard","placate","placidly","plank","planner","plant","plasma","plaster","plastic","plated","platform","plating","platinum","platonic","platter","platypus","plausible","plausibly","playable","playback","player","playful","playgroup","playhouse","playing","playlist","playmaker","playmate","playoff","playpen","playroom","playset","plaything","playtime","plaza","pleading","pleat","pledge","plentiful","plenty","plethora","plexiglas","pliable","plod","plop","plot","plow","ploy","pluck","plug","plunder","plunging","plural","plus","plutonium","plywood","poach","pod","poem","poet","pogo","pointed","pointer","pointing","pointless","pointy","poise","poison","poker","poking","polar","police","policy","polio","polish","politely","polka","polo","polyester","polygon","polygraph","polymer","poncho","pond","pony","popcorn","pope","poplar","popper","poppy","popsicle","populace","popular","populate","porcupine","pork","porous","porridge","portable","portal","portfolio","porthole","portion","portly","portside","poser","posh","posing","possible","possibly","possum","postage","postal","postbox","postcard","posted","poster","posting","postnasal","posture","postwar","pouch","pounce","pouncing","pound","pouring","pout","powdered","powdering","powdery","power","powwow","pox","praising","prance","prancing","pranker","prankish","prankster","prayer","praying","preacher","preaching","preachy","preamble","precinct","precise","precision","precook","precut","predator","predefine","predict","preface","prefix","preflight","preformed","pregame","pregnancy","pregnant","preheated","prelaunch","prelaw","prelude","premiere","premises","premium","prenatal","preoccupy","preorder","prepaid","prepay","preplan","preppy","preschool","prescribe","preseason","preset","preshow","president","presoak","press","presume","presuming","preteen","pretended","pretender","pretense","pretext","pretty","pretzel","prevail","prevalent","prevent","preview","previous","prewar","prewashed","prideful","pried","primal","primarily","primary","primate","primer","primp","princess","print","prior","prism","prison","prissy","pristine","privacy","private","privatize","prize","proactive","probable","probably","probation","probe","probing","probiotic","problem","procedure","process","proclaim","procreate","procurer","prodigal","prodigy","produce","product","profane","profanity","professed","professor","profile","profound","profusely","progeny","prognosis","program","progress","projector","prologue","prolonged","promenade","prominent","promoter","promotion","prompter","promptly","prone","prong","pronounce","pronto","proofing","proofread","proofs","propeller","properly","property","proponent","proposal","propose","props","prorate","protector","protegee","proton","prototype","protozoan","protract","protrude","proud","provable","proved","proven","provided","provider","providing","province","proving","provoke","provoking","provolone","prowess","prowler","prowling","proximity","proxy","prozac","prude","prudishly","prune","pruning","pry","psychic","public","publisher","pucker","pueblo","pug","pull","pulmonary","pulp","pulsate","pulse","pulverize","puma","pumice","pummel","punch","punctual","punctuate","punctured","pungent","punisher","punk","pupil","puppet","puppy","purchase","pureblood","purebred","purely","pureness","purgatory","purge","purging","purifier","purify","purist","puritan","purity","purple","purplish","purposely","purr","purse","pursuable","pursuant","pursuit","purveyor","pushcart","pushchair","pusher","pushiness","pushing","pushover","pushpin","pushup","pushy","putdown","putt","puzzle","puzzling","pyramid","pyromania","python","quack","quadrant","quail","quaintly","quake","quaking","qualified","qualifier","qualify","quality","qualm","quantum","quarrel","quarry","quartered","quarterly","quarters","quartet","quench","query","quicken","quickly","quickness","quicksand","quickstep","quiet","quill","quilt","quintet","quintuple","quirk","quit","quiver","quizzical","quotable","quotation","quote","rabid","race","racing","racism","rack","racoon","radar","radial","radiance","radiantly","radiated","radiation","radiator","radio","radish","raffle","raft","rage","ragged","raging","ragweed","raider","railcar","railing","railroad","railway","raisin","rake","raking","rally","ramble","rambling","ramp","ramrod","ranch","rancidity","random","ranged","ranger","ranging","ranked","ranking","ransack","ranting","rants","rare","rarity","rascal","rash","rasping","ravage","raven","ravine","raving","ravioli","ravishing","reabsorb","reach","reacquire","reaction","reactive","reactor","reaffirm","ream","reanalyze","reappear","reapply","reappoint","reapprove","rearrange","rearview","reason","reassign","reassure","reattach","reawake","rebalance","rebate","rebel","rebirth","reboot","reborn","rebound","rebuff","rebuild","rebuilt","reburial","rebuttal","recall","recant","recapture","recast","recede","recent","recess","recharger","recipient","recital","recite","reckless","reclaim","recliner","reclining","recluse","reclusive","recognize","recoil","recollect","recolor","reconcile","reconfirm","reconvene","recopy","record","recount","recoup","recovery","recreate","rectal","rectangle","rectified","rectify","recycled","recycler","recycling","reemerge","reenact","reenter","reentry","reexamine","referable","referee","reference","refill","refinance","refined","refinery","refining","refinish","reflected","reflector","reflex","reflux","refocus","refold","reforest","reformat","reformed","reformer","reformist","refract","refrain","refreeze","refresh","refried","refueling","refund","refurbish","refurnish","refusal","refuse","refusing","refutable","refute","regain","regalia","regally","reggae","regime","region","register","registrar","registry","regress","regretful","regroup","regular","regulate","regulator","rehab","reheat","rehire","rehydrate","reimburse","reissue","reiterate","rejoice","rejoicing","rejoin","rekindle","relapse","relapsing","relatable","related","relation","relative","relax","relay","relearn","release","relenting","reliable","reliably","reliance","reliant","relic","relieve","relieving","relight","relish","relive","reload","relocate","relock","reluctant","rely","remake","remark","remarry","rematch","remedial","remedy","remember","reminder","remindful","remission","remix","remnant","remodeler","remold","remorse","remote","removable","removal","removed","remover","removing","rename","renderer","rendering","rendition","renegade","renewable","renewably","renewal","renewed","renounce","renovate","renovator","rentable","rental","rented","renter","reoccupy","reoccur","reopen","reorder","repackage","repacking","repaint","repair","repave","repaying","repayment","repeal","repeated","repeater","repent","rephrase","replace","replay","replica","reply","reporter","repose","repossess","repost","repressed","reprimand","reprint","reprise","reproach","reprocess","reproduce","reprogram","reps","reptile","reptilian","repugnant","repulsion","repulsive","repurpose","reputable","reputably","request","require","requisite","reroute","rerun","resale","resample","rescuer","reseal","research","reselect","reseller","resemble","resend","resent","reset","reshape","reshoot","reshuffle","residence","residency","resident","residual","residue","resigned","resilient","resistant","resisting","resize","resolute","resolved","resonant","resonate","resort","resource","respect","resubmit","result","resume","resupply","resurface","resurrect","retail","retainer","retaining","retake","retaliate","retention","rethink","retinal","retired","retiree","retiring","retold","retool","retorted","retouch","retrace","retract","retrain","retread","retreat","retrial","retrieval","retriever","retry","return","retying","retype","reunion","reunite","reusable","reuse","reveal","reveler","revenge","revenue","reverb","revered","reverence","reverend","reversal","reverse","reversing","reversion","revert","revisable","revise","revision","revisit","revivable","revival","reviver","reviving","revocable","revoke","revolt","revolver","revolving","reward","rewash","rewind","rewire","reword","rework","rewrap","rewrite","rhyme","ribbon","ribcage","rice","riches","richly","richness","rickety","ricotta","riddance","ridden","ride","riding","rifling","rift","rigging","rigid","rigor","rimless","rimmed","rind","rink","rinse","rinsing","riot","ripcord","ripeness","ripening","ripping","ripple","rippling","riptide","rise","rising","risk","risotto","ritalin","ritzy","rival","riverbank","riverbed","riverboat","riverside","riveter","riveting","roamer","roaming","roast","robbing","robe","robin","robotics","robust","rockband","rocker","rocket","rockfish","rockiness","rocking","rocklike","rockslide","rockstar","rocky","rogue","roman","romp","rope","roping","roster","rosy","rotten","rotting","rotunda","roulette","rounding","roundish","roundness","roundup","roundworm","routine","routing","rover","roving","royal","rubbed","rubber","rubbing","rubble","rubdown","ruby","ruckus","rudder","rug","ruined","rule","rumble","rumbling","rummage","rumor","runaround","rundown","runner","running","runny","runt","runway","rupture","rural","ruse","rush","rust","rut","sabbath","sabotage","sacrament","sacred","sacrifice","sadden","saddlebag","saddled","saddling","sadly","sadness","safari","safeguard","safehouse","safely","safeness","saffron","saga","sage","sagging","saggy","said","saint","sake","salad","salami","salaried","salary","saline","salon","saloon","salsa","salt","salutary","salute","salvage","salvaging","salvation","same","sample","sampling","sanction","sanctity","sanctuary","sandal","sandbag","sandbank","sandbar","sandblast","sandbox","sanded","sandfish","sanding","sandlot","sandpaper","sandpit","sandstone","sandstorm","sandworm","sandy","sanitary","sanitizer","sank","santa","sapling","sappiness","sappy","sarcasm","sarcastic","sardine","sash","sasquatch","sassy","satchel","satiable","satin","satirical","satisfied","satisfy","saturate","saturday","sauciness","saucy","sauna","savage","savanna","saved","savings","savior","savor","saxophone","say","scabbed","scabby","scalded","scalding","scale","scaling","scallion","scallop","scalping","scam","scandal","scanner","scanning","scant","scapegoat","scarce","scarcity","scarecrow","scared","scarf","scarily","scariness","scarring","scary","scavenger","scenic","schedule","schematic","scheme","scheming","schilling","schnapps","scholar","science","scientist","scion","scoff","scolding","scone","scoop","scooter","scope","scorch","scorebook","scorecard","scored","scoreless","scorer","scoring","scorn","scorpion","scotch","scoundrel","scoured","scouring","scouting","scouts","scowling","scrabble","scraggly","scrambled","scrambler","scrap","scratch","scrawny","screen","scribble","scribe","scribing","scrimmage","script","scroll","scrooge","scrounger","scrubbed","scrubber","scruffy","scrunch","scrutiny","scuba","scuff","sculptor","sculpture","scurvy","scuttle","secluded","secluding","seclusion","second","secrecy","secret","sectional","sector","secular","securely","security","sedan","sedate","sedation","sedative","sediment","seduce","seducing","segment","seismic","seizing","seldom","selected","selection","selective","selector","self","seltzer","semantic","semester","semicolon","semifinal","seminar","semisoft","semisweet","senate","senator","send","senior","senorita","sensation","sensitive","sensitize","sensually","sensuous","sepia","september","septic","septum","sequel","sequence","sequester","series","sermon","serotonin","serpent","serrated","serve","service","serving","sesame","sessions","setback","setting","settle","settling","setup","sevenfold","seventeen","seventh","seventy","severity","shabby","shack","shaded","shadily","shadiness","shading","shadow","shady","shaft","shakable","shakily","shakiness","shaking","shaky","shale","shallot","shallow","shame","shampoo","shamrock","shank","shanty","shape","shaping","share","sharpener","sharper","sharpie","sharply","sharpness","shawl","sheath","shed","sheep","sheet","shelf","shell","shelter","shelve","shelving","sherry","shield","shifter","shifting","shiftless","shifty","shimmer","shimmy","shindig","shine","shingle","shininess","shining","shiny","ship","shirt","shivering","shock","shone","shoplift","shopper","shopping","shoptalk","shore","shortage","shortcake","shortcut","shorten","shorter","shorthand","shortlist","shortly","shortness","shorts","shortwave","shorty","shout","shove","showbiz","showcase","showdown","shower","showgirl","showing","showman","shown","showoff","showpiece","showplace","showroom","showy","shrank","shrapnel","shredder","shredding","shrewdly","shriek","shrill","shrimp","shrine","shrink","shrivel","shrouded","shrubbery","shrubs","shrug","shrunk","shucking","shudder","shuffle","shuffling","shun","shush","shut","shy","siamese","siberian","sibling","siding","sierra","siesta","sift","sighing","silenced","silencer","silent","silica","silicon","silk","silliness","silly","silo","silt","silver","similarly","simile","simmering","simple","simplify","simply","sincere","sincerity","singer","singing","single","singular","sinister","sinless","sinner","sinuous","sip","siren","sister","sitcom","sitter","sitting","situated","situation","sixfold","sixteen","sixth","sixties","sixtieth","sixtyfold","sizable","sizably","size","sizing","sizzle","sizzling","skater","skating","skedaddle","skeletal","skeleton","skeptic","sketch","skewed","skewer","skid","skied","skier","skies","skiing","skilled","skillet","skillful","skimmed","skimmer","skimming","skimpily","skincare","skinhead","skinless","skinning","skinny","skintight","skipper","skipping","skirmish","skirt","skittle","skydiver","skylight","skyline","skype","skyrocket","skyward","slab","slacked","slacker","slacking","slackness","slacks","slain","slam","slander","slang","slapping","slapstick","slashed","slashing","slate","slather","slaw","sled","sleek","sleep","sleet","sleeve","slept","sliceable","sliced","slicer","slicing","slick","slider","slideshow","sliding","slighted","slighting","slightly","slimness","slimy","slinging","slingshot","slinky","slip","slit","sliver","slobbery","slogan","sloped","sloping","sloppily","sloppy","slot","slouching","slouchy","sludge","slug","slum","slurp","slush","sly","small","smartly","smartness","smasher","smashing","smashup","smell","smelting","smile","smilingly","smirk","smite","smith","smitten","smock","smog","smoked","smokeless","smokiness","smoking","smoky","smolder","smooth","smother","smudge","smudgy","smuggler","smuggling","smugly","smugness","snack","snagged","snaking","snap","snare","snarl","snazzy","sneak","sneer","sneeze","sneezing","snide","sniff","snippet","snipping","snitch","snooper","snooze","snore","snoring","snorkel","snort","snout","snowbird","snowboard","snowbound","snowcap","snowdrift","snowdrop","snowfall","snowfield","snowflake","snowiness","snowless","snowman","snowplow","snowshoe","snowstorm","snowsuit","snowy","snub","snuff","snuggle","snugly","snugness","speak","spearfish","spearhead","spearman","spearmint","species","specimen","specked","speckled","specks","spectacle","spectator","spectrum","speculate","speech","speed","spellbind","speller","spelling","spendable","spender","spending","spent","spew","sphere","spherical","sphinx","spider","spied","spiffy","spill","spilt","spinach","spinal","spindle","spinner","spinning","spinout","spinster","spiny","spiral","spirited","spiritism","spirits","spiritual","splashed","splashing","splashy","splatter","spleen","splendid","splendor","splice","splicing","splinter","splotchy","splurge","spoilage","spoiled","spoiler","spoiling","spoils","spoken","spokesman","sponge","spongy","sponsor","spoof","spookily","spooky","spool","spoon","spore","sporting","sports","sporty","spotless","spotlight","spotted","spotter","spotting","spotty","spousal","spouse","spout","sprain","sprang","sprawl","spray","spree","sprig","spring","sprinkled","sprinkler","sprint","sprite","sprout","spruce","sprung","spry","spud","spur","sputter","spyglass","squabble","squad","squall","squander","squash","squatted","squatter","squatting","squeak","squealer","squealing","squeamish","squeegee","squeeze","squeezing","squid","squiggle","squiggly","squint","squire","squirt","squishier","squishy","stability","stabilize","stable","stack","stadium","staff","stage","staging","stagnant","stagnate","stainable","stained","staining","stainless","stalemate","staleness","stalling","stallion","stamina","stammer","stamp","stand","stank","staple","stapling","starboard","starch","stardom","stardust","starfish","stargazer","staring","stark","starless","starlet","starlight","starlit","starring","starry","starship","starter","starting","startle","startling","startup","starved","starving","stash","state","static","statistic","statue","stature","status","statute","statutory","staunch","stays","steadfast","steadier","steadily","steadying","steam","steed","steep","steerable","steering","steersman","stegosaur","stellar","stem","stench","stencil","step","stereo","sterile","sterility","sterilize","sterling","sternness","sternum","stew","stick","stiffen","stiffly","stiffness","stifle","stifling","stillness","stilt","stimulant","stimulate","stimuli","stimulus","stinger","stingily","stinging","stingray","stingy","stinking","stinky","stipend","stipulate","stir","stitch","stock","stoic","stoke","stole","stomp","stonewall","stoneware","stonework","stoning","stony","stood","stooge","stool","stoop","stoplight","stoppable","stoppage","stopped","stopper","stopping","stopwatch","storable","storage","storeroom","storewide","storm","stout","stove","stowaway","stowing","straddle","straggler","strained","strainer","straining","strangely","stranger","strangle","strategic","strategy","stratus","straw","stray","streak","stream","street","strength","strenuous","strep","stress","stretch","strewn","stricken","strict","stride","strife","strike","striking","strive","striving","strobe","strode","stroller","strongbox","strongly","strongman","struck","structure","strudel","struggle","strum","strung","strut","stubbed","stubble","stubbly","stubborn","stucco","stuck","student","studied","studio","study","stuffed","stuffing","stuffy","stumble","stumbling","stump","stung","stunned","stunner","stunning","stunt","stupor","sturdily","sturdy","styling","stylishly","stylist","stylized","stylus","suave","subarctic","subatomic","subdivide","subdued","subduing","subfloor","subgroup","subheader","subject","sublease","sublet","sublevel","sublime","submarine","submerge","submersed","submitter","subpanel","subpar","subplot","subprime","subscribe","subscript","subsector","subside","subsiding","subsidize","subsidy","subsoil","subsonic","substance","subsystem","subtext","subtitle","subtly","subtotal","subtract","subtype","suburb","subway","subwoofer","subzero","succulent","such","suction","sudden","sudoku","suds","sufferer","suffering","suffice","suffix","suffocate","suffrage","sugar","suggest","suing","suitable","suitably","suitcase","suitor","sulfate","sulfide","sulfite","sulfur","sulk","sullen","sulphate","sulphuric","sultry","superbowl","superglue","superhero","superior","superjet","superman","supermom","supernova","supervise","supper","supplier","supply","support","supremacy","supreme","surcharge","surely","sureness","surface","surfacing","surfboard","surfer","surgery","surgical","surging","surname","surpass","surplus","surprise","surreal","surrender","surrogate","surround","survey","survival","survive","surviving","survivor","sushi","suspect","suspend","suspense","sustained","sustainer","swab","swaddling","swagger","swampland","swan","swapping","swarm","sway","swear","sweat","sweep","swell","swept","swerve","swifter","swiftly","swiftness","swimmable","swimmer","swimming","swimsuit","swimwear","swinger","swinging","swipe","swirl","switch","swivel","swizzle","swooned","swoop","swoosh","swore","sworn","swung","sycamore","sympathy","symphonic","symphony","symptom","synapse","syndrome","synergy","synopses","synopsis","synthesis","synthetic","syrup","system","t-shirt","tabasco","tabby","tableful","tables","tablet","tableware","tabloid","tackiness","tacking","tackle","tackling","tacky","taco","tactful","tactical","tactics","tactile","tactless","tadpole","taekwondo","tag","tainted","take","taking","talcum","talisman","tall","talon","tamale","tameness","tamer","tamper","tank","tanned","tannery","tanning","tantrum","tapeless","tapered","tapering","tapestry","tapioca","tapping","taps","tarantula","target","tarmac","tarnish","tarot","tartar","tartly","tartness","task","tassel","taste","tastiness","tasting","tasty","tattered","tattle","tattling","tattoo","taunt","tavern","thank","that","thaw","theater","theatrics","thee","theft","theme","theology","theorize","thermal","thermos","thesaurus","these","thesis","thespian","thicken","thicket","thickness","thieving","thievish","thigh","thimble","thing","think","thinly","thinner","thinness","thinning","thirstily","thirsting","thirsty","thirteen","thirty","thong","thorn","those","thousand","thrash","thread","threaten","threefold","thrift","thrill","thrive","thriving","throat","throbbing","throng","throttle","throwaway","throwback","thrower","throwing","thud","thumb","thumping","thursday","thus","thwarting","thyself","tiara","tibia","tidal","tidbit","tidiness","tidings","tidy","tiger","tighten","tightly","tightness","tightrope","tightwad","tigress","tile","tiling","till","tilt","timid","timing","timothy","tinderbox","tinfoil","tingle","tingling","tingly","tinker","tinkling","tinsel","tinsmith","tint","tinwork","tiny","tipoff","tipped","tipper","tipping","tiptoeing","tiptop","tiring","tissue","trace","tracing","track","traction","tractor","trade","trading","tradition","traffic","tragedy","trailing","trailside","train","traitor","trance","tranquil","transfer","transform","translate","transpire","transport","transpose","trapdoor","trapeze","trapezoid","trapped","trapper","trapping","traps","trash","travel","traverse","travesty","tray","treachery","treading","treadmill","treason","treat","treble","tree","trekker","tremble","trembling","tremor","trench","trend","trespass","triage","trial","triangle","tribesman","tribunal","tribune","tributary","tribute","triceps","trickery","trickily","tricking","trickle","trickster","tricky","tricolor","tricycle","trident","tried","trifle","trifocals","trillion","trilogy","trimester","trimmer","trimming","trimness","trinity","trio","tripod","tripping","triumph","trivial","trodden","trolling","trombone","trophy","tropical","tropics","trouble","troubling","trough","trousers","trout","trowel","truce","truck","truffle","trump","trunks","trustable","trustee","trustful","trusting","trustless","truth","try","tubby","tubeless","tubular","tucking","tuesday","tug","tuition","tulip","tumble","tumbling","tummy","turban","turbine","turbofan","turbojet","turbulent","turf","turkey","turmoil","turret","turtle","tusk","tutor","tutu","tux","tweak","tweed","tweet","tweezers","twelve","twentieth","twenty","twerp","twice","twiddle","twiddling","twig","twilight","twine","twins","twirl","twistable","twisted","twister","twisting","twisty","twitch","twitter","tycoon","tying","tyke","udder","ultimate","ultimatum","ultra","umbilical","umbrella","umpire","unabashed","unable","unadorned","unadvised","unafraid","unaired","unaligned","unaltered","unarmored","unashamed","unaudited","unawake","unaware","unbaked","unbalance","unbeaten","unbend","unbent","unbiased","unbitten","unblended","unblessed","unblock","unbolted","unbounded","unboxed","unbraided","unbridle","unbroken","unbuckled","unbundle","unburned","unbutton","uncanny","uncapped","uncaring","uncertain","unchain","unchanged","uncharted","uncheck","uncivil","unclad","unclaimed","unclamped","unclasp","uncle","unclip","uncloak","unclog","unclothed","uncoated","uncoiled","uncolored","uncombed","uncommon","uncooked","uncork","uncorrupt","uncounted","uncouple","uncouth","uncover","uncross","uncrown","uncrushed","uncured","uncurious","uncurled","uncut","undamaged","undated","undaunted","undead","undecided","undefined","underage","underarm","undercoat","undercook","undercut","underdog","underdone","underfed","underfeed","underfoot","undergo","undergrad","underhand","underline","underling","undermine","undermost","underpaid","underpass","underpay","underrate","undertake","undertone","undertook","undertow","underuse","underwear","underwent","underwire","undesired","undiluted","undivided","undocked","undoing","undone","undrafted","undress","undrilled","undusted","undying","unearned","unearth","unease","uneasily","uneasy","uneatable","uneaten","unedited","unelected","unending","unengaged","unenvied","unequal","unethical","uneven","unexpired","unexposed","unfailing","unfair","unfasten","unfazed","unfeeling","unfiled","unfilled","unfitted","unfitting","unfixable","unfixed","unflawed","unfocused","unfold","unfounded","unframed","unfreeze","unfrosted","unfrozen","unfunded","unglazed","ungloved","unglue","ungodly","ungraded","ungreased","unguarded","unguided","unhappily","unhappy","unharmed","unhealthy","unheard","unhearing","unheated","unhelpful","unhidden","unhinge","unhitched","unholy","unhook","unicorn","unicycle","unified","unifier","uniformed","uniformly","unify","unimpeded","uninjured","uninstall","uninsured","uninvited","union","uniquely","unisexual","unison","unissued","unit","universal","universe","unjustly","unkempt","unkind","unknotted","unknowing","unknown","unlaced","unlatch","unlawful","unleaded","unlearned","unleash","unless","unleveled","unlighted","unlikable","unlimited","unlined","unlinked","unlisted","unlit","unlivable","unloaded","unloader","unlocked","unlocking","unlovable","unloved","unlovely","unloving","unluckily","unlucky","unmade","unmanaged","unmanned","unmapped","unmarked","unmasked","unmasking","unmatched","unmindful","unmixable","unmixed","unmolded","unmoral","unmovable","unmoved","unmoving","unnamable","unnamed","unnatural","unneeded","unnerve","unnerving","unnoticed","unopened","unopposed","unpack","unpadded","unpaid","unpainted","unpaired","unpaved","unpeeled","unpicked","unpiloted","unpinned","unplanned","unplanted","unpleased","unpledged","unplowed","unplug","unpopular","unproven","unquote","unranked","unrated","unraveled","unreached","unread","unreal","unreeling","unrefined","unrelated","unrented","unrest","unretired","unrevised","unrigged","unripe","unrivaled","unroasted","unrobed","unroll","unruffled","unruly","unrushed","unsaddle","unsafe","unsaid","unsalted","unsaved","unsavory","unscathed","unscented","unscrew","unsealed","unseated","unsecured","unseeing","unseemly","unseen","unselect","unselfish","unsent","unsettled","unshackle","unshaken","unshaved","unshaven","unsheathe","unshipped","unsightly","unsigned","unskilled","unsliced","unsmooth","unsnap","unsocial","unsoiled","unsold","unsolved","unsorted","unspoiled","unspoken","unstable","unstaffed","unstamped","unsteady","unsterile","unstirred","unstitch","unstopped","unstuck","unstuffed","unstylish","unsubtle","unsubtly","unsuited","unsure","unsworn","untagged","untainted","untaken","untamed","untangled","untapped","untaxed","unthawed","unthread","untidy","untie","until","untimed","untimely","untitled","untoasted","untold","untouched","untracked","untrained","untreated","untried","untrimmed","untrue","untruth","unturned","untwist","untying","unusable","unused","unusual","unvalued","unvaried","unvarying","unveiled","unveiling","unvented","unviable","unvisited","unvocal","unwanted","unwarlike","unwary","unwashed","unwatched","unweave","unwed","unwelcome","unwell","unwieldy","unwilling","unwind","unwired","unwitting","unwomanly","unworldly","unworn","unworried","unworthy","unwound","unwoven","unwrapped","unwritten","unzip","upbeat","upchuck","upcoming","upcountry","update","upfront","upgrade","upheaval","upheld","uphill","uphold","uplifted","uplifting","upload","upon","upper","upright","uprising","upriver","uproar","uproot","upscale","upside","upstage","upstairs","upstart","upstate","upstream","upstroke","upswing","uptake","uptight","uptown","upturned","upward","upwind","uranium","urban","urchin","urethane","urgency","urgent","urging","urologist","urology","usable","usage","useable","used","uselessly","user","usher","usual","utensil","utility","utilize","utmost","utopia","utter","vacancy","vacant","vacate","vacation","vagabond","vagrancy","vagrantly","vaguely","vagueness","valiant","valid","valium","valley","valuables","value","vanilla","vanish","vanity","vanquish","vantage","vaporizer","variable","variably","varied","variety","various","varmint","varnish","varsity","varying","vascular","vaseline","vastly","vastness","veal","vegan","veggie","vehicular","velcro","velocity","velvet","vendetta","vending","vendor","veneering","vengeful","venomous","ventricle","venture","venue","venus","verbalize","verbally","verbose","verdict","verify","verse","version","versus","vertebrae","vertical","vertigo","very","vessel","vest","veteran","veto","vexingly","viability","viable","vibes","vice","vicinity","victory","video","viewable","viewer","viewing","viewless","viewpoint","vigorous","village","villain","vindicate","vineyard","vintage","violate","violation","violator","violet","violin","viper","viral","virtual","virtuous","virus","visa","viscosity","viscous","viselike","visible","visibly","vision","visiting","visitor","visor","vista","vitality","vitalize","vitally","vitamins","vivacious","vividly","vividness","vixen","vocalist","vocalize","vocally","vocation","voice","voicing","void","volatile","volley","voltage","volumes","voter","voting","voucher","vowed","vowel","voyage","wackiness","wad","wafer","waffle","waged","wager","wages","waggle","wagon","wake","waking","walk","walmart","walnut","walrus","waltz","wand","wannabe","wanted","wanting","wasabi","washable","washbasin","washboard","washbowl","washcloth","washday","washed","washer","washhouse","washing","washout","washroom","washstand","washtub","wasp","wasting","watch","water","waviness","waving","wavy","whacking","whacky","wham","wharf","wheat","whenever","whiff","whimsical","whinny","whiny","whisking","whoever","whole","whomever","whoopee","whooping","whoops","why","wick","widely","widen","widget","widow","width","wieldable","wielder","wife","wifi","wikipedia","wildcard","wildcat","wilder","wildfire","wildfowl","wildland","wildlife","wildly","wildness","willed","willfully","willing","willow","willpower","wilt","wimp","wince","wincing","wind","wing","winking","winner","winnings","winter","wipe","wired","wireless","wiring","wiry","wisdom","wise","wish","wisplike","wispy","wistful","wizard","wobble","wobbling","wobbly","wok","wolf","wolverine","womanhood","womankind","womanless","womanlike","womanly","womb","woof","wooing","wool","woozy","word","work","worried","worrier","worrisome","worry","worsening","worshiper","worst","wound","woven","wow","wrangle","wrath","wreath","wreckage","wrecker","wrecking","wrench","wriggle","wriggly","wrinkle","wrinkly","wrist","writing","written","wrongdoer","wronged","wrongful","wrongly","wrongness","wrought","xbox","xerox","yahoo","yam","yanking","yapping","yard","yarn","yeah","yearbook","yearling","yearly","yearning","yeast","yelling","yelp","yen","yesterday","yiddish","yield","yin","yippee","yo-yo","yodel","yoga","yogurt","yonder","yoyo","yummy","zap","zealous","zebra","zen","zeppelin","zero","zestfully","zesty","zigzagged","zipfile","zipping","zippy","zips","zit","zodiac","zombie","zone","zoning","zookeeper","zoologist","zoology","zoom"]},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&this.cipherService.upsert(r)}return[2]}})})},n.prototype.deleteWithServer=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.apiService.deleteFolder(n)];case 1:return l.sent(),[4,this.delete(n)];case 2:return l.sent(),[2]}})})},n}();l.FolderService=f},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.userId=l,this.name=n.name,this.id=n.id,this.revisionDate=n.revisionDate}}();l.FolderData=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=e?[4,this.lock(!0)]:[3,6]);case 5:t.sent(),t.label=6;case 6:return[2]}})})},n.prototype.lock=function(n){return void 0===n&&(n=!1),t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return n?[4,this.isPinLockSet()]:[3,4];case 1:return l.sent()[0]?(this.pinLocked=!0,this.messagingService.send("locked"),null==this.lockedCallback?[3,3]:[4,this.lockedCallback()]):[3,4];case 2:l.sent(),l.label=3;case 3:return[2];case 4:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 5:return l.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.searchService.clearIndex(),this.messagingService.send("locked"),null==this.lockedCallback?[3,7]:[4,this.lockedCallback()];case 6:l.sent(),l.label=7;case 7:return[2]}})})},n.prototype.setLockOption=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.storageService.save(r.ConstantsService.lockOptionKey,n)];case 1:return l.sent(),[4,this.cryptoService.toggleKey()];case 2:return l.sent(),[2]}})})},n.prototype.isPinLockSet=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.storageService.get(r.ConstantsService.protectedPin)];case 1:return n=e.sent(),[4,this.storageService.get(r.ConstantsService.pinProtectedKey)];case 2:return l=e.sent(),[2,[null!=n,null!=l]]}})})},n.prototype.clear=function(){return this.storageService.remove(r.ConstantsService.protectedPin)},n}();l.LockService=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0)for(p=0;p0)for(p=0;p0)for(p=0;p0)for(p=0;p1)&&(l.wordSeparator=" "),e=a.EEFLongWordList.length-1,t=new Array(l.numWords),r=0,u.label=1;case 1:return r100&&l.pop(),[4,this.encryptHistory(l)]);case 3:return e=t.sent(),[4,this.storageService.save(d,e)];case 4:return[2,t.sent()]}})})},n.prototype.clear=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.history=[],[4,this.storageService.remove(d)];case 1:return[2,n.sent()]}})})},n.prototype.passwordStrength=function(n,l){if(void 0===l&&(l=null),null==n||0===n.length)return null;var e=["bitwarden","bit","warden"];null!=l&&l.length>0&&(e=e.concat(l));var t=Array.from(new Set(e));return r(n,t)},n.prototype.encryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.encrypt(n.password)];case 1:return l=e.sent(),[2,new i.GeneratedPasswordHistory(l.encryptedString,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.decryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.decryptToUtf8(new o.CipherString(n.password))];case 1:return l=e.sent(),[2,new i.GeneratedPasswordHistory(l,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.matchesPrevious=function(n,l){return null!=l&&0!==l.length&&l[l.length-1].password===n},n.prototype.shuffleArray=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:e=n.length-1,u.label=1;case 1:return e>0?[4,this.cryptoService.randomNumber(0,e)]:[3,4];case 2:t=u.sent(),l=[n[t],n[e]],n[e]=l[0],n[t]=l[1],u.label=3;case 3:return e--,[3,1];case 4:return[2]}})})},n}();l.PasswordGenerationService=p},,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=n.revisionDate&&(e=!1),o=!1,e&&(l?(e=null!=t,o=!0):null==n.collectionIds||null==n.organizationId?e=null==t:(e=!1,o=!0)),!e&&o&&null!=n.organizationId&&null!=n.collectionIds&&n.collectionIds.length>0?[4,this.collectionService.getAll()]:[3,5];case 4:if(null!=(i=u.sent()))for(a=0;a0&&n.push(l.domains)}),[2,this.settingsService.setEquivalentDomains(n)]})})},n}();l.SyncService=c},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]10?t=10:d>0&&(t=d)}catch(n){}if(c.has("period")&&null!=c.get("period"))try{(p=parseInt(c.get("period").trim(),null))>0&&(l=p)}catch(n){}c.has("secret")&&null!=c.get("secret")&&(r=c.get("secret")),c.has("algorithm")&&null!=c.get("algorithm")&&("sha1"!==(f=c.get("algorithm").toLowerCase())&&"sha256"!==f&&"sha512"!==f||(e=f))}else s&&(r=n.substr("steam://".length),t=5);return v=Math.round((new Date).getTime()/1e3),h=this.leftPad(this.decToHex(Math.floor(v/l)),16,"0"),g=o.Utils.fromHexToArray(h),(m=this.b32ToBytes(r)).length&&g.length?[4,this.sign(m,g,e)]:[2,null];case 1:if(0===(y=u.sent()).length)return[2,null];if(C=15&y[y.length-1],b=(127&y[C])<<24|(255&y[C+1])<<16|(255&y[C+2])<<8|255&y[C+3],w="",s)for(S=2147483647&b,_=0;_=n.length&&(n=Array(l+1-n.length).join(e)+n),n},n.prototype.decToHex=function(n){return(n<15.5?"0":"")+Math.round(n).toString(16)},n.prototype.b32ToHex=function(n){n=n.toUpperCase();for(var l="",e=0;e0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&this.u2f.init({appId:l[0].appId,challenge:l[0].challenge,keys:l.map(function(n){return{version:n.version,keyHandle:n.keyHandle}})}),[3,7]):[3,7];case 2:return this.platformUtilsService.getDevice()===r.DeviceType.SafariExtension?[3,7]:(setTimeout(function(){s.init({iframe:void 0,host:n.Host,sig_request:n.Signature,submit_callback:function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null==(l=n.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=l.value,[4,this.submit()]);case 1:e.sent(),e.label=2;case 2:return[2]}})})}})},0),[3,7]);case 3:return this.twoFactorEmail=n.Email,this.authService.twoFactorProviders.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:i.sent(),i.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:if(null==this.token||""===this.token)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===o.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==o.TwoFactorProviderType.Email&&this.selectedProviderType!==o.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());n.label=1;case 1:return n.trys.push([1,3,,4]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return n.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.platformUtilsService.eventTrack("Logged In From Two-step"),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute]),[3,4];case 3:return n.sent(),this.selectedProviderType===o.TwoFactorProviderType.U2f&&null!=this.u2f&&this.u2f.start(),[3,4];case 4:return[2]}})})},n.prototype.sendEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:if(this.selectedProviderType!==o.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),l=new i.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(l),[4,this.emailPromise];case 2:return e.sent(),n&&this.platformUtilsService.showToast("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return e.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},n.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},n}();l.TwoFactorComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.twoFactor=!1,this.twoFactorProviders=null}}();l.AuthResult=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.type=l.getDevice(),this.name=l.getDeviceString(),this.identifier=n,this.pushToken=null}}();l.DeviceRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.email=n}}();l.PreloginRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n,l,e,t,u,r){this.email=n,this.masterPasswordHash=l,this.token=t,this.provider=e,this.remember=u,this.device=null!=r?r:null}return n.prototype.toIdentityToken=function(n){var l={grant_type:"password",username:this.email,password:this.masterPasswordHash,scope:"api offline_access",client_id:n};return this.device&&(l.deviceType=this.device.type,l.deviceIdentifier=this.device.identifier,l.deviceName=this.device.name),this.token&&null!=this.provider&&(l.twoFactorToken=this.token,l.twoFactorProvider=this.provider,l.twoFactorRemember=this.remember?"1":"0"),l},n}();l.TokenRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n,l,e,t,u){this.win=n,this.webVaultUrl=l,this.successCallback=e,this.errorCallback=t,this.infoCallback=u,this.iframe=null,this.parseFunction=this.parseMessage.bind(this),this.connectorLink=n.document.createElement("a"),this.webVaultUrl=null!=l&&""!==l?l:"https://vault.bitwarden.com"}return n.prototype.init=function(n){this.connectorLink.href=this.webVaultUrl+"/u2f-connector.html?data="+this.base64Encode(JSON.stringify(n))+"&parent="+encodeURIComponent(this.win.document.location.href)+"&v=1",this.iframe=this.win.document.getElementById("u2f_iframe"),this.iframe.src=this.connectorLink.href,this.win.addEventListener("message",this.parseFunction,!1)},n.prototype.stop=function(){this.sendMessage("stop")},n.prototype.start=function(){this.sendMessage("start")},n.prototype.sendMessage=function(n){this.iframe&&this.iframe.src&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage(n,this.iframe.src)},n.prototype.base64Encode=function(n){return btoa(encodeURIComponent(n).replace(/%([0-9A-F]{2})/g,function(n,l){return String.fromCharCode("0x"+l)}))},n.prototype.cleanup=function(){this.win.removeEventListener("message",this.parseFunction,!1)},n.prototype.parseMessage=function(n){if(this.validMessage(n)){var l=n.data.split("|");"success"===l[0]&&this.successCallback?this.successCallback(l[1]):"error"===l[0]&&this.errorCallback?this.errorCallback(l[1]):"info"===l[0]&&this.infoCallback&&this.infoCallback(l[1])}},n.prototype.validMessage=function(n){return null!=n.origin&&""!==n.origin&&n.origin===this.connectorLink.origin&&null!=n.data&&"string"==typeof n.data&&(0===n.data.indexOf("success|")||0===n.data.indexOf("error|")||0===n.data.indexOf("info|"))},n}();l.U2f=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(8),a=e(12),s=e(15),c=e(14),d=e(5),p=e(89),f=e(46),v=e(543),h=e(454),g=e(10),m=e(455),y=e(98),C=e(22),b=e(4),w=e(35),S=e(7),_=e(64),I=t.ɵcrt({encapsulation:2,styles:[],data:{}});function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-thumb-tack"],["type","info"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent,0),"createOrganizationStep1")),"");n(l,1,0,"info","fa-thumb-tack",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"createOrganizationCreatePersonalAccount"));n(l,3,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1),(n()(),t.ɵeld(3,0,null,null,2,"a",[["href","https://bitwarden.com/terms/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,[",\n "])),(n()(),t.ɵeld(7,0,null,null,2,"a",[["href","https://bitwarden.com/privacy/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"submitAgreePolicies"));n(l,1,0,e);var u=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"termsOfService"));n(l,4,0,u);var r=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"privacyPolicy"));n(l,8,0,r)})}function A(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,178,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(4,16384,null,0,a.NgControlStatusGroup,[[4,a.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,171,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,168,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,161,"div",[["class","card d-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,158,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,20,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,9,"input",[["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,29)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,29)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,29)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(29,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(30,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,a.NgModel,[[2,a.ControlContainer],[6,a.NG_VALIDATORS],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(35,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(36,81920,null,0,p.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(37,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(40,null,["",""])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,17,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,6,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(53,671744,null,0,a.NgModel,[[2,a.ControlContainer],[8,null],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(55,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(56,81920,null,0,p.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,42,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,31,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,15,"div",[["class","w-100"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,8,"input",[["appInputVerbatim",""],["class","text-monospace form-control mb-1"],["id","masterPassword"],["name","MasterPassword"],["required",""]],[[8,"type",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,74)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,74).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,74)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,74)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);"input"===l&&(u=!1!==r.updatePasswordStrength()&&u);return u},null,null)),t.ɵdid(74,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(75,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(78,671744,null,0,a.NgModel,[[2,a.ControlContainer],[6,a.NG_VALIDATORS],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(80,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(81,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,2,"app-password-strength",[],null,null,null,v.View_PasswordStrengthComponent_0,v.RenderType_PasswordStrengthComponent)),t.ɵdid(84,573440,null,0,h.PasswordStrengthComponent,[o.I18nService],{score:[0,"score"],showText:[1,"showText"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,11,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,6,"button",[["class","ml-1 btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.togglePassword(!1)&&t);return t},null,null)),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(94,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(95,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(98,0,null,null,0,"div",[["class","progress-bar invisible"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(103,null,["",""])),t.ɵppd(104,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(107,0,null,null,26,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,2,"label",[["for","masterPasswordRetype"]],null,null,null,null,null)),(n()(),t.ɵted(110,null,["",""])),t.ɵppd(111,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,19,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(115,0,null,null,8,"input",[["appInputVerbatim",""],["class","text-monospace form-control"],["id","masterPasswordRetype"],["name","MasterPasswordRetype"],["required",""]],[[8,"type",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,116)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,116).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,116)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,116)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.confirmMasterPassword=e)&&u);return u},null,null)),t.ɵdid(116,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(117,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(120,671744,null,0,a.NgModel,[[2,a.ControlContainer],[6,a.NG_VALIDATORS],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(122,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(123,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(125,0,null,null,6,"button",[["class","ml-1 btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.togglePassword(!0)&&t);return t},null,null)),t.ɵppd(126,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(128,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(129,278528,null,0,d.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(130,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(135,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"label",[["for","hint"]],null,null,null,null,null)),(n()(),t.ɵted(138,null,["",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,5,"input",[["class","form-control"],["id","hint"],["name","Hint"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,142)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,142).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,142)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,142)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.hint=e)&&u);return u},null,null)),t.ɵdid(142,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(144,671744,null,0,a.NgModel,[[2,a.ControlContainer],[8,null],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(146,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(148,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(149,null,["",""])),t.ɵppd(150,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(155,0,null,null,16,"div",[["class","d-flex mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,8,"button",[["class","btn btn-primary btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(159,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(160,null,["",""])),t.ɵppd(161,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(163,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(164,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(167,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,168).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(168,671744,null,0,g.RouterLinkWithHref,[g.Router,g.ActivatedRoute,d.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(169,null,["\n ","\n "])),t.ɵppd(170,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(174,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise),n(l,20,0,e.showCreateOrgMessage);n(l,30,0,"");n(l,33,0,"Email",e.email),n(l,36,0,""===e.email);n(l,37,0,"false");n(l,53,0,"Name",e.name),n(l,56,0,""!==e.email);n(l,75,0,"");n(l,78,0,"MasterPassword",e.masterPassword);n(l,81,0,"");n(l,84,0,e.masterPasswordScore,!0);var t=n(l,95,0,!e.showPassword,e.showPassword);n(l,94,0,"fa fa-lg",t);n(l,117,0,"");n(l,120,0,"MasterPasswordRetype",e.confirmMasterPassword);n(l,123,0,"");var u=n(l,130,0,!e.showPassword,e.showPassword);n(l,129,0,"fa fa-lg",u);n(l,144,0,"Hint",e.hint);n(l,168,0,"/"),n(l,174,0,e.showTerms)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var u=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"createAccount"));n(l,12,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"emailAddress"));n(l,25,0,r),n(l,28,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending);var o=t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"emailAddressDesc"));n(l,40,0,o);var i=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l,0),"yourName"));n(l,47,0,i),n(l,50,0,t.ɵnov(l,55).ngClassUntouched,t.ɵnov(l,55).ngClassTouched,t.ɵnov(l,55).ngClassPristine,t.ɵnov(l,55).ngClassDirty,t.ɵnov(l,55).ngClassValid,t.ɵnov(l,55).ngClassInvalid,t.ɵnov(l,55).ngClassPending);var a=t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l,0),"yourNameDesc"));n(l,59,0,a);var s=t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l,0),"masterPass"));n(l,66,0,s),n(l,73,0,t.ɵinlineInterpolate(1,"",e.showPassword?"text":"password",""),t.ɵnov(l,75).required?"":null,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l,0),"toggleVisibility")),"");n(l,90,0,c);var d=t.ɵunv(l,103,0,n(l,104,0,t.ɵnov(l,0),"masterPassDesc"));n(l,103,0,d);var p=t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l,0),"reTypeMasterPass"));n(l,110,0,p),n(l,115,0,t.ɵinlineInterpolate(1,"",e.showPassword?"text":"password",""),t.ɵnov(l,117).required?"":null,t.ɵnov(l,122).ngClassUntouched,t.ɵnov(l,122).ngClassTouched,t.ɵnov(l,122).ngClassPristine,t.ɵnov(l,122).ngClassDirty,t.ɵnov(l,122).ngClassValid,t.ɵnov(l,122).ngClassInvalid,t.ɵnov(l,122).ngClassPending);var f=t.ɵinlineInterpolate(1,"",t.ɵunv(l,125,0,n(l,126,0,t.ɵnov(l,0),"toggleVisibility")),"");n(l,125,0,f);var v=t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l,0),"masterPassHint"));n(l,138,0,v),n(l,141,0,t.ɵnov(l,146).ngClassUntouched,t.ɵnov(l,146).ngClassTouched,t.ɵnov(l,146).ngClassPristine,t.ɵnov(l,146).ngClassDirty,t.ɵnov(l,146).ngClassValid,t.ɵnov(l,146).ngClassInvalid,t.ɵnov(l,146).ngClassPending);var h=t.ɵunv(l,149,0,n(l,150,0,t.ɵnov(l,0),"masterPassHintDesc"));n(l,149,0,h),n(l,157,0,t.ɵnov(l,1).loading);var g=t.ɵunv(l,160,0,n(l,161,0,t.ɵnov(l,0),"submit"));n(l,160,0,g);var m=t.ɵinlineInterpolate(1,"",t.ɵunv(l,163,0,n(l,164,0,t.ɵnov(l,0),"loading")),"");n(l,163,0,m),n(l,167,0,t.ɵnov(l,168).target,t.ɵnov(l,168).href);var y=t.ɵunv(l,169,0,n(l,170,0,t.ɵnov(l,0),"cancel"));n(l,169,0,y)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-register",[],null,null,null,A,I)),t.ɵdid(1,114688,null,0,m.RegisterComponent,[y.AuthService,g.Router,o.I18nService,C.CryptoService,b.ApiService,g.ActivatedRoute,w.StateService,S.PlatformUtilsService,_.PasswordGenerationService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_RegisterComponent=I,l.View_RegisterComponent_0=A,l.View_RegisterComponent_Host_0=P;var O=t.ɵccf("app-register",m.RegisterComponent,P,{},{},[]);l.RegisterComponentNgFactory=O},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(n=n.concat(this.email.substr(0,l).trim().toLowerCase().split(/[^A-Za-z0-9]/))),null!=this.name&&""!==this.name&&(n=n.concat(this.name.trim().toLowerCase().split(" "))),n},n}();l.RegisterComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l,e,t,u,r,o){this.name=l,this.email=n,this.masterPasswordHash=e,this.masterPasswordHint=t||null,this.key=u,this.kdf=r,this.kdfIterations=o}}();l.RegisterRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(89),c=e(46),d=e(10),p=e(5),f=e(457),v=e(4),h=e(7),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,56,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,53,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","card d-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,43,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,20,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,26)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,26).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,26)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,26)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(26,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(27,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(30,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(32,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(33,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(34,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,16,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,8,"button",[["class","btn btn-primary btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"span",[],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,56).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(56,671744,null,0,d.RouterLinkWithHref,[d.Router,d.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(57,null,["\n ","\n "])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,27,0,"");n(l,30,0,"Email",e.email);n(l,33,0,"");n(l,34,0,"false");n(l,56,0,"/")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"passwordHint"));n(l,12,0,e);var u=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"emailAddress"));n(l,22,0,u),n(l,25,0,t.ɵnov(l,27).required?"":null,t.ɵnov(l,32).ngClassUntouched,t.ɵnov(l,32).ngClassTouched,t.ɵnov(l,32).ngClassPristine,t.ɵnov(l,32).ngClassDirty,t.ɵnov(l,32).ngClassValid,t.ɵnov(l,32).ngClassInvalid,t.ɵnov(l,32).ngClassPending);var r=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"enterEmailToGetHint"));n(l,37,0,r),n(l,45,0,t.ɵnov(l,1).loading),n(l,47,0,t.ɵnov(l,1).loading);var o=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"submit"));n(l,48,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l,0),"loading")),"");n(l,51,0,i),n(l,55,0,t.ɵnov(l,56).target,t.ɵnov(l,56).href);var a=t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l,0),"cancel"));n(l,57,0,a)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-hint",[],null,null,null,m,g)),t.ɵdid(1,49152,null,0,f.HintComponent,[d.Router,r.I18nService,v.ApiService,h.PlatformUtilsService],null,null)],null,null)}l.RenderType_HintComponent=g,l.View_HintComponent_0=m,l.View_HintComponent_Host_0=y;var C=t.ɵccf("app-hint",f.HintComponent,y,{},{},[]);l.HintComponentNgFactory=C},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=5)return this.messagingService.send("logout"),[2];this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidPin"))}return[3,16];case 12:return[4,this.cryptoService.makeKey(this.masterPassword,this.email,n,l)];case 13:return a=u.sent(),[4,this.cryptoService.hashPassword(this.masterPassword,a)];case 14:return s=u.sent(),[4,this.cryptoService.getKeyHash()];case 15:null!=(c=u.sent())&&null!=s&&c===s?this.setKeyAndContinue(a):this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidMasterPassword")),u.label=16;case 16:return[2]}})})},n.prototype.logOut=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("logOutConfirmation"),this.i18nService.t("logOut"),this.i18nService.t("logOut"),this.i18nService.t("cancel"))];case 1:return n.sent()&&this.messagingService.send("logout"),[2]}})})},n.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Master Password on Unlock"),this.showPassword=!this.showPassword,document.getElementById(this.pinLock?"pin":"masterPassword").focus()},n.prototype.setKeyAndContinue=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.cryptoService.setKey(n)];case 1:return l.sent(),this.doContinue(),[2]}})})},n.prototype.doContinue=function(){this.messagingService.send("unlocked"),null!=this.onSuccessfulSubmit?this.onSuccessfulSubmit():null!=this.router&&this.router.navigate([this.successRoute])},n}();l.LockComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(460),i=e(10),a=e(13),s=e(4),c=e(9),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,12,"div",[["class","mt-5 d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,0,"img",[["alt","Bitwarden"],["class","mb-4 logo"],["src","images/logo-dark@2x.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,4,"p",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-2x text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"loading")),"");n(l,9,0,e)})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-verify-email-token",[],null,null,null,p,d)),t.ɵdid(1,114688,null,0,o.VerifyEmailTokenComponent,[i.Router,a.ToasterService,r.I18nService,i.ActivatedRoute,s.ApiService,c.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VerifyEmailTokenComponent=d,l.View_VerifyEmailTokenComponent_0=p,l.View_VerifyEmailTokenComponent_Host_0=f;var v=t.ɵccf("app-verify-email-token",o.VerifyEmailTokenComponent,f,{},{},[]);l.VerifyEmailTokenComponentNgFactory=v},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.userId=n,this.token=l}}();l.VerifyEmailRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),r=e(5),o=e(8),i=e(3),a=e(461),s=e(13),c=e(4),d=e(9),p=e(35),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"div",[["class","mt-5 d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt","Bitwarden"],["class","mb-4 logo"],["src","images/logo-dark@2x.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,4,"p",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-2x text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"loading")),"");n(l,8,0,e)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,44,"div",[["class","container"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,41,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,38,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,31,"div",[["class","card d-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,28,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,4,"p",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),(n()(),t.ɵeld(16,0,null,null,1,"strong",[["class","d-block mt-2"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,13,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"a",[["class","btn btn-primary btn-block"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,29).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(29,671744,null,0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),t.ɵpod(30,{email:0}),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"a",[["class","btn btn-primary btn-block ml-2 mt-0"],["routerLink","/register"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,35).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(35,671744,null,0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{queryParams:[0,"queryParams"],routerLink:[1,"routerLink"]},null),t.ɵpod(36,{email:0}),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,t=n(l,30,0,e.email);n(l,29,0,t,"/");var u=n(l,36,0,e.email);n(l,35,0,u,"/register")},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"joinOrganization"));n(l,7,0,u),n(l,15,0,e.orgName),n(l,17,0,e.email);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"joinOrganizationDesc"));n(l,21,0,r),n(l,28,0,t.ɵnov(l,29).target,t.ɵnov(l,29).href);var o=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"logIn"));n(l,31,0,o),n(l,34,0,t.ɵnov(l,35).target,t.ɵnov(l,35).href);var i=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"createAccount"));n(l,37,0,i)})}function g(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(2,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(5,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,e.loading),n(l,5,0,!e.loading&&!e.authed)},null)}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-accept-organization",[],null,null,null,g,f)),t.ɵdid(1,114688,null,0,a.AcceptOrganizationComponent,[u.Router,s.ToasterService,i.I18nService,u.ActivatedRoute,c.ApiService,d.UserService,p.StateService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AcceptOrganizationComponent=f,l.View_AcceptOrganizationComponent_0=g,l.View_AcceptOrganizationComponent_Host_0=m;var y=t.ɵccf("app-accept-organization",a.AcceptOrganizationComponent,m,{},{},[]);l.AcceptOrganizationComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserAcceptRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(89),c=e(46),d=e(10),p=e(5),f=e(462),v=e(4),h=e(6),g=e(13),m=e(22),y=e(98),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,101,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,94,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,91,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,84,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,81,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,6,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["","\n "])),t.ɵppd(21,1),(n()(),t.ɵeld(22,0,null,null,2,"a",[["href","https://help.bitwarden.com/article/lost-two-step-device/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",""])),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,34)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,34).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,34)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,34)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(34,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(35,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(38,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(40,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(41,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(42,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,52)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,52)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,52)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(52,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(53,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(56,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(58,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(59,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"label",[["for","recoveryCode"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,8,"input",[["appInputVerbatim",""],["class","text-monospace form-control"],["id","recoveryCode"],["name","RecoveryCode"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,69)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,69).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,69)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,69)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.recoveryCode=e)&&u);return u},null,null)),t.ɵdid(69,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(70,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(73,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(75,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(76,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(79,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,16,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,8,"button",[["class","btn btn-primary btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(90,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,94).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(94,671744,null,0,d.RouterLinkWithHref,[d.Router,d.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(95,null,["\n ","\n "])),t.ɵppd(96,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,35,0,"");n(l,38,0,"Email",e.email);n(l,41,0,"");n(l,42,0,"false");n(l,53,0,"");n(l,56,0,"MasterPassword",e.masterPassword);n(l,59,0,"");n(l,70,0,"");n(l,73,0,"RecoveryCode",e.recoveryCode);n(l,76,0,"");n(l,94,0,"/")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"recoverAccountTwoStep"));n(l,12,0,e);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"recoverAccountTwoStepDesc"));n(l,20,0,u);var r=t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l,0),"learnMore"));n(l,23,0,r);var o=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"emailAddress"));n(l,30,0,o),n(l,33,0,t.ɵnov(l,35).required?"":null,t.ɵnov(l,40).ngClassUntouched,t.ɵnov(l,40).ngClassTouched,t.ɵnov(l,40).ngClassPristine,t.ɵnov(l,40).ngClassDirty,t.ɵnov(l,40).ngClassValid,t.ɵnov(l,40).ngClassInvalid,t.ɵnov(l,40).ngClassPending);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"masterPass"));n(l,48,0,i),n(l,51,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending);var a=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"recoveryCodeTitle"));n(l,65,0,a),n(l,68,0,t.ɵnov(l,70).required?"":null,t.ɵnov(l,75).ngClassUntouched,t.ɵnov(l,75).ngClassTouched,t.ɵnov(l,75).ngClassPristine,t.ɵnov(l,75).ngClassDirty,t.ɵnov(l,75).ngClassValid,t.ɵnov(l,75).ngClassInvalid,t.ɵnov(l,75).ngClassPending),n(l,83,0,t.ɵnov(l,1).loading);var s=t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l,0),"submit"));n(l,86,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l,0),"loading")),"");n(l,89,0,c),n(l,93,0,t.ɵnov(l,94).target,t.ɵnov(l,94).href);var d=t.ɵunv(l,95,0,n(l,96,0,t.ɵnov(l,0),"cancel"));n(l,95,0,d)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-recover-two-factor",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,f.RecoverTwoFactorComponent,[d.Router,v.ApiService,h.Angulartics2,g.ToasterService,r.I18nService,m.CryptoService,y.AuthService],null,null)],null,null)}l.RenderType_RecoverTwoFactorComponent=C,l.View_RecoverTwoFactorComponent_0=b,l.View_RecoverTwoFactorComponent_Host_0=w;var S=t.ɵccf("app-recover-two-factor",f.RecoverTwoFactorComponent,w,{},{},[]);l.RecoverTwoFactorComponentNgFactory=S},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(70).PasswordVerificationRequest);l.TwoFactorRecoveryRequest=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(89),c=e(46),d=e(10),p=e(5),f=e(463),v=e(4),h=e(6),g=e(13),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,56,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,53,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,43,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,30)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,30).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,30)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,30)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(30,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(31,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(36,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(37,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(38,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,16,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,8,"button",[["class","btn btn-primary btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,56).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(56,671744,null,0,d.RouterLinkWithHref,[d.Router,d.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(57,null,["\n ","\n "])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,31,0,"");n(l,34,0,"Email",e.email);n(l,37,0,"");n(l,38,0,"false");n(l,56,0,"/")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"deleteAccount"));n(l,12,0,e);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"deleteRecoverDesc"));n(l,20,0,u);var r=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"emailAddress"));n(l,26,0,r),n(l,29,0,t.ɵnov(l,31).required?"":null,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,45,0,t.ɵnov(l,1).loading);var o=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"submit"));n(l,48,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l,0),"loading")),"");n(l,51,0,i),n(l,55,0,t.ɵnov(l,56).target,t.ɵnov(l,56).href);var a=t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l,0),"cancel"));n(l,57,0,a)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-recover-delete",[],null,null,null,y,m)),t.ɵdid(1,49152,null,0,f.RecoverDeleteComponent,[d.Router,v.ApiService,h.Angulartics2,g.ToasterService,r.I18nService],null,null)],null,null)}l.RenderType_RecoverDeleteComponent=m,l.View_RecoverDeleteComponent_0=y,l.View_RecoverDeleteComponent_Host_0=C;var b=t.ɵccf("app-recover-delete",f.RecoverDeleteComponent,C,{},{},[]);l.RecoverDeleteComponentNgFactory=b},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.DeleteRecoverRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(28),c=e(27),d=e(10),p=e(5),f=e(464),v=e(4),h=e(6),g=e(13),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,56,"form",[["class","container"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,49,"div",[["class","row justify-content-md-center mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,46,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[["class","lead text-center mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,39,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,36,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(20,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(21,0,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,4,"p",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,16,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,8,"button",[["class","btn btn-danger btn-block btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,3,"a",[["class","btn btn-outline-secondary btn-block ml-2 mt-0"],["routerLink","/"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,49).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(49,671744,null,0,d.RouterLinkWithHref,[d.Router,d.ActivatedRoute,p.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,5,0,l.component.formPromise);n(l,20,0,"warning");n(l,49,0,"/")},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var u=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"deleteAccount"));n(l,12,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"deleteAccountWarning"));n(l,21,0,r),n(l,27,0,e.email);var o=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"deleteRecoverConfirmDesc"));n(l,31,0,o),n(l,38,0,t.ɵnov(l,1).loading);var i=t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"deleteAccount"));n(l,41,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"loading")),"");n(l,44,0,a),n(l,48,0,t.ɵnov(l,49).target,t.ɵnov(l,49).href);var s=t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"cancel"));n(l,50,0,s)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-verify-recover-delete",[],null,null,null,y,m)),t.ɵdid(1,114688,null,0,f.VerifyRecoverDeleteComponent,[d.Router,v.ApiService,h.Angulartics2,g.ToasterService,r.I18nService,d.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VerifyRecoverDeleteComponent=m,l.View_VerifyRecoverDeleteComponent_0=y,l.View_VerifyRecoverDeleteComponent_Host_0=C;var b=t.ɵccf("app-verify-recover-delete",f.VerifyRecoverDeleteComponent,C,{},{},[]);l.VerifyRecoverDeleteComponentNgFactory=b},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.userId=n,this.token=l}}();l.VerifyDeleteRecoverRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(544),r=e(465),o=e(20),i=e(7),a=e(73),s=e(10),c=e(545),d=e(466),p=e(467),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-navbar",[],null,null,null,u.View_NavbarComponent_0,u.RenderType_NavbarComponent)),t.ɵdid(1,114688,null,0,r.NavbarComponent,[o.MessagingService,i.PlatformUtilsService,a.TokenService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(3,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(4,212992,null,0,s.RouterOutlet,[s.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(6,0,null,null,1,"app-footer",[],null,null,null,c.View_FooterComponent_0,c.RenderType_FooterComponent)),t.ɵdid(7,114688,null,0,d.FooterComponent,[i.PlatformUtilsService],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,1,0),n(l,4,0),n(l,7,0)},null)}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-layout",[],null,null,null,v,f)),t.ɵdid(1,114688,null,0,p.UserLayoutComponent,[],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserLayoutComponent=f,l.View_UserLayoutComponent_0=v,l.View_UserLayoutComponent_Host_0=h;var g=t.ɵccf("app-user-layout",p.UserLayoutComponent,h,{},{},[]);l.UserLayoutComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(821),r=e(546),o=e(4),i=e(3),a=e(6),s=e(13),c=e(10),d=e(5),p=e(8),f=e(822),v=e(260),h=e(45),g=e(58),m=e(63),y=e(9),C=e(15),b=e(14),w=e(41),S=e(824),_=e(261),I=e(135),R=e(7),k=e(23),A=e(547),P=e(233),O=e(65),T=e(468),N=e(73),E=e(22),V=e(20),x=e(100),M=t.ɵcrt({encapsulation:2,styles:[],data:{}});function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"div",[["class","card border-warning mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"div",[["class","card-header bg-warning text-white"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-warning fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,[" ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"button",[["class","btn btn-block btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateKey()&&t);return t},null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"updateKeyTitle"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"updateEncryptionKeyShortDesc"));n(l,11,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"updateEncryptionKey"));n(l,15,0,r)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-verify-email",[["class","d-block mb-4"]],null,null,null,u.View_VerifyEmailComponent_0,u.RenderType_VerifyEmailComponent)),t.ɵdid(1,49152,null,0,r.VerifyEmailComponent,[o.ApiService,i.I18nService,a.Angulartics2,s.ToasterService],null,null)],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"div",[["class","card border-warning mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"div",[["class","card-header bg-warning text-white"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-warning fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,[" ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"a",[["class","btn btn-block btn-outline-secondary"],["href","https://browser-update.org/update-browser.html"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"updateBrowser"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"updateBrowserDesc"));n(l,11,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"updateBrowser"));n(l,15,0,r)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,"div",[["class","card border-success mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"div",[["class","card-header bg-success text-white"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-star fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,[" ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,10,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,3,"a",[["class","btn btn-block btn-outline-secondary"],["routerLink","/settings/premium"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,15).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(15,671744,null,0,c.RouterLinkWithHref,[c.Router,c.ActivatedRoute,d.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(16,null,["\n ","\n "])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,15,0,"/settings/premium")},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"goPremium"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"premiumUpgradeUnlockFeatures"));n(l,11,0,u),n(l,14,0,t.ɵnov(l,15).target,t.ɵnov(l,15).href);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent,0),"goPremium"));n(l,16,0,r)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function J(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{groupingsComponent:0}),t.ɵqud(402653184,2,{ciphersComponent:0}),t.ɵqud(402653184,3,{organizationsComponent:0}),t.ɵqud(402653184,4,{attachmentsModalRef:0}),t.ɵqud(402653184,5,{folderAddEditModalRef:0}),t.ɵqud(402653184,6,{cipherAddEditModalRef:0}),t.ɵqud(402653184,7,{shareModalRef:0}),t.ɵqud(402653184,8,{collectionsModalRef:0}),t.ɵqud(402653184,9,{bulkDeleteModalRef:0}),t.ɵqud(402653184,10,{bulkMoveModalRef:0}),t.ɵqud(402653184,11,{bulkShareModalRef:0}),t.ɵqud(402653184,12,{updateKeyModalRef:0}),(n()(),t.ɵeld(13,0,null,null,122,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,119,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"app-vault-groupings",[],null,[[null,"onAllClicked"],[null,"onFavoritesClicked"],[null,"onCipherTypeClicked"],[null,"onFolderClicked"],[null,"onAddFolder"],[null,"onEditFolder"],[null,"onCollectionClicked"],[null,"onSearchTextChanged"]],function(n,l,e){var t=!0,u=n.component;"onAllClicked"===l&&(t=!1!==u.clearGroupingFilters()&&t);"onFavoritesClicked"===l&&(t=!1!==u.filterFavorites()&&t);"onCipherTypeClicked"===l&&(t=!1!==u.filterCipherType(e)&&t);"onFolderClicked"===l&&(t=!1!==u.filterFolder(e.id)&&t);"onAddFolder"===l&&(t=!1!==u.addFolder()&&t);"onEditFolder"===l&&(t=!1!==u.editFolder(e.id)&&t);"onCollectionClicked"===l&&(t=!1!==u.filterCollection(e.id)&&t);"onSearchTextChanged"===l&&(t=!1!==u.filterSearchText(e)&&t);return t},f.View_GroupingsComponent_0,f.RenderType_GroupingsComponent)),t.ɵdid(20,49152,[[1,4]],0,v.GroupingsComponent,[h.CollectionService,g.FolderService,m.StorageService,y.UserService],null,{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,75,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,68,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,9,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(29,null,["\n ","\n "])),t.ɵppd(30,1),(n()(),t.ɵeld(31,0,[["actionSpinner",1]],null,5,"small",[],null,null,null,null,null)),t.ɵdid(32,540672,null,0,C.ApiActionDirective,[t.ElementRef,b.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(35,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,54,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,45,"div",[["appListDropdown",""],["class","dropdown mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-sm btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["id","bulkActionsButton"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-cog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,37,"div",[["aria-labelledby","bulkActionsButton"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,51).onClick(e)&&u);"click"===l&&(u=!1!==r.bulkMove()&&u);return u},null,null)),t.ɵdid(51,16384,null,0,w.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,0,"i",[["class","fa fa-fw fa-share"]],null,null,null,null,null)),(n()(),t.ɵted(54,null,["\n ","\n "])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,58).onClick(e)&&u);"click"===l&&(u=!1!==r.bulkShare()&&u);return u},null,null)),t.ɵdid(58,16384,null,0,w.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa fa-fw fa-share-alt"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["\n ","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,4,"a",[["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.bulkDelete()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(67,null,["\n ","\n "])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,0,"div",[["class","dropdown-divider"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,73).onClick(e)&&u);"click"===l&&(u=!1!==r.selectAll(!0)&&u);return u},null,null)),t.ɵdid(73,16384,null,0,w.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,0,"i",[["class","fa fa-fw fa-check-square-o"]],null,null,null,null,null)),(n()(),t.ɵted(76,null,["\n ","\n "])),t.ɵppd(77,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(79,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,80).onClick(e)&&u);"click"===l&&(u=!1!==r.selectAll(!1)&&u);return u},null,null)),t.ɵdid(80,16384,null,0,w.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,0,"i",[["class","fa fa-fw fa-minus-square-o"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,4,"button",[["class","btn btn-outline-primary btn-sm"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(91,null,["","\n "])),t.ɵppd(92,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(96,0,null,null,2,"app-vault-ciphers",[],null,[[null,"onCipherClicked"],[null,"onAttachmentsClicked"],[null,"onAddCipher"],[null,"onShareClicked"],[null,"onCollectionsClicked"]],function(n,l,e){var t=!0,u=n.component;"onCipherClicked"===l&&(t=!1!==u.editCipher(e)&&t);"onAttachmentsClicked"===l&&(t=!1!==u.editCipherAttachments(e)&&t);"onAddCipher"===l&&(t=!1!==u.addCipher()&&t);"onShareClicked"===l&&(t=!1!==u.shareCipher(e)&&t);"onCollectionsClicked"===l&&(t=!1!==u.editCipherCollections(e)&&t);return t},S.View_CiphersComponent_0,S.RenderType_CiphersComponent)),t.ɵdid(97,180224,[[2,4]],0,_.CiphersComponent,[I.SearchService,a.Angulartics2,s.ToasterService,i.I18nService,R.PlatformUtilsService,k.CipherService],null,{onCipherClicked:"onCipherClicked",onAddCipher:"onAddCipher",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,32,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(104,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(107,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(110,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(113,16384,null,0,d.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(115,0,null,null,17,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,8,"div",[["class","card-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(118,null,["\n ","\n "])),t.ɵppd(119,1),(n()(),t.ɵeld(120,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/what-is-an-organization/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(127,0,null,null,4,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(129,0,null,null,1,"app-organizations",[],null,null,null,A.View_OrganizationsComponent_0,A.RenderType_OrganizationsComponent)),t.ɵdid(130,114688,[[3,4]],0,P.OrganizationsComponent,[y.UserService,R.PlatformUtilsService,i.I18nService,o.ApiService,a.Angulartics2,s.ToasterService,O.SyncService],{vault:[0,"vault"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["attachments",2]],null,0,null,j)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["folderAddEdit",2]],null,0,null,G)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["cipherAddEdit",2]],null,0,null,q)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[7,3],["share",2]],null,0,null,B)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[8,3],["collections",2]],null,0,null,K)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[9,3],["bulkDeleteTemplate",2]],null,0,null,H)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[10,3],["bulkMoveTemplate",2]],null,0,null,$)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[11,3],["bulkShareTemplate",2]],null,0,null,W)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[12,3],["updateKeyTemplate",2]],null,0,null,Y)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,32,0,e.ciphersComponent.actionPromise),n(l,35,0,t.ɵnov(l,31).loading),n(l,104,0,e.showUpdateKey),n(l,107,0,e.showVerifyEmail),n(l,110,0,e.showBrowserOutdated),n(l,113,0,e.showPremiumCallout);n(l,130,0,!0)},function(n,l){var e=t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"myVault"));n(l,29,0,e);var u=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"moveSelected"));n(l,54,0,u);var r=t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"shareSelected"));n(l,61,0,r);var o=t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l,0),"deleteSelected"));n(l,67,0,o);var i=t.ɵunv(l,76,0,n(l,77,0,t.ɵnov(l,0),"selectAll"));n(l,76,0,i);var a=t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l,0),"unselectAll"));n(l,83,0,a);var s=t.ɵunv(l,91,0,n(l,92,0,t.ɵnov(l,0),"addItem"));n(l,91,0,s);var c=t.ɵunv(l,118,0,n(l,119,0,t.ɵnov(l,0),"organizations"));n(l,118,0,c);var d=t.ɵinlineInterpolate(1,"",t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l,0),"learnMore")),"");n(l,120,0,d)})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault",[],null,null,null,J,M)),t.ɵdid(1,245760,null,0,T.VaultComponent,[O.SyncService,c.ActivatedRoute,c.Router,t.ChangeDetectorRef,i.I18nService,t.ComponentFactoryResolver,N.TokenService,E.CryptoService,V.MessagingService,y.UserService,R.PlatformUtilsService,s.ToasterService,x.BroadcasterService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VaultComponent=M,l.View_VaultComponent_0=J,l.View_VaultComponent_Host_0=X;var Z=t.ɵccf("app-vault",T.VaultComponent,X,{},{},[]);l.VaultComponentNgFactory=Z},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(15),i=e(14),a=e(546),s=e(4),c=e(6),d=e(13),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,25,"div",[["class","card border-warning"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,4,"div",[["class","card-header bg-warning text-white"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,0,"i",[["class","fa fa-envelope-o fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,[" ","\n "])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,16,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,[["sendBtn",1]],null,9,"button",[["class","btn btn-block btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.send()&&t);return t},null,null)),t.ɵdid(16,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,1,"i",[["class","fa fa-spin fa-spinner"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,l.component.actionPromise)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"verifyEmail"));n(l,6,0,e);var u=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"verifyEmailDesc"));n(l,12,0,u),n(l,15,0,t.ɵnov(l,15).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"loading")),"");n(l,18,0,r);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"sendEmail"));n(l,22,0,o)})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-verify-email",[],null,null,null,f,p)),t.ɵdid(1,49152,null,0,a.VerifyEmailComponent,[s.ApiService,r.I18nService,c.Angulartics2,d.ToasterService],null,null)],null,null)}l.RenderType_VerifyEmailComponent=p,l.View_VerifyEmailComponent_0=f,l.View_VerifyEmailComponent_Host_0=v;var h=t.ɵccf("app-verify-email",a.VerifyEmailComponent,v,{},{},[]);l.VerifyEmailComponentNgFactory=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(41),o=e(8),i=e(3),a=e(12),s=e(89),c=e(260),d=e(45),p=e(58),f=e(63),v=e(9),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==r.selectFavorites()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-star"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,2,0,l.component.selectedFavorites);n(l,1,0,e)},function(n,l){var e=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"favorites"));n(l,8,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto show-active"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.editFolder(n.parent.context.$implicit.node)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-pencil fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"editFolder")),"");n(l,0,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,C)),t.ɵdid(3,540672,null,0,u.NgTemplateOutlet,[t.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),t.ɵpod(4,{$implicit:0}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,4,0,l.parent.context.$implicit.children);n(l,3,0,e,t.ɵnov(l.parent.parent.parent,15))},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,13,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"i",[["class","fa-li fa"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.collapse(n.context.$implicit.node)&&t);return t},null,null)),t.ɵdid(7,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(8,{"fa-caret-right":0,"fa-caret-down":1}),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,12).onClick(e)&&u);"click"===l&&(u=!1!==r.selectFolder(n.context.$implicit.node)&&u);return u},null,null)),t.ɵdid(12,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(16,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(20,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,t=n(l,2,0,e.selectedFolder&&l.context.$implicit.node.id===e.selectedFolderId);n(l,1,0,t);var u=n(l,8,0,e.isCollapsed(l.context.$implicit.node),!e.isCollapsed(l.context.$implicit.node));n(l,7,0,"fa-li fa",u),n(l,16,0,l.context.$implicit.node.id),n(l,20,0,l.context.$implicit.children.length&&!e.isCollapsed(l.context.$implicit.node))},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,0,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),"toggleCollapse")),"");n(l,6,0,e),n(l,13,0,l.context.$implicit.node.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(2,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,2,0,l.context.$implicit)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"h3",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵeld(5,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==r.addFolder()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,r.StopClickDirective,[],null,null),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,7,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(0,[["recursiveFolders",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,_)),t.ɵdid(18,540672,null,0,u.NgTemplateOutlet,[t.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),t.ɵpod(19,{$implicit:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,19,0,l.component.nestedFolders);n(l,18,0,e,t.ɵnov(l,15))},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folders"));n(l,3,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addFolder")),"");n(l,5,0,u)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,R)),t.ɵdid(3,540672,null,0,u.NgTemplateOutlet,[t.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),t.ɵpod(4,{$implicit:0}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,4,0,l.parent.context.$implicit.children);n(l,3,0,e,t.ɵnov(l.parent.parent.parent,8))},null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,3,"i",[["class","fa-li fa"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.collapse(n.context.$implicit.node)&&t);return t},null,null)),t.ɵdid(5,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(6,{"fa-caret-right":0,"fa-caret-down":1}),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCollection(n.context.$implicit.node)&&u);return u},null,null)),t.ɵdid(10,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,t=n(l,2,0,l.context.$implicit.node.id===e.selectedCollectionId);n(l,1,0,t);var u=n(l,6,0,e.isCollapsed(l.context.$implicit.node),!e.isCollapsed(l.context.$implicit.node));n(l,5,0,"fa-li fa",u),n(l,14,0,l.context.$implicit.children.length&&!e.isCollapsed(l.context.$implicit.node))},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"toggleCollapse")),"");n(l,4,0,e),n(l,11,0,l.context.$implicit.node.name)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(2,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,2,0,l.context.$implicit)},null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(0,[["recursiveCollections",2]],null,0,null,P)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,O)),t.ɵdid(11,540672,null,0,u.NgTemplateOutlet,[t.ViewContainerRef],{ngTemplateOutletContext:[0,"ngTemplateOutletContext"],ngTemplateOutlet:[1,"ngTemplateOutlet"]},null),t.ɵpod(12,{$implicit:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,12,0,l.component.nestedCollections);n(l,11,0,e,t.ɵnov(l,8))},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections"));n(l,3,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.showFolders),n(l,6,0,e.showCollections&&e.collections&&e.collections.length)},null)}function E(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,102,"div",[["class","card vault-filters"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","card-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1),(n()(),t.ɵeld(6,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/searching-vault/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,89,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,7,"input",[["appAutofocus",""],["class","form-control"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,16)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,16)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,16)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);"input"===l&&(u=!1!==r.searchTextChanged()&&u);return u},null,null)),t.ɵdid(16,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(18,671744,null,0,a.NgModel,[[8,null],[8,null],[8,null],[6,a.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(20,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),t.ɵdid(21,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,16,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(27,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(28,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e)&&u);"click"===l&&(u=!1!==r.selectAll()&&u);return u},null,null)),t.ɵdid(31,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-th"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["","\n "])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(39,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,49,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(49,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(50,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,53).onClick(e)&&u);"click"===l&&(u=!1!==r.selectType(r.cipherType.Login)&&u);return u},null,null)),t.ɵdid(53,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-globe"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["","\n "])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(61,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(62,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,65).onClick(e)&&u);"click"===l&&(u=!1!==r.selectType(r.cipherType.Card)&&u);return u},null,null)),t.ɵdid(65,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-credit-card"]],null,null,null,null,null)),(n()(),t.ɵted(68,null,["","\n "])),t.ɵppd(69,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(73,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(74,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,77).onClick(e)&&u);"click"===l&&(u=!1!==r.selectType(r.cipherType.Identity)&&u);return u},null,null)),t.ɵdid(77,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(79,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-id-card-o"]],null,null,null,null,null)),(n()(),t.ɵted(80,null,["","\n "])),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(85,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(86,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,89).onClick(e)&&u);"click"===l&&(u=!1!==r.selectType(r.cipherType.SecureNote)&&u);return u},null,null)),t.ɵdid(89,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-sticky-note-o"]],null,null,null,null,null)),(n()(),t.ɵted(92,null,["","\n "])),t.ɵppd(93,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(98,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(101,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,18,0,e.searchText);n(l,21,0,"");var t=n(l,28,0,e.selectedAll);n(l,27,0,t),n(l,39,0,e.showFavorites);var u=n(l,50,0,e.selectedType===e.cipherType.Login);n(l,49,0,u);var r=n(l,62,0,e.selectedType===e.cipherType.Card);n(l,61,0,r);var o=n(l,74,0,e.selectedType===e.cipherType.Identity);n(l,73,0,o);var i=n(l,86,0,e.selectedType===e.cipherType.SecureNote);n(l,85,0,i),n(l,98,0,!e.loaded),n(l,101,0,e.loaded)},function(n,l){var e=l.component,u=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"filters"));n(l,4,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"learnMore")),"");n(l,6,0,r);var o=t.ɵinlineInterpolate(1,"",e.searchPlaceholder||t.ɵunv(l,15,0,n(l,22,0,t.ɵnov(l,0),"searchVault")),"");n(l,15,0,o,t.ɵnov(l,20).ngClassUntouched,t.ɵnov(l,20).ngClassTouched,t.ɵnov(l,20).ngClassPristine,t.ɵnov(l,20).ngClassDirty,t.ɵnov(l,20).ngClassValid,t.ɵnov(l,20).ngClassInvalid,t.ɵnov(l,20).ngClassPending);var i=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"allItems"));n(l,34,0,i);var a=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"types"));n(l,43,0,a);var s=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"typeLogin"));n(l,56,0,s);var c=t.ɵunv(l,68,0,n(l,69,0,t.ɵnov(l,0),"typeCard"));n(l,68,0,c);var d=t.ɵunv(l,80,0,n(l,81,0,t.ɵnov(l,0),"typeIdentity"));n(l,80,0,d);var p=t.ɵunv(l,92,0,n(l,93,0,t.ɵnov(l,0),"typeSecureNote"));n(l,92,0,p)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-groupings",[],null,null,null,E,h)),t.ɵdid(1,49152,null,0,c.GroupingsComponent,[d.CollectionService,p.FolderService,f.StorageService,v.UserService],null,null)],null,null)}l.RenderType_GroupingsComponent=h,l.View_GroupingsComponent_0=E,l.View_GroupingsComponent_Host_0=V;var x=t.ɵccf("app-vault-groupings",c.GroupingsComponent,V,{showFolders:"showFolders",showCollections:"showCollections",showFavorites:"showFavorites"},{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"},[]);l.GroupingsComponentNgFactory=x},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0),n(l,6,0,0===e.ciphers.length)},null)}function D(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(2,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,2,0,l.component.ciphers)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-ciphers",[],null,null,null,D,b)),t.ɵdid(1,180224,null,0,v.CiphersComponent,[h.SearchService,g.Angulartics2,m.ToasterService,f.I18nService,y.PlatformUtilsService,C.CipherService],null,null)],null,null)}l.RenderType_CiphersComponent=b,l.View_CiphersComponent_0=D,l.View_CiphersComponent_Host_0=U;var F=t.ɵccf("app-vault-ciphers",v.CiphersComponent,U,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"},[]);l.CiphersComponentNgFactory=F},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.el=n}return n.prototype.onError=function(){this.el.nativeElement.src=this.appFallbackSrc},n}();l.FallbackSrcDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&this.collections.length>0&&this.collections.forEach(function(n){r.collectionIds.indexOf(n.id)>-1&&(n.checked=!0)}),u.label=7;case 7:return t=this,[4,this.folderService.getAllDecrypted()];case 8:return t.folders=u.sent(),[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null==this.cipher.name||""===this.cipher.name?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nameRequired")),[2,!1]):(this.editMode||this.cipher.type!==o.CipherType.Login||null==this.cipher.login.uris||1!==this.cipher.login.uris.length||null!=this.cipher.login.uris[0].uri&&""!==this.cipher.login.uris[0].uri||(this.cipher.login.uris=null),this.editMode||null==this.cipher.organizationId||(this.cipher.collectionIds=null==this.collections?[]:this.collections.filter(function(n){return n.checked}).map(function(n){return n.id})),[4,this.encryptCipher()]);case 1:n=l.sent(),l.label=2;case 2:return l.trys.push([2,4,,5]),this.formPromise=this.saveCipher(n),[4,this.formPromise];case 3:return l.sent(),this.cipher.id=n.id,this.platformUtilsService.eventTrack(this.editMode?"Edited Cipher":"Added Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode?"editedItem":"addedItem")),this.onSavedCipher.emit(this.cipher),this.messagingService.send(this.editMode?"editedCipher":"addedCipher"),[2,!0];case 4:return l.sent(),[3,5];case 5:return[2,!1]}})})},n.prototype.addUri=function(){this.cipher.type===o.CipherType.Login&&(null==this.cipher.login.uris&&(this.cipher.login.uris=[]),this.cipher.login.uris.push(new h.LoginUriView))},n.prototype.removeUri=function(n){if(this.cipher.type===o.CipherType.Login&&null!=this.cipher.login.uris){var l=this.cipher.login.uris.indexOf(n);l>-1&&this.cipher.login.uris.splice(l,1)}},n.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var n=new f.FieldView;n.type=this.addFieldType,this.cipher.fields.push(n)},n.prototype.removeField=function(n){var l=this.cipher.fields.indexOf(n);l>-1&&this.cipher.fields.splice(l,1)},n.prototype.trackByFunction=function(n,l){return n},n.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},n.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},n.prototype.share=function(){this.onShareCipher.emit(this.cipher)},n.prototype.editCollections=function(){this.onEditCollections.emit(this.cipher)},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return n.sent(),this.platformUtilsService.eventTrack("Deleted Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedItem")),this.onDeletedCipher.emit(this.cipher),this.messagingService.send("deletedCipher"),[3,5];case 4:return n.sent(),[3,5];case 5:return[2,!0]}})})},n.prototype.generatePassword=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},n.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Password on Edit"),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus()},n.prototype.toggleCardCode=function(){this.platformUtilsService.eventTrack("Toggled CardCode on Edit"),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus()},n.prototype.toggleFieldValue=function(n){var l=n;l.showValue=!l.showValue},n.prototype.toggleUriOptions=function(n){var l=n;l.showOptions=(null!=l.showOptions||null==n.match)&&!l.showOptions},n.prototype.loginUriMatchChanged=function(n){var l=n;l.showOptions=null==l.showOptions||l.showOptions},n.prototype.organizationChanged=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return null!=this.writeableCollections&&this.writeableCollections.forEach(function(n){return n.checked=!1}),null==this.cipher.organizationId?[3,2]:(this.collections=this.writeableCollections.filter(function(n){return n.organizationId===l.cipher.organizationId}),[4,this.userService.getOrganization(this.cipher.organizationId)]);case 1:return null!=(n=e.sent())&&(this.cipher.organizationUseTotp=n.useTotp),[3,3];case 2:this.collections=[],e.label=3;case 3:return[2]}})})},n.prototype.checkPassword=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.platformUtilsService.eventTrack("Check Password"),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return n=l.sent(),this.checkPasswordPromise=null,n>0?this.platformUtilsService.showToast("warning",null,this.i18nService.t("passwordExposed",n.toString())):this.platformUtilsService.showToast("success",null,this.i18nService.t("passwordSafe")),[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,n.sent().filter(function(n){return!n.readOnly})]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},n.prototype.saveCipher=function(n){return this.cipherService.saveWithServer(n)},n.prototype.deleteCipher=function(){return this.cipherService.deleteWithServer(this.cipher.id)},n}();l.AddEditComponent=C},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];u.label=1;case 1:return u.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(l[0]),e=this,[4,this.formPromise];case 2:return e.cipherDomain=u.sent(),t=this,[4,this.cipherDomain.decrypt()];case 3:return t.cipher=u.sent(),this.platformUtilsService.eventTrack("Added Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return u.sent(),[3,5];case 5:return n.type="",n.type="file",n.value="",[2]}})})},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null!=this.deletePromises[n.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 3:return e.sent(),this.platformUtilsService.eventTrack("Deleted Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedAttachment")),(l=this.cipher.attachments.indexOf(n))>-1&&this.cipher.attachments.splice(l,1),[3,5];case 4:return e.sent(),[3,5];case 5:return this.deletePromises[n.id]=null,this.onDeletedAttachment.emit(),[2]}})})},n.prototype.download=function(n){return t(this,void 0,void 0,function(){var l,e,t,r,o,i;return u(this,function(u){switch(u.label){case 0:return(l=n).downloading?[2]:this.canAccessAttachments?(l.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))]):(this.platformUtilsService.showToast("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(e=u.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),l.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,8,,9]),[4,e.arrayBuffer()];case 3:return t=u.sent(),null==n.key?[3,4]:(o=n.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:o=u.sent(),u.label=6;case 6:return r=o,[4,this.cryptoService.decryptFromBytes(t,r)];case 7:return i=u.sent(),this.platformUtilsService.saveFile(this.win,i,null,n.fileName),[3,9];case 8:return u.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,9];case 9:return l.downloading=!1,[2]}})})},n.prototype.init=function(){return t(this,void 0,void 0,function(){var n,l,e,t;return u(this,function(u){switch(u.label){case 0:return n=this,[4,this.loadCipher()];case 1:return n.cipherDomain=u.sent(),l=this,[4,this.cipherDomain.decrypt()];case 2:return l.cipher=u.sent(),e=this,[4,this.cryptoService.hasEncKey()];case 3:return e.hasUpdatedKey=u.sent(),[4,this.userService.canAccessPremium()];case 4:return t=u.sent(),this.canAccessAttachments=t||null!=this.cipher.organizationId,this.canAccessAttachments?[3,6]:[4,this.platformUtilsService.showDialog(this.i18nService.t("premiumRequiredDesc"),this.i18nService.t("premiumRequired"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"))];case 5:return u.sent()&&this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/?premium=purchase"),[3,8];case 6:return this.hasUpdatedKey?[3,8]:[4,this.platformUtilsService.showDialog(this.i18nService.t("updateKey"),this.i18nService.t("featureUnavailable"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"),"warning")];case 7:u.sent()&&this.platformUtilsService.launchUri("https://help.bitwarden.com/article/update-encryption-key/"),u.label=8;case 8:return[2]}})})},n.prototype.reuploadCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e,r=this;return u(this,function(o){switch(o.label){case 0:if(e=n,null!=n.key||e.downloading||null!=this.reuploadPromises[n.id])return[2];o.label=1;case 1:return o.trys.push([1,3,,4]),this.reuploadPromises[n.id]=Promise.resolve().then(function(){return t(r,void 0,void 0,function(){var t,r,o,i,a,s,c,d,p;return u(this,function(u){switch(u.label){case 0:return e.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))];case 1:if(200!==(t=u.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),e.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,11,,12]),[4,t.arrayBuffer()];case 3:return r=u.sent(),null==n.key?[3,4]:(i=n.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:i=u.sent(),u.label=6;case 6:return o=i,[4,this.cryptoService.decryptFromBytes(r,o)];case 7:return a=u.sent(),s=this,[4,this.cipherService.saveAttachmentRawWithServer(this.cipherDomain,n.fileName,a,l)];case 8:return s.cipherDomain=u.sent(),c=this,[4,this.cipherDomain.decrypt()];case 9:return c.cipher=u.sent(),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 10:return u.sent(),(d=this.cipher.attachments.filter(function(l){return l.id===n.id})).length>0&&(p=this.cipher.attachments.indexOf(d[0]))>-1&&this.cipher.attachments.splice(p,1),this.platformUtilsService.eventTrack("Reuploaded Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onReuploadedAttachment.emit(),[3,12];case 11:return u.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,12];case 12:return e.downloading=!1,[2]}})})}),[4,this.reuploadPromises[n.id]];case 2:return o.sent(),[3,4];case 3:return o.sent(),[3,4];case 4:return[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.saveCipherAttachment=function(n){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,n)},n.prototype.deleteCipherAttachment=function(n){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,n)},n}();l.AttachmentsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1}),[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:this.cipherDomain.collectionIds=this.collections.filter(function(n){return!!n.checked}).map(function(n){return n.id}),n.label=1;case 1:return n.trys.push([1,3,,4]),this.formPromise=this.saveCollections(),[4,this.formPromise];case 2:return n.sent(),this.onSavedCollections.emit(),this.platformUtilsService.eventTrack("Edited Cipher Collections"),this.platformUtilsService.showToast("success",null,this.i18nService.t("editedItem")),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n=this;return u(this,function(l){switch(l.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,l.sent().filter(function(l){return!l.readOnly&&l.organizationId===n.cipher.organizationId})]}})})},n.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},n}();l.CollectionsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.filterCollections=function(){var n=this;this.writeableCollections.forEach(function(n){return n.checked=!1}),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(r){switch(r.label){case 0:return[4,this.cipherService.get(this.cipherId)];case 1:return[4,r.sent().decrypt()];case 2:n=r.sent(),l=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),r.label=3;case 3:return r.trys.push([3,5,,6]),this.formPromise=this.cipherService.shareWithServer(n,this.organizationId,l).then(function(){return t(e,void 0,void 0,function(){return u(this,function(n){return this.onSharedCipher.emit(),this.platformUtilsService.eventTrack("Shared Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("sharedItem")),[2]})})}),[4,this.formPromise];case 4:return r.sent(),[3,6];case 5:return r.sent(),[3,6];case 6:return[2]}})})},Object.defineProperty(n.prototype,"canSave",{get:function(){if(null!=this.collections)for(var n=0;n0)},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"domainRules"));n(l,4,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"domainRulesDesc"));n(l,9,0,u),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var r=t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"customEqDomains"));n(l,19,0,r),n(l,28,0,t.ɵnov(l,12).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"loading")),"");n(l,30,0,o);var i=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"save"));n(l,34,0,i);var a=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"globalEqDomains"));n(l,39,0,a),n(l,48,0,t.ɵnov(l,12).loading);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"loading")),"");n(l,50,0,s);var c=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"save"));n(l,54,0,c)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-domain-rules",[],null,null,null,I,h)),t.ɵdid(1,114688,null,0,d.DomainRulesComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_DomainRulesComponent=h,l.View_DomainRulesComponent_0=I,l.View_DomainRulesComponent_Host_0=R;var k=t.ɵccf("app-domain-rules",d.DomainRulesComponent,R,{},{},[]);l.DomainRulesComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UpdateDomainsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(41),a=e(5),s=e(8),c=e(265),d=e(4),p=e(9),f=e(20),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc"));n(l,1,0,e)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc"));n(l,1,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"));n(l,4,0,e);var u=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode"));n(l,8,0,u)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,0,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium"));n(l,2,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled&&e.canAccessPremium),n(l,15,0,!e.canAccessPremium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.canAccessPremium&&l.context.$implicit.premium);var u=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage"));n(l,22,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function P(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(35,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,k)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId);var t=n(l,25,0,!e.organizationId);n(l,24,0,t),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers"));n(l,26,0,u)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,P,v)),t.ɵdid(1,114688,null,0,c.TwoFactorSetupComponent,[d.ApiService,p.UserService,t.ComponentFactoryResolver,f.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=v,l.View_TwoFactorSetupComponent_0=P,l.View_TwoFactorSetupComponent_Host_0=O;var T=t.ɵccf("app-two-factor-setup",c.TwoFactorSetupComponent,O,{},{},[]);l.TwoFactorSetupComponentNgFactory=T},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(70).PasswordVerificationRequest);l.UpdateTwoFactorAuthenticatorRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(70).PasswordVerificationRequest);l.TwoFactorProviderRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(70).PasswordVerificationRequest);l.UpdateTwoFactorDuoRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(70).PasswordVerificationRequest);l.UpdateTwoFactorEmailRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(70).PasswordVerificationRequest);l.UpdateTwoFactorU2fDeleteRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(70).PasswordVerificationRequest);l.UpdateTwoFactorU2fRequest=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(70).PasswordVerificationRequest);l.UpdateTwoFactorYubioOtpRequest=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(12),a=e(15),s=e(14),c=e(479),d=e(172),p=e(7),f=e(8),v=e(5),h=e(480),g=e(4),m=e(6),y=e(13),C=e(73),b=e(10),w=e(20),S=e(65),_=e(9),I=t.ɵcrt({encapsulation:2,styles:[],data:{}});function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-star"],["type","info"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n"])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent,0),"youHavePremiumAccess")),"");n(l,1,0,"info","fa-star",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"alreadyPremiumFromOrg"));n(l,3,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/premium"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"purchasePremium"));n(l,1,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(9,16384,null,0,i.NgControlStatusGroup,[[4,i.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFilePremium"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"));n(l,15,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_premium_license.json"));n(l,21,0,r),n(l,25,0,t.ɵnov(l,6).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"");n(l,27,0,o);var i=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit"));n(l,31,0,i)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,77,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(3,16384,null,0,i.NgControlStatusGroup,[[4,i.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,20,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,20).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,i.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵangular_packages_forms_forms_be]),t.ɵdid(22,671744,null,0,i.NgModel,[[2,i.ControlContainer],[8,null],[8,null],[6,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(24,16384,null,0,i.NgControlStatus,[[4,i.NgControl]],null,null),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,2),t.ɵppd(30,1),t.ɵppd(31,4),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(38,null,["\n ",": ","\n "])),t.ɵppd(39,1),t.ɵppd(40,2),(n()(),t.ɵeld(41,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[" ",": "," GB × "," = ","\n "])),t.ɵppd(43,1),t.ɵppd(44,2),t.ɵppd(45,2),(n()(),t.ɵeld(46,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",":"])),t.ɵppd(52,1),(n()(),t.ɵted(53,null,[" "," /","\n "])),t.ɵppd(54,2),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["",""])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(62,null,["",""])),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,1,"app-payment",[],null,null,null,c.View_PaymentComponent_0,c.RenderType_PaymentComponent)),t.ɵdid(66,245760,[[1,4]],0,d.PaymentComponent,[p.PlatformUtilsService],{hideBank:[0,"hideBank"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(71,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(74,null,["",""])),t.ɵppd(75,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,22,0,"AdditionalStorageGb",e.additionalStorage);n(l,66,0,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"addons"));n(l,7,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"additionalStorageGb"));n(l,15,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,25,0,t.ɵnov(l.parent,0),"additionalStorageGbDesc")),"");n(l,18,0,o,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending);var i=t.ɵunv(l,28,0,n(l,31,0,t.ɵnov(l.parent,0),"additionalStorageIntervalDesc","1 GB",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,28,0,n(l,30,0,t.ɵnov(l.parent,0),"year"))));n(l,28,0,i);var a=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l.parent,0),"summary"));n(l,36,0,a);var s=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent,0),"premiumMembership")),c=t.ɵunv(l,38,1,n(l,40,0,t.ɵnov(l.parent,1),e.premiumPrice,"$"));n(l,38,0,s,c);var d=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent,0),"additionalStorageGb")),p=e.additionalStorage||0,f=t.ɵunv(l,42,2,n(l,44,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),v=t.ɵunv(l,42,3,n(l,45,0,t.ɵnov(l.parent,1),e.additionalStorageTotal,"$"));n(l,42,0,d,p,f,v);var h=t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent,0),"total"));n(l,51,0,h);var g=t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l.parent,1),e.total,"USD $")),m=t.ɵunv(l,53,1,n(l,55,0,t.ɵnov(l.parent,0),"year"));n(l,53,0,g,m);var y=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent,0),"paymentChargedAnnually"));n(l,58,0,y);var C=t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"paymentInformation"));n(l,62,0,C),n(l,68,0,t.ɵnov(l,0).loading);var b=t.ɵinlineInterpolate(1,"",t.ɵunv(l,70,0,n(l,71,0,t.ɵnov(l.parent,0),"loading")),"");n(l,70,0,b);var w=t.ɵunv(l,74,0,n(l,75,0,t.ɵnov(l.parent,0),"submit"));n(l,74,0,w)})}function O(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,v.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(11,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,55,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(14,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(16,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(20,0,null,0,37,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["\n ","\n "])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["\n ","\n "])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(49,null,["\n ","\n "])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["\n ","\n "])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(59,0,null,0,5,"p",[["class","text-lg"]],null,null,null,null,null)),t.ɵdid(60,278528,null,0,v.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(61,{"mb-0":0}),(n()(),t.ɵted(62,null,["",""])),t.ɵppd(63,2),t.ɵppd(64,2),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(67,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(71,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(74,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,e.canAccessPremium);n(l,14,0,"success");var t=n(l,61,0,!e.selfHosted);n(l,60,0,"text-lg",t),n(l,67,0,e.selfHosted),n(l,71,0,e.selfHosted),n(l,74,0,!e.selfHosted)},function(n,l){var e=l.component,u=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"goPremium"));n(l,6,0,u);var r=t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"premiumUpgradeUnlockFeatures"));n(l,17,0,r);var o=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"premiumSignUpStorage"));n(l,25,0,o);var i=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"premiumSignUpTwoStep"));n(l,31,0,i);var a=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"premiumSignUpReports"));n(l,37,0,a);var s=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"premiumSignUpTotp"));n(l,43,0,s);var c=t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"premiumSignUpSupport"));n(l,49,0,c);var d=t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l,0),"premiumSignUpFuture"));n(l,55,0,d);var p=t.ɵunv(l,62,0,n(l,64,0,t.ɵnov(l,0),"premiumPrice",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,1),e.premiumPrice,"$"))));n(l,62,0,p)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-premium",[],null,null,null,O,I)),t.ɵdid(1,114688,null,0,h.PremiumComponent,[g.ApiService,o.I18nService,m.Angulartics2,y.ToasterService,p.PlatformUtilsService,C.TokenService,b.Router,w.MessagingService,S.SyncService,_.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PremiumComponent=I,l.View_PremiumComponent_0=O,l.View_PremiumComponent_Host_0=T;var N=t.ɵccf("app-premium",h.PremiumComponent,T,{},{},[]);l.PremiumComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(576),o=e(481),i=e(9),a=e(4),s=e(6),c=e(13),d=e(7),p=e(28),f=e(27),v=e(3),h=e(12),g=e(15),m=e(14),y=e(577),C=e(482),b=e(8),w=e(267),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"button",[["class","btn btn-sm btn-outline-primary ml-auto"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.load()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-spin":0}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){var e=n(l,4,0,l.component.loading);n(l,3,0,"fa fa-refresh fa-fw",e)},function(n,l){n(l,0,0,l.component.loading);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"refresh"));n(l,5,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCredit()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"addCredit"));n(l,1,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-add-credit",[],null,[[null,"onAdded"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdded"===l&&(t=!1!==u.closeAddCredit(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeAddCredit(!1)&&t);return t},r.View_AddCreditComponent_0,r.RenderType_AddCreditComponent)),t.ɵdid(1,114688,null,0,o.AddCreditComponent,[i.UserService,a.ApiService,s.Angulartics2,c.ToasterService,d.PlatformUtilsService],{organizationId:[0,"organizationId"]},{onAdded:"onAdded",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.organizationId)},null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noPaymentMethod"));n(l,1,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,p.View_CalloutComponent_0,p.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,f.CalloutComponent,[v.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,h.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,h.ControlContainer,null,[h.NgForm]),t.ɵdid(12,16384,null,0,h.NgControlStatusGroup,[[4,h.ControlContainer]],null,null),t.ɵdid(13,540672,null,0,g.ApiActionDirective,[t.ElementRef,m.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,h.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,h.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,h.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,h.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,h.NG_VALIDATORS,function(n){return[n]},[h.RequiredValidator]),t.ɵprd(1024,null,h.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[h.DefaultValueAccessor,h.ɵangular_packages_forms_forms_be]),t.ɵdid(33,671744,null,0,h.NgModel,[[2,h.ControlContainer],[6,h.NG_VALIDATORS],[8,null],[6,h.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,h.NgControl,null,[h.NgModel]),t.ɵdid(35,16384,null,0,h.NgControlStatus,[[4,h.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,h.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,h.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,h.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,h.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,h.NG_VALIDATORS,function(n){return[n]},[h.RequiredValidator]),t.ɵprd(1024,null,h.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[h.DefaultValueAccessor,h.ɵangular_packages_forms_forms_be]),t.ɵdid(56,671744,null,0,h.NgModel,[[2,h.ControlContainer],[6,h.NG_VALIDATORS],[8,null],[6,h.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,h.NgControl,null,[h.NgModel]),t.ɵdid(58,16384,null,0,h.NgControlStatus,[[4,h.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccount")),"");n(l,1,0,"warning",u),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccountDesc")),u=t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccountFailureWarning"));n(l,5,0,e,u),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent,0),"amount","1"));n(l,16,0,r),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending);var o=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent,0),"amount","2"));n(l,39,0,o),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,63,0,i);var a=t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccount"));n(l,67,0,a)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);var t=n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal);n(l,8,0,"fa fa-fw",t)},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod"));n(l,1,0,u)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},y.View_AdjustPaymentComponent_0,y.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,C.AdjustPaymentComponent,[a.ApiService,v.I18nService,s.Angulartics2,c.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noInvoices"));n(l,1,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-check text-success"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"paid"));n(l,3,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-exclamation-circle text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"unpaid"));n(l,3,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,31,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,11,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"a",[["class","mr-2"],["rel","noopener"],["target","_blank"]],[[8,"href",4],[8,"title",0]],null,null,null,null)),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"a",[["rel","noopener"],["target","_blank"]],[[8,"href",4],[8,"title",0]],null,null,null,null)),t.ɵppd(14,1),(n()(),t.ɵted(15,null,["\n ",""])),t.ɵppd(16,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,7,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,26,0,l.context.$implicit.paid),n(l,29,0,!l.context.$implicit.paid)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,2),l.context.$implicit.date,"mediumDate"));n(l,3,0,e);var u=t.ɵinlineInterpolate(1,"",l.context.$implicit.pdfUrl,""),r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"downloadInvoice")),"");n(l,8,0,u,r);var o=t.ɵinlineInterpolate(1,"",l.context.$implicit.url,""),i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,1,n(l,14,0,t.ɵnov(l.parent.parent.parent,0),"viewInvoice")),"");n(l,13,0,o,i);var a=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,0),"invoiceNumber",l.context.$implicit.number));n(l,15,0,a);var s=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.amount,"$"));n(l,20,0,s)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(5,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.invoices)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noTransactions"));n(l,1,0,e)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"chargeNoun"));n(l,1,0,e)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"refundNoun"));n(l,1,0,e)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{"fa-credit-card":0,"fa-university":1,"fa-bitcoin text-warning":2,"fa-paypal text-primary":3})],function(n,l){var e=l.component,t=n(l,2,0,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.Card,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.BankAccount||l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.WireTransfer,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.BitPay,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.PayPal);n(l,1,0,"fa fa-fw",t)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,27,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(12,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(18,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(19,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(23,{"text-strike":0}),t.ɵppd(24,1),(n()(),t.ɵted(25,null,["\n ",""])),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,l.context.$implicit.type===e.transactionType.Charge||l.context.$implicit.type===e.transactionType.Credit),n(l,12,0,l.context.$implicit.type===e.transactionType.Refund),n(l,18,0,l.context.$implicit.paymentMethodType);var t=n(l,23,0,l.context.$implicit.refunded);n(l,22,0,t)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,2),l.context.$implicit.createdDate,"mediumDate"));n(l,3,0,e),n(l,19,0,l.context.$implicit.details);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"");n(l,21,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.amount,"$"));n(l,25,0,r)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(5,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.transactions)},null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"p",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵeld(7,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(16,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(19,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(35,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(42,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(45,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,!e.showAddCredit),n(l,19,0,e.showAddCredit),n(l,26,0,!e.paymentSource),n(l,29,0,e.paymentSource),n(l,32,0,!e.showAdjustPayment),n(l,35,0,e.showAdjustPayment),n(l,42,0,!e.invoices||!e.invoices.length),n(l,45,0,e.invoices&&e.invoices.length),n(l,52,0,!e.transactions||!e.transactions.length),n(l,55,0,e.transactions&&e.transactions.length)},function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),e.isCreditBalance?"accountCredit":"accountBalance"));n(l,3,0,u);var r=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,1),e.creditOrBalance,"$"));n(l,8,0,r);var o=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"creditAppliedDesc"));n(l,12,0,o);var i=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"paymentMethod"));n(l,22,0,i);var a=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent,0),"invoices"));n(l,38,0,a);var s=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent,0),"transactions"));n(l,48,0,s);var c=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent,0),"chargesStatement","BITWARDEN"));n(l,58,0,c)})}function B(n){return t.ɵvid(0,[t.ɵpid(0,b.I18nPipe,[v.I18nService]),t.ɵpid(0,u.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(10,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(14,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(17,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.firstLoaded),n(l,14,0,!e.firstLoaded&&e.loading),n(l,17,0,e.billing)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"billing"));n(l,6,0,e)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-billing",[],null,null,null,B,S)),t.ɵdid(1,114688,null,0,w.UserBillingComponent,[a.ApiService,v.I18nService,s.Angulartics2,c.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserBillingComponent=S,l.View_UserBillingComponent_0=B,l.View_UserBillingComponent_Host_0=K;var H=t.ɵccf("app-user-billing",w.UserBillingComponent,K,{},{},[]);l.UserBillingComponentNgFactory=H},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.BitPayInvoiceRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PaymentRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Charge=0]="Charge",n[n.Credit=1]="Credit",n[n.PromotionalCredit=2]="PromotionalCredit",n[n.ReferralCredit=3]="ReferralCredit",n[n.Refund=4]="Refund"}(l.TransactionType||(l.TransactionType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.VerifyBankRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(15),a=e(14),s=e(5),c=e(578),d=e(483),p=e(4),f=e(6),v=e(13),h=e(579),g=e(484),m=e(8),y=e(485),C=e(73),b=e(7),w=e(10),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ",""])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),"");n(l,1,0,"warning",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled"));n(l,3,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"");n(l,1,0,"warning",u),n(l,9,0,e.reinstatePromise)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,8).loading);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,11,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription"));n(l,15,0,r)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.sub.expiration,"mediumDate"));n(l,1,0,u)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires"));n(l,1,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(7,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,e.sub.expiration),n(l,10,0,!e.sub.expiration)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"expiration"));n(l,3,0,e)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"pendingCancellation"));n(l,1,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.context.$implicit.name,u=l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",r=t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"));n(l,3,0,e,u,r);var o=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),i=t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval));n(l,7,0,o,i)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(11,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details"));n(l,3,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,26,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,23,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(16,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["","\n "])),t.ɵppd(25,2),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(31,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,e.subscriptionMarkedForCancel),n(l,31,0,e.subscription)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"status"));n(l,7,0,u),n(l,13,0,e.subscription&&e.subscription.status||"-");var r=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"nextCharge"));n(l,20,0,r);var o=e.nextInvoice?t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,24,0,n(l,26,0,t.ɵnov(l.parent.parent,2),e.nextInvoice.amount,"$")):"-";n(l,24,0,o)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},c.View_UpdateLicenseComponent_0,c.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,d.UpdateLicenseComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],null,{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense"));n(l,5,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/subscription"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"));n(l,5,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription"));n(l,9,0,u)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense"));n(l,1,0,e)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription"));n(l,7,0,u)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","ml-1 btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage"));n(l,7,0,u)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},h.View_AdjustStorageComponent_0,h.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,g.AdjustStorageComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){n(l,1,0,4,l.component.adjustStorageAdd)},null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(23,{width:0}),(n()(),t.ɵted(24,null,["\n ",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.subscription||!e.subscription.cancelled),n(l,8,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel);var t=n(l,23,0,e.storageProgressWidth+"%");n(l,22,0,t),n(l,29,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel)},function(n,l){var e=l.component,u=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent,0),"storage"));n(l,12,0,u);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.sub.maxStorageGb||0,e.sub.storageName||"0 MB"));n(l,16,0,r),n(l,21,0,e.storagePercentage);var o=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100));n(l,24,0,o)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function q(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[o.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.sub)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"premiumMembership"));n(l,7,0,e)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-subscription",[],null,null,null,q,S)),t.ɵdid(1,114688,null,0,y.UserSubscriptionComponent,[C.TokenService,p.ApiService,b.PlatformUtilsService,o.I18nService,f.Angulartics2,v.ToasterService,w.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserSubscriptionComponent=S,l.View_UserSubscriptionComponent_0=q,l.View_UserSubscriptionComponent_Host_0=B;var K=t.ɵccf("app-user-subscription",y.UserSubscriptionComponent,B,{},{},[]);l.UserSubscriptionComponentNgFactory=K},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(15),o=e(14),i=e(5),a=e(479),s=e(172),c=e(7),d=e(8),p=e(3),f=e(486),v=e(4),h=e(6),g=e(13),m=e(22),y=e(10),C=e(65),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFileOrg"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"));n(l,15,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_organization_license.json"));n(l,21,0,r),n(l,25,0,t.ɵnov(l,6).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"");n(l,27,0,o);var i=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit"));n(l,31,0,i)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.businessName=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,"BusinessName",l.component.businessName)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"businessName"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFree"],["name","PlanType"],["type","radio"],["value","free"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.plan=e)&&u);"change"===l&&(u=!1!==r.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"label",[["class","form-check-label"],["for","planFree"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","free");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFree"));n(l,11,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFree","1"));n(l,14,0,u);var r=t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"limitedUsers","2"));n(l,18,0,r);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"limitedCollections","2"));n(l,22,0,o);var i=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"freeForever"));n(l,26,0,i)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,47,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFamilies"],["name","PlanType"],["type","radio"],["value","families"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.plan=e)&&u);"change"===l&&(u=!1!==r.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,36,"label",[["class","form-check-label"],["for","planFamilies"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["• ",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["• ",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["• ",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["• ",""])),t.ɵppd(39,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[""," /",", ",""])),t.ɵppd(43,2),t.ɵppd(44,1),t.ɵppd(45,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","families");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFamilies"));n(l,11,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFamilies"));n(l,14,0,u);var r=t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"addShareLimitedUsers","5"));n(l,18,0,r);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"createUnlimitedCollections"));n(l,22,0,o);var i=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"gbEncryptedFileStorage","1 GB"));n(l,26,0,i);var a=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,0),"onPremHostingOptional"));n(l,30,0,a);var s=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l.parent.parent,0),"priorityCustomerSupport"));n(l,34,0,s);var c=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent.parent,0),"xDayFreeTrial","7"));n(l,38,0,c);var d=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,1),1,"$")),p=t.ɵunv(l,42,1,n(l,44,0,t.ɵnov(l.parent.parent,0),"month")),f=t.ɵunv(l,42,2,n(l,45,0,t.ɵnov(l.parent.parent,0),"includesXUsers",5));n(l,42,0,d,p,f)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,20,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","1"],["name","AdditionalSeats"],["required",""],["type","number"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,u.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(17,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵangular_packages_forms_forms_be]),t.ɵdid(20,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(22,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"");n(l,20,0,"AdditionalSeats",e.additionalSeats)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"users"));n(l,3,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"userSeats"));n(l,11,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,14,0,n(l,23,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),"");n(l,14,0,r,t.ɵnov(l,17).required?"":null,t.ɵnov(l,22).ngClassUntouched,t.ɵnov(l,22).ngClassTouched,t.ɵnov(l,22).ngClassPristine,t.ɵnov(l,22).ngClassDirty,t.ɵnov(l,22).ngClassValid,t.ɵnov(l,22).ngClassInvalid,t.ɵnov(l,22).ngClassPending);var o=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsHowManyDesc"));n(l,26,0,o)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","0"],["name","AdditionalSeats"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵangular_packages_forms_forms_be]),t.ɵdid(12,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(14,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,2),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,"AdditionalSeats",l.component.additionalSeats)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"additionalUserSeats"));n(l,5,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),"");n(l,8,0,r,t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending);var o=t.ɵunv(l,18,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsAdditionalDesc",e.plans[e.plan].baseSeats,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$"))));n(l,18,0,o)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"input",[["class","form-check-input"],["id","premiumAccess"],["name","PremiumAccessAddon"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.premiumAccessAddon=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"label",[["class","form-check-label bold"],["for","premiumAccess"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,4,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,2),t.ɵppd(19,1),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,"PremiumAccessAddon",l.component.premiumAccessAddon)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent,0),"premiumAccess"));n(l,12,0,e);var u=t.ɵunv(l,17,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"premiumAccessDesc",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent.parent,1),3.33,"$")),t.ɵunv(l,17,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,0),"month"))));n(l,17,0,u)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," ×12 "," =\n ","\n /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"basePrice")),r=t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].basePrice,"$")),o=t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),i=t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),e.baseTotal(!0),"$")),a=t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year"));n(l,1,0,u,r,o,i,a)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"additionalUsers"));n(l,1,0,e)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"users"));n(l,1,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(6,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," ×12\n "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),t.ɵppd(10,2),t.ɵppd(11,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component,u=e.additionalSeats||0,r=t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")),o=t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),i=t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent,1),e.seatTotal(!0),"$")),a=t.ɵunv(l,7,4,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"year"));n(l,7,0,u,r,o,i,a)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",":\n "," ×12 "," = "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"premiumAccess")),u=t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),3.33,"$")),r=t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),o=t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),40,"$")),i=t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year"));n(l,1,0,e,u,r,o,i)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"basePrice")),r=t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,1),e.baseTotal(!1),"$")),o=t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"month"));n(l,1,0,u,r,o)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"additionalUsers"));n(l,1,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"users"));n(l,1,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(3,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(6,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," =\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,2),t.ɵppd(10,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component,u=e.additionalSeats||0,r=t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,1),e.plans[e.plan].monthlySeatPrice,"$")),o=t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,1),e.seatTotal(!1),"$")),i=t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent.parent,0),"month"));n(l,7,0,u,r,o,i)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","intervalMonthly"],["name","BillingInterval"],["type","radio"],["value","month"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.interval=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"label",[["class","form-check-label"],["for","intervalMonthly"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(14,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(17,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"small",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ",": "," ×\n "," = "," /","\n "])),t.ɵppd(21,1),t.ɵppd(22,2),t.ɵppd(23,2),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"BillingInterval","month");n(l,6,0,"BillingInterval",e.interval),n(l,14,0,e.plans[e.plan].monthlyBasePrice),n(l,17,0,!e.plans[e.plan].noAdditionalSeats)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"monthly"));n(l,11,0,u);var r=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"additionalStorageGb")),o=e.additionalStorage||0,i=t.ɵunv(l,20,2,n(l,22,0,t.ɵnov(l.parent.parent.parent,1),e.storageGb.monthlyPrice,"$")),a=t.ɵunv(l,20,3,n(l,23,0,t.ɵnov(l.parent.parent.parent,1),e.additionalStorageTotal(!1),"$")),s=t.ɵunv(l,20,4,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),"month"));n(l,20,0,r,o,i,a,s)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,104,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(3,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(10,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,20,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,21)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,21).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,21)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,21)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(22,16384,null,0,u.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵangular_packages_forms_forms_be]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,4,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,2),t.ɵppd(32,1),t.ɵppd(33,4),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(40,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,30,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"input",[["class","form-check-input"],["id","intervalAnnually"],["name","BillingInterval"],["type","radio"],["value","year"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,50)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,50).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,50)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,50)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,51).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.interval=e)&&u);return u},null,null)),t.ɵdid(50,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(51,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(53,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(55,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,19,"label",[["class","form-check-label"],["for","intervalAnnually"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(61,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(64,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["\n ",": "," ×\n "," ×12 "," = "," /","\n "])),t.ɵppd(68,1),t.ɵppd(69,2),t.ɵppd(70,1),t.ɵppd(71,2),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(75,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(80,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(87,null,["",":"])),t.ɵppd(88,1),(n()(),t.ɵted(89,null,[" "," /","\n "])),t.ɵppd(90,2),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,3,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(94,null,["",""])),t.ɵppd(95,1),t.ɵppd(96,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(98,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(99,null,["",""])),t.ɵppd(100,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,1,"app-payment",[],null,null,null,a.View_PaymentComponent_0,a.RenderType_PaymentComponent)),t.ɵdid(103,245760,[[1,4]],0,s.PaymentComponent,[c.PlatformUtilsService],{hideCredit:[0,"hideCredit"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.plans[e.plan].noAdditionalSeats&&!e.plans[e.plan].baseSeats),n(l,10,0,!e.plans[e.plan].noAdditionalSeats&&e.plans[e.plan].baseSeats);n(l,24,0,"AdditionalStorageGb",e.additionalStorage),n(l,40,0,e.plans[e.plan].canBuyPremiumAccessAddon);n(l,51,0,"BillingInterval","year");n(l,53,0,"BillingInterval",e.interval),n(l,61,0,e.plans[e.plan].annualBasePrice),n(l,64,0,!e.plans[e.plan].noAdditionalSeats),n(l,75,0,e.plans[e.plan].canBuyPremiumAccessAddon&&e.premiumAccessAddon),n(l,80,0,e.plans[e.plan].monthlySeatPrice);n(l,103,0,!0)},function(n,l){var e=l.component,u=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addons"));n(l,6,0,u);var r=t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb"));n(l,17,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"additionalStorageGbDesc")),"");n(l,20,0,o,t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending);var i=t.ɵunv(l,30,0,n(l,33,0,t.ɵnov(l.parent.parent,0),"additionalStorageIntervalDesc","1 GB",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"month"))));n(l,30,0,i);var a=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l.parent.parent,0),"summary"));n(l,44,0,a),n(l,49,0,t.ɵnov(l,55).ngClassUntouched,t.ɵnov(l,55).ngClassTouched,t.ɵnov(l,55).ngClassPristine,t.ɵnov(l,55).ngClassDirty,t.ɵnov(l,55).ngClassValid,t.ɵnov(l,55).ngClassInvalid,t.ɵnov(l,55).ngClassPending);var s=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent.parent,0),"annually"));n(l,58,0,s);var c=t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb")),d=e.additionalStorage||0,p=t.ɵunv(l,67,2,n(l,69,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),f=t.ɵunv(l,67,3,n(l,70,0,t.ɵnov(l.parent.parent,0),"monthAbbr")),v=t.ɵunv(l,67,4,n(l,71,0,t.ɵnov(l.parent.parent,1),e.additionalStorageTotal(!0),"$")),h=t.ɵunv(l,67,5,n(l,72,0,t.ɵnov(l.parent.parent,0),"year"));n(l,67,0,c,d,p,f,v,h);var g=t.ɵunv(l,87,0,n(l,88,0,t.ɵnov(l.parent.parent,0),"total"));n(l,87,0,g);var m=t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l.parent.parent,1),e.total,"USD $")),y=t.ɵunv(l,89,1,n(l,91,0,t.ɵnov(l.parent.parent,0),e.interval));n(l,89,0,m,y);var C=t.ɵunv(l,94,0,n(l,96,0,t.ɵnov(l.parent.parent,0),"paymentChargedWithTrial",t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent.parent,0),e.interval))));n(l,94,0,C);var b=t.ɵunv(l,99,0,n(l,100,0,t.ɵnov(l.parent.parent,0),"paymentInformation"));n(l,99,0,b)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,202,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(23,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(25,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.billingEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,12,"div",[["class","form-group form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,5,"input",[["class","form-check-input"],["id","ownedBusiness"],["name","OwnedBusiness"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,48).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.ownedBusiness=e)&&u);"change"===l&&(u=!1!==r.changedOwnedBusiness()&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"label",[["class","form-check-label"],["for","ownedBusiness"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(60,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(67,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(70,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,46,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,6,"input",[["class","form-check-input"],["id","planTeams"],["name","PlanType"],["type","radio"],["value","teams"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,75)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,75).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,75)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,75)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,76).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.plan=e)&&u);"change"===l&&(u=!1!==r.changedPlan()&&u);return u},null,null)),t.ɵdid(75,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(76,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,35,"label",[["class","form-check-label"],["for","planTeams"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵeld(85,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(90,null,["• ",""])),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["• ",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(98,null,["• ",""])),t.ɵppd(99,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(102,null,["• ",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(105,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(106,null,["• ",""])),t.ɵppd(107,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,7,"span",[],null,null,null,null,null)),(n()(),t.ɵted(110,null,[""," /",", ",",\n ","\n "," /",""])),t.ɵppd(111,2),t.ɵppd(112,1),t.ɵppd(113,2),t.ɵppd(114,1),t.ɵppd(115,2),t.ɵppd(116,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,63,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(122,0,null,null,6,"input",[["class","form-check-input"],["id","planEnterprise"],["name","PlanType"],["type","radio"],["value","enterprise"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,123)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,123).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,123)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,123)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,124).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.plan=e)&&u);"change"===l&&(u=!1!==r.changedPlan()&&u);return u},null,null)),t.ɵdid(123,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(124,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(130,0,null,null,52,"label",[["class","form-check-label"],["for","planEnterprise"]],null,null,null,null,null)),(n()(),t.ɵted(131,null,["\n ","\n "])),t.ɵppd(132,1),(n()(),t.ɵeld(133,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(134,null,["",""])),t.ɵppd(135,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(138,null,["• ",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(142,null,["• ",""])),t.ɵppd(143,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(146,null,["• ",""])),t.ɵppd(147,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(149,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(150,null,["• ",""])),t.ɵppd(151,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(154,null,["• ",""])),t.ɵppd(155,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(158,null,["• ",""])),t.ɵppd(159,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(161,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(162,null,["• ",""])),t.ɵppd(163,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(166,null,["• ",""])),t.ɵppd(167,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(169,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(170,null,["• ",""])),t.ɵppd(171,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(173,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(174,null,["• ",""])),t.ɵppd(175,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(177,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(178,null,[""," /",""])),t.ɵppd(179,2),t.ɵppd(180,2),t.ɵppd(181,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(186,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,13,"div",[],null,null,null,null,null)),t.ɵdid(189,278528,null,0,i.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(190,{"mt-4":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(192,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(194,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(195,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(197,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(198,null,["",""])),t.ɵppd(199,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,20,0,"");n(l,23,0,"Name",e.name);n(l,36,0,"");n(l,39,0,"BillingEmail",e.billingEmail);n(l,50,0,"OwnedBusiness",e.ownedBusiness),n(l,60,0,e.ownedBusiness),n(l,67,0,!e.ownedBusiness),n(l,70,0,!e.ownedBusiness);n(l,76,0,"PlanType","teams");n(l,78,0,"PlanType",e.plan);n(l,124,0,"PlanType","enterprise");n(l,126,0,"PlanType",e.plan),n(l,186,0,!e.plans[e.plan].noPayment);var t=n(l,190,0,e.plans[e.plan].noPayment);n(l,189,0,t)},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"generalInformation"));n(l,7,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organizationName"));n(l,15,0,u),n(l,18,0,t.ɵnov(l,20).required?"":null,t.ɵnov(l,25).ngClassUntouched,t.ɵnov(l,25).ngClassTouched,t.ɵnov(l,25).ngClassPristine,t.ɵnov(l,25).ngClassDirty,t.ɵnov(l,25).ngClassValid,t.ɵnov(l,25).ngClassInvalid,t.ɵnov(l,25).ngClassPending);var r=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"billingEmail"));n(l,31,0,r),n(l,34,0,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending);var o=t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"accountOwnedBusiness"));n(l,55,0,o);var i=t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent,0),"chooseYourPlan"));n(l,63,0,i),n(l,74,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending);var a=t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l.parent,0),"planNameTeams"));n(l,83,0,a);var s=t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l.parent,0),"planDescTeams"));n(l,86,0,s);var c=t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"));n(l,90,0,c);var d=t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"));n(l,94,0,d);var p=t.ɵunv(l,98,0,n(l,99,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"));n(l,98,0,p);var f=t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"));n(l,102,0,f);var v=t.ɵunv(l,106,0,n(l,107,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"));n(l,106,0,v);var h=t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,1),5,"$")),g=t.ɵunv(l,110,1,n(l,112,0,t.ɵnov(l.parent,0),"month")),m=t.ɵunv(l,110,2,n(l,113,0,t.ɵnov(l.parent,0),"includesXUsers",5)),y=t.ɵunv(l,110,3,n(l,114,0,t.ɵnov(l.parent,0),"additionalUsers")).toLowerCase(),C=t.ɵunv(l,110,4,n(l,115,0,t.ɵnov(l.parent,1),2,"$")),b=t.ɵunv(l,110,5,n(l,116,0,t.ɵnov(l.parent,0),"month"));n(l,110,0,h,g,m,y,C,b),n(l,122,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending);var w=t.ɵunv(l,131,0,n(l,132,0,t.ɵnov(l.parent,0),"planNameEnterprise"));n(l,131,0,w);var S=t.ɵunv(l,134,0,n(l,135,0,t.ɵnov(l.parent,0),"planDescEnterprise"));n(l,134,0,S);var _=t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"));n(l,138,0,_);var I=t.ɵunv(l,142,0,n(l,143,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"));n(l,142,0,I);var R=t.ɵunv(l,146,0,n(l,147,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"));n(l,146,0,R);var k=t.ɵunv(l,150,0,n(l,151,0,t.ɵnov(l.parent,0),"controlAccessWithGroups"));n(l,150,0,k);var A=t.ɵunv(l,154,0,n(l,155,0,t.ɵnov(l.parent,0),"trackAuditLogs"));n(l,154,0,A);var P=t.ɵunv(l,158,0,n(l,159,0,t.ɵnov(l.parent,0),"syncUsersFromDirectory"));n(l,158,0,P);var O=t.ɵunv(l,162,0,n(l,163,0,t.ɵnov(l.parent,0),"onPremHostingOptional"));n(l,162,0,O);var T=t.ɵunv(l,166,0,n(l,167,0,t.ɵnov(l.parent,0),"usersGetPremium"));n(l,166,0,T);var N=t.ɵunv(l,170,0,n(l,171,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"));n(l,170,0,N);var E=t.ɵunv(l,174,0,n(l,175,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"));n(l,174,0,E);var V=t.ɵunv(l,178,0,n(l,180,0,t.ɵnov(l.parent,0),"costPerUser",t.ɵunv(l,178,0,n(l,179,0,t.ɵnov(l.parent,1),3,"$")))),x=t.ɵunv(l,178,1,n(l,181,0,t.ɵnov(l.parent,0),"month"));n(l,178,0,V,x),n(l,192,0,t.ɵnov(l,0).loading);var M=t.ɵinlineInterpolate(1,"",t.ɵunv(l,194,0,n(l,195,0,t.ɵnov(l.parent,0),"loading")),"");n(l,194,0,M);var D=t.ɵunv(l,198,0,n(l,199,0,t.ɵnov(l.parent,0),"submit"));n(l,198,0,D)})}function z(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[p.I18nService]),t.ɵpid(0,i.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(15,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(18,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"newOrganization"));n(l,6,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"newOrganizationDesc"));n(l,11,0,u)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-create-organization",[],null,null,null,z,b)),t.ɵdid(1,114688,null,0,f.CreateOrganizationComponent,[v.ApiService,p.I18nService,h.Angulartics2,g.ToasterService,c.PlatformUtilsService,m.CryptoService,y.Router,C.SyncService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CreateOrganizationComponent=b,l.View_CreateOrganizationComponent_0=z,l.View_CreateOrganizationComponent_Host_0=j;var G=t.ɵccf("app-create-organization",f.CreateOrganizationComponent,j,{},{},[]);l.CreateOrganizationComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationCreateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(8),o=e(3),i=e(5),a=e(10),s=e(487),c=e(9),d=e(20),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"premium"));n(l,2,0,e)})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"span",[["class","badge badge-success"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,3,0,t.ɵnov(l.parent,1),t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"free"))));n(l,1,0,e)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[o.I18nService]),t.ɵpid(0,i.UpperCasePipe,[]),(n()(),t.ɵeld(2,0,null,null,117,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,114,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,105,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,32,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,25,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"a",[["class","list-group-item"],["routerLink","generator"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,17).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(17,671744,[[2,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(18,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(21,null,["\n ","\n "])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(25,671744,[[4,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(26,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(29,null,["\n ","\n "])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,33).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(33,671744,[[6,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(34,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,68,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,8,"div",[["class","card-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(45,null,["\n ","\n "])),t.ɵppd(46,1),(n()(),t.ɵeld(47,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(50,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,55,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,6,"a",[["class","list-group-item"],["routerLink","exposed-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,57).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(57,671744,[[8,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(58,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(61,null,["\n ","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,6,"a",[["class","list-group-item"],["routerLink","reused-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,65).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(65,671744,[[10,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(66,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(69,null,["\n ","\n "])),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,6,"a",[["class","list-group-item"],["routerLink","weak-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,73).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(73,671744,[[12,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(74,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(77,null,["\n ","\n "])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,6,"a",[["class","list-group-item"],["routerLink","unsecured-websites-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,81).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(81,671744,[[14,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(82,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(85,null,["\n ","\n "])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,6,"a",[["class","list-group-item"],["routerLink","inactive-two-factor-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,89).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(89,671744,[[16,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(90,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,15,{links:1}),t.ɵqud(603979776,16,{linksWithHrefs:1}),(n()(),t.ɵted(93,null,["\n ","\n "])),t.ɵppd(94,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(96,0,null,null,12,"a",[["class","list-group-item d-flex"],["routerLink","breach-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,97).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(97,671744,[[18,4]],0,a.RouterLinkWithHref,[a.Router,a.ActivatedRoute,i.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(98,1720320,null,2,a.RouterLinkActive,[a.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,17,{links:1}),t.ɵqud(603979776,18,{linksWithHrefs:1}),(n()(),t.ɵted(101,null,["\n ","\n "])),t.ɵppd(102,1),(n()(),t.ɵeld(103,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(106,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(115,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(116,212992,null,0,a.RouterOutlet,[a.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,17,0,"generator");n(l,18,0,"active");n(l,25,0,"import");n(l,26,0,"active");n(l,33,0,"export");n(l,34,0,"active"),n(l,50,0,!e.canAccessPremium);n(l,57,0,"exposed-passwords-report");n(l,58,0,"active");n(l,65,0,"reused-passwords-report");n(l,66,0,"active");n(l,73,0,"weak-passwords-report");n(l,74,0,"active");n(l,81,0,"unsecured-websites-report");n(l,82,0,"active");n(l,89,0,"inactive-two-factor-report");n(l,90,0,"active");n(l,97,0,"breach-report");n(l,98,0,"active"),n(l,106,0,!e.canAccessPremium),n(l,116,0)},function(n,l){var e=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"tools"));n(l,11,0,e),n(l,16,0,t.ɵnov(l,17).target,t.ɵnov(l,17).href);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"passwordGenerator"));n(l,21,0,u),n(l,24,0,t.ɵnov(l,25).target,t.ɵnov(l,25).href);var r=t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"importData"));n(l,29,0,r),n(l,32,0,t.ɵnov(l,33).target,t.ɵnov(l,33).href);var o=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"exportVault"));n(l,37,0,o);var i=t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"reports"));n(l,45,0,i),n(l,56,0,t.ɵnov(l,57).target,t.ɵnov(l,57).href);var a=t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"exposedPasswordsReport"));n(l,61,0,a),n(l,64,0,t.ɵnov(l,65).target,t.ɵnov(l,65).href);var s=t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l,0),"reusedPasswordsReport"));n(l,69,0,s),n(l,72,0,t.ɵnov(l,73).target,t.ɵnov(l,73).href);var c=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"weakPasswordsReport"));n(l,77,0,c),n(l,80,0,t.ɵnov(l,81).target,t.ɵnov(l,81).href);var d=t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"unsecuredWebsitesReport"));n(l,85,0,d),n(l,88,0,t.ɵnov(l,89).target,t.ɵnov(l,89).href);var p=t.ɵunv(l,93,0,n(l,94,0,t.ɵnov(l,0),"inactive2faReport"));n(l,93,0,p),n(l,96,0,t.ɵnov(l,97).target,t.ɵnov(l,97).href);var f=t.ɵunv(l,101,0,n(l,102,0,t.ɵnov(l,0),"dataBreachReport"));n(l,101,0,f)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-tools",[],null,null,null,h,p)),t.ɵdid(1,114688,null,0,s.ToolsComponent,[c.UserService,d.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ToolsComponent=p,l.View_ToolsComponent_0=h,l.View_ToolsComponent_Host_0=g;var m=t.ɵccf("app-tools",s.ToolsComponent,g,{},{},[]);l.ToolsComponentNgFactory=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(5),o=e(28),i=e(27),a=e(3),s=e(8),c=e(15),d=e(14),p=e(268),f=e(6),v=e(13),h=e(237),g=e(10),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(7,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV\n file.\n ']))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click\n "Export CSV"\n for your "Accounts".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the\n XML file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML\n (2.x)" option.\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save\n the CSV file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my\n data" to save\n the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the\n "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF\n Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the\n dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the\n warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the\n English\n language, so adjust your settings accordingly.\n ']))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass 6 desktop application, click the menu button and navigate to "File" → "Export".\n Select the ".json" file format option and save the JSON file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..."\n and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive\n (readable) in JSON format"\n and save the JSON file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the\n CSV file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export\n all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings".\n Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to\n expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" →\n "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not\n be\n exported.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you\n would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that\n pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss\n JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All\n Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like\n Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner.\n Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and\n click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2GpOMTg"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python\n script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to\n export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the\n CSV\n file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passpack website vault and navigate to "Settings" → "Export", then click the "Download"\n button to save\n the CSV file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open your Passman vault and click on "Settings" in the bottom left corner. In the "Settings" window switch\n to the\n "Export credentials" tab and choose "JSON" as the export type. Enter your vault\'s passphrase and click the\n "Export"\n button to save the JSON file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the Avast Passwords desktop application and navigate to "Settings" → "Import/export data". Select\n the\n "Export" button for the "Export to CSV file" option to save the CSV file.\n ']))],null,null)}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the F-Secure KEY desktop application and navigate to "Settings" → "Export Passwords". Select the\n "Export" button, enter your master password, and save the FSK file.\n ']))],null,null)}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the Kaspersky Password Manager desktop application and navigate to "Settings" → "Import/Export".\n Locate\n the "Export to text file" section and select the "Export" button to save the TXT file.\n ']))],null,null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the RememBear desktop application and navigate to "Settings" → "Account" → "Export".\n Enter your master password and select the "Export Anyway" button to save the CSV file.\n ']))],null,null)}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,119,"app-callout",[["type","info"]],null,null,null,o.View_CalloutComponent_0,o.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,i.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,w)),t.ɵdid(4,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,S)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(13,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(16,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(19,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(22,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(25,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(28,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(31,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(34,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(40,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(43,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(46,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(49,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(52,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(64,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(73,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(76,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(79,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(82,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(85,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(88,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(91,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(94,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(97,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(100,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(103,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(106,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,tn)),t.ɵdid(109,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,un)),t.ɵdid(112,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,rn)),t.ɵdid(115,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,on)),t.ɵdid(118,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format||"bitwardenjson"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"enpassjson"===e.format),n(l,58,0,"pwsafexml"===e.format),n(l,61,0,"dashlanejson"===e.format),n(l,64,0,"msecurecsv"===e.format),n(l,67,0,"stickypasswordxml"===e.format),n(l,70,0,"truekeycsv"===e.format),n(l,73,0,"clipperzhtml"===e.format),n(l,76,0,"roboformcsv"===e.format),n(l,79,0,"passboltcsv"===e.format),n(l,82,0,"ascendocsv"===e.format),n(l,85,0,"passwordbossjson"===e.format),n(l,88,0,"zohovaultcsv"===e.format),n(l,91,0,"splashidcsv"===e.format),n(l,94,0,"passkeepcsv"===e.format),n(l,97,0,"gnomejson"===e.format),n(l,100,0,"passwordagentcsv"===e.format),n(l,103,0,"passpackcsv"===e.format),n(l,106,0,"passmanjson"===e.format),n(l,109,0,"avastcsv"===e.format),n(l,112,0,"fsecurefsk"===e.format),n(l,115,0,"kasperskytxt"===e.format),n(l,118,0,"remembearcsv"===e.format)},null)}function sn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(12,540672,null,0,c.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(34,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"));n(l,4,0,e),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"));n(l,21,0,u),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending);var r=t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"));n(l,53,0,r);var o=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"));n(l,64,0,o),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"");n(l,77,0,i);var a=t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData"));n(l,81,0,a)})}function cn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-import",[],null,null,null,sn,m)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.ImportService,g.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=m,l.View_ImportComponent_0=sn,l.View_ImportComponent_Host_0=cn;var dn=t.ɵccf("app-import",p.ImportComponent,cn,{},{},[]);l.ImportComponentNgFactory=dn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(28),c=e(27),d=e(46),p=e(269),f=e(22),v=e(7),h=e(238),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,79,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,26,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,23,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","format"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,16,"select",[["class","form-control"],["id","format"],["name","Format"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,32).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.format=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,o.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.SelectControlValueAccessor]),t.ɵdid(34,671744,null,0,o.NgModel,[[2,o.ControlContainer],[8,null],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(36,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,3,"option",[["value","json"]],null,null,null,null,null)),t.ɵdid(39,147456,null,0,o.NgSelectOption,[t.ElementRef,t.Renderer2,[2,o.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(40,147456,null,0,o.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,[".json"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,3,"option",[["value","csv"]],null,null,null,null,null)),t.ɵdid(44,147456,null,0,o.NgSelectOption,[t.ElementRef,t.Renderer2,[2,o.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(45,147456,null,0,o.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,[".csv"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,60)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,60).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,60)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,60)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(61,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(64,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(66,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(67,81920,null,0,d.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,34,0,"Format",e.format);n(l,39,0,"json");n(l,40,0,"json");n(l,44,0,"csv");n(l,45,0,"csv");n(l,61,0,"");n(l,64,0,"MasterPassword",e.masterPassword);n(l,67,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"));n(l,10,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"));n(l,15,0,u);var r=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarningDesc"));n(l,20,0,r);var o=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"fileFormat"));n(l,28,0,o),n(l,31,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var i=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"masterPass"));n(l,56,0,i),n(l,59,0,t.ɵnov(l,61).required?"":null,t.ɵnov(l,66).ngClassUntouched,t.ɵnov(l,66).ngClassTouched,t.ɵnov(l,66).ngClassPristine,t.ɵnov(l,66).ngClassDirty,t.ɵnov(l,66).ngClassValid,t.ɵnov(l,66).ngClassInvalid,t.ɵnov(l,66).ngClassPending),n(l,71,0,t.ɵnov(l,1).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"loading")),"");n(l,73,0,a);var s=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"exportVault"));n(l,77,0,s)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-export",[],null,null,null,m,g)),t.ɵdid(1,49152,null,0,p.ExportComponent,[f.CryptoService,r.I18nService,v.PlatformUtilsService,h.ExportService],null,null)],null,null)}l.RenderType_ExportComponent=g,l.View_ExportComponent_0=m,l.View_ExportComponent_Host_0=y;var C=t.ɵccf("app-export",p.ExportComponent,y,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=C},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]128&&(this.options.length=128),this.options.minNumber?this.options.minNumber>this.options.length?this.options.minNumber=this.options.length:this.options.minNumber>9&&(this.options.minNumber=9):this.options.minNumber=0,this.options.minSpecial?this.options.minSpecial>this.options.length?this.options.minSpecial=this.options.length:this.options.minSpecial>9&&(this.options.minSpecial=9):this.options.minSpecial=0,this.options.minSpecial+this.options.minNumber>this.options.length&&(this.options.minSpecial=this.options.length-this.options.minNumber),null==this.options.numWords||this.options.length<3?this.options.numWords=3:this.options.numWords>20&&(this.options.numWords=20),null!=this.options.wordSeparator&&this.options.wordSeparator.length>1&&(this.options.wordSeparator=this.options.wordSeparator[0])},n}();l.PasswordGeneratorComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0),n(l,6,0,0===e.ciphers.length)},null)}function U(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(2,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,2,0,l.component.ciphers)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-ciphers",[],null,null,null,U,w)),t.ɵdid(1,180224,null,0,v.CiphersComponent,[h.SearchService,g.Angulartics2,m.ToasterService,f.I18nService,y.PlatformUtilsService,C.CipherService,b.ApiService],null,null)],null,null)}l.RenderType_CiphersComponent=w,l.View_CiphersComponent_0=U,l.View_CiphersComponent_Host_0=F;var L=t.ɵccf("app-org-vault-ciphers",v.CiphersComponent,F,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"},[]);l.CiphersComponentNgFactory=L},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.User_LoggedIn=1e3]="User_LoggedIn",n[n.User_ChangedPassword=1001]="User_ChangedPassword",n[n.User_Updated2fa=1002]="User_Updated2fa",n[n.User_Disabled2fa=1003]="User_Disabled2fa",n[n.User_Recovered2fa=1004]="User_Recovered2fa",n[n.User_FailedLogIn=1005]="User_FailedLogIn",n[n.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",n[n.Cipher_Created=1100]="Cipher_Created",n[n.Cipher_Updated=1101]="Cipher_Updated",n[n.Cipher_Deleted=1102]="Cipher_Deleted",n[n.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",n[n.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",n[n.Cipher_Shared=1105]="Cipher_Shared",n[n.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",n[n.Collection_Created=1300]="Collection_Created",n[n.Collection_Updated=1301]="Collection_Updated",n[n.Collection_Deleted=1302]="Collection_Deleted",n[n.Group_Created=1400]="Group_Created",n[n.Group_Updated=1401]="Group_Updated",n[n.Group_Deleted=1402]="Group_Deleted",n[n.OrganizationUser_Invited=1500]="OrganizationUser_Invited",n[n.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",n[n.OrganizationUser_Updated=1502]="OrganizationUser_Updated",n[n.OrganizationUser_Removed=1503]="OrganizationUser_Removed",n[n.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",n[n.Organization_Updated=1600]="Organization_Updated",n[n.Organization_PurgedVault=1601]="Organization_PurgedVault"}(l.EventType||(l.EventType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(8),o=e(3),i=e(10),a=e(5),s=e(496),c=e(9),d=e(20),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.upgradeOrganization()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"upgrade"));n(l,2,0,e)})}function v(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,95,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,92,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,83,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,24,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,17,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,54,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,8,"div",[["class","card-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵeld(38,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(41,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,41,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,6,"a",[["class","list-group-item"],["routerLink","exposed-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,48).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(48,671744,[[6,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(49,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,6,"a",[["class","list-group-item"],["routerLink","reused-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,56).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(56,671744,[[8,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(57,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(60,null,["\n ","\n "])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,6,"a",[["class","list-group-item"],["routerLink","weak-passwords-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,64).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(64,671744,[[10,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(65,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(68,null,["\n ","\n "])),t.ɵppd(69,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,6,"a",[["class","list-group-item"],["routerLink","unsecured-websites-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,72).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(72,671744,[[12,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(73,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(76,null,["\n ","\n "])),t.ɵppd(77,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(79,0,null,null,6,"a",[["class","list-group-item"],["routerLink","inactive-two-factor-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,80).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(80,671744,[[14,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,a.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(81,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(84,null,["\n ","\n "])),t.ɵppd(85,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(93,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"import");n(l,17,0,"active");n(l,24,0,"export");n(l,25,0,"active"),n(l,41,0,!e.accessReports);n(l,48,0,"exposed-passwords-report");n(l,49,0,"active");n(l,56,0,"reused-passwords-report");n(l,57,0,"active");n(l,64,0,"weak-passwords-report");n(l,65,0,"active");n(l,72,0,"unsecured-websites-report");n(l,73,0,"active");n(l,80,0,"inactive-two-factor-report");n(l,81,0,"active"),n(l,93,0)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"));n(l,10,0,e),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"importData"));n(l,20,0,u),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"exportVault"));n(l,28,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"reports"));n(l,36,0,o),n(l,47,0,t.ɵnov(l,48).target,t.ɵnov(l,48).href);var i=t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"exposedPasswordsReport"));n(l,52,0,i),n(l,55,0,t.ɵnov(l,56).target,t.ɵnov(l,56).href);var a=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"reusedPasswordsReport"));n(l,60,0,a),n(l,63,0,t.ɵnov(l,64).target,t.ɵnov(l,64).href);var s=t.ɵunv(l,68,0,n(l,69,0,t.ɵnov(l,0),"weakPasswordsReport"));n(l,68,0,s),n(l,71,0,t.ɵnov(l,72).target,t.ɵnov(l,72).href);var c=t.ɵunv(l,76,0,n(l,77,0,t.ɵnov(l,0),"unsecuredWebsitesReport"));n(l,76,0,c),n(l,79,0,t.ɵnov(l,80).target,t.ɵnov(l,80).href);var d=t.ɵunv(l,84,0,n(l,85,0,t.ɵnov(l,0),"inactive2faReport"));n(l,84,0,d)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-tools",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,s.ToolsComponent,[i.ActivatedRoute,c.UserService,d.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ToolsComponent=p,l.View_ToolsComponent_0=v,l.View_ToolsComponent_Host_0=h;var g=t.ɵccf("app-org-tools",s.ToolsComponent,h,{},{},[]);l.ToolsComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(5),o=e(28),i=e(27),a=e(3),s=e(8),c=e(15),d=e(14),p=e(497),f=e(6),v=e(13),h=e(237),g=e(10),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(7,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV\n file.\n ']))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click\n "Export CSV"\n for your "Accounts".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the\n XML file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML\n (2.x)" option.\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save\n the CSV file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my\n data" to save\n the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the\n "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF\n Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the\n dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the\n warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the\n English\n language, so adjust your settings accordingly.\n ']))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass 6 desktop application, click the menu button and navigate to "File" → "Export".\n Select the ".json" file format option and save the JSON file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..."\n and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive\n (readable) in JSON format"\n and save the JSON file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the\n CSV file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export\n all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings".\n Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to\n expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" →\n "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not\n be\n exported.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you\n would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that\n pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss\n JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All\n Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like\n Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner.\n Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and\n click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2GpOMTg"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python\n script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to\n export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the\n CSV\n file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passpack website vault and navigate to "Settings" → "Export", then click the "Download"\n button to save\n the CSV file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open your Passman vault and click on "Settings" in the bottom left corner. In the "Settings" window switch\n to the\n "Export credentials" tab and choose "JSON" as the export type. Enter your vault\'s passphrase and click the\n "Export"\n button to save the JSON file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the Avast Passwords desktop application and navigate to "Settings" → "Import/export data". Select\n the\n "Export" button for the "Export to CSV file" option to save the CSV file.\n ']))],null,null)}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the F-Secure KEY desktop application and navigate to "Settings" → "Export Passwords". Select the\n "Export" button, enter your master password, and save the FSK file.\n ']))],null,null)}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the Kaspersky Password Manager desktop application and navigate to "Settings" → "Import/Export".\n Locate\n the "Export to text file" section and select the "Export" button to save the TXT file.\n ']))],null,null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Open the RememBear desktop application and navigate to "Settings" → "Account" → "Export".\n Enter your master password and select the "Export Anyway" button to save the CSV file.\n ']))],null,null)}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,119,"app-callout",[["type","info"]],null,null,null,o.View_CalloutComponent_0,o.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,i.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,w)),t.ɵdid(4,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,S)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(13,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(16,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(19,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(22,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(25,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(28,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(31,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(34,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(40,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(43,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(46,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(49,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(52,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(64,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(73,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(76,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(79,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(82,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(85,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(88,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(91,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(94,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(97,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(100,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(103,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(106,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,tn)),t.ɵdid(109,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,un)),t.ɵdid(112,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,rn)),t.ɵdid(115,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,on)),t.ɵdid(118,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format||"bitwardenjson"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"enpassjson"===e.format),n(l,58,0,"pwsafexml"===e.format),n(l,61,0,"dashlanejson"===e.format),n(l,64,0,"msecurecsv"===e.format),n(l,67,0,"stickypasswordxml"===e.format),n(l,70,0,"truekeycsv"===e.format),n(l,73,0,"clipperzhtml"===e.format),n(l,76,0,"roboformcsv"===e.format),n(l,79,0,"passboltcsv"===e.format),n(l,82,0,"ascendocsv"===e.format),n(l,85,0,"passwordbossjson"===e.format),n(l,88,0,"zohovaultcsv"===e.format),n(l,91,0,"splashidcsv"===e.format),n(l,94,0,"passkeepcsv"===e.format),n(l,97,0,"gnomejson"===e.format),n(l,100,0,"passwordagentcsv"===e.format),n(l,103,0,"passpackcsv"===e.format),n(l,106,0,"passmanjson"===e.format),n(l,109,0,"avastcsv"===e.format),n(l,112,0,"fsecurefsk"===e.format),n(l,115,0,"kasperskytxt"===e.format),n(l,118,0,"remembearcsv"===e.format)},null)}function sn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(12,540672,null,0,c.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(34,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"));n(l,4,0,e),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"));n(l,21,0,u),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending);var r=t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"));n(l,53,0,r);var o=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"));n(l,64,0,o),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"");n(l,77,0,i);var a=t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData"));n(l,81,0,a)})}function cn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-import",[],null,null,null,sn,m)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.ImportService,g.Router,g.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=m,l.View_ImportComponent_0=sn,l.View_ImportComponent_Host_0=cn;var dn=t.ɵccf("app-org-import",p.ImportComponent,cn,{},{},[]);l.ImportComponentNgFactory=dn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(28),c=e(27),d=e(46),p=e(498),f=e(22),v=e(7),h=e(238),g=e(10),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,79,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(4,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(5,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,26,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,23,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","format"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,16,"select",[["class","form-control"],["id","format"],["name","Format"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,32).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.format=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,o.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.SelectControlValueAccessor]),t.ɵdid(34,671744,null,0,o.NgModel,[[2,o.ControlContainer],[8,null],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(36,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,3,"option",[["value","json"]],null,null,null,null,null)),t.ɵdid(39,147456,null,0,o.NgSelectOption,[t.ElementRef,t.Renderer2,[2,o.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(40,147456,null,0,o.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,[".json"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,3,"option",[["value","csv"]],null,null,null,null,null)),t.ɵdid(44,147456,null,0,o.NgSelectOption,[t.ElementRef,t.Renderer2,[2,o.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(45,147456,null,0,o.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,[".csv"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,60)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,60).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,60)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,60)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(61,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(64,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(66,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(67,81920,null,0,d.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,34,0,"Format",e.format);n(l,39,0,"json");n(l,40,0,"json");n(l,44,0,"csv");n(l,45,0,"csv");n(l,61,0,"");n(l,64,0,"MasterPassword",e.masterPassword);n(l,67,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending);var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"));n(l,10,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"));n(l,15,0,u);var r=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarningDesc"));n(l,20,0,r);var o=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"fileFormat"));n(l,28,0,o),n(l,31,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var i=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"masterPass"));n(l,56,0,i),n(l,59,0,t.ɵnov(l,61).required?"":null,t.ɵnov(l,66).ngClassUntouched,t.ɵnov(l,66).ngClassTouched,t.ɵnov(l,66).ngClassPristine,t.ɵnov(l,66).ngClassDirty,t.ɵnov(l,66).ngClassValid,t.ɵnov(l,66).ngClassInvalid,t.ɵnov(l,66).ngClassPending),n(l,71,0,t.ɵnov(l,1).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"loading")),"");n(l,73,0,a);var s=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"exportVault"));n(l,77,0,s)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-export",[],null,null,null,y,m)),t.ɵdid(1,114688,null,0,p.ExportComponent,[f.CryptoService,r.I18nService,v.PlatformUtilsService,h.ExportService,g.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExportComponent=m,l.View_ExportComponent_0=y,l.View_ExportComponent_Host_0=C;var b=t.ɵccf("app-org-export",p.ExportComponent,C,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=b},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(104),a=e(99),s=e(74),c=e(35),d=e(41),p=e(5),f=e(8),v=e(499),h=e(23),g=e(108),m=e(20),y=e(9),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noExposedPasswords"));n(l,3,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,34,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,6,"td",[["class","text-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,3,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),t.ɵppd(32,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,u),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle);var r=t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"exposedXTimes",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,1),e.exposedPasswordMap.get(l.context.$implicit.id)))));n(l,30,0,r)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"exposedPasswordsFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"exposedPasswordsFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function P(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.load()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(25,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,25,0,l.component.hasLoaded)},function(n,l){var e=l.component,u=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"exposedPasswordsReport"));n(l,6,0,u);var r=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"exposedPasswordsReportDesc"));n(l,11,0,r),n(l,14,0,e.loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"loading")),"");n(l,16,0,o);var i=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"checkExposedPasswords"));n(l,20,0,i)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-exposed-passwords-report",[],null,null,null,P,b)),t.ɵdid(1,114688,null,0,v.ExposedPasswordsReportComponent,[h.CipherService,g.AuditService,t.ComponentFactoryResolver,m.MessagingService,y.UserService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExposedPasswordsReportComponent=b,l.View_ExposedPasswordsReportComponent_0=P,l.View_ExposedPasswordsReportComponent_Host_0=O;var T=t.ɵccf("app-exposed-passwords-report",v.ExposedPasswordsReportComponent,O,{},{},[]);l.ExposedPasswordsReportComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(104),a=e(99),s=e(74),c=e(35),d=e(41),p=e(5),f=e(8),v=e(500),h=e(23),g=e(20),m=e(9),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noInactive2fa"));n(l,3,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","badge badge-primary"],["rel","noopener"],["target","_blank"]],[[8,"href",4]],null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",""])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"",e.cipherDocs.get(l.parent.context.$implicit.id),""));var u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"instructions"));n(l,1,0,u)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"td",[["class","text-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(30,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments),n(l,30,0,e.cipherDocs.has(l.context.$implicit.id))},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,e),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"inactive2faFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"inactive2faFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function T(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(18,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(21,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.hasLoaded&&e.loading),n(l,18,0,!e.hasLoaded&&e.loading),n(l,21,0,e.hasLoaded)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"inactive2faReport"));n(l,6,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"inactive2faReportDesc"));n(l,14,0,u)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-inactive-two-factor-report",[],null,null,null,T,C)),t.ɵdid(1,114688,null,0,v.InactiveTwoFactorReportComponent,[h.CipherService,t.ComponentFactoryResolver,g.MessagingService,m.UserService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_InactiveTwoFactorReportComponent=C,l.View_InactiveTwoFactorReportComponent_0=T,l.View_InactiveTwoFactorReportComponent_Host_0=N;var E=t.ɵccf("app-inactive-two-factor-report",v.InactiveTwoFactorReportComponent,N,{},{},[]);l.InactiveTwoFactorReportComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(104),a=e(99),s=e(74),c=e(35),d=e(41),p=e(5),f=e(8),v=e(501),h=e(23),g=e(20),m=e(9),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noReusedPasswords"));n(l,3,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"td",[["class","text-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,u),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle);var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,0),"reusedXTimes",e.passwordUseMap.get(l.context.$implicit.login.password)));n(l,30,0,r)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"reusedPasswordsFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"reusedPasswordsFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(18,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(21,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,P)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.hasLoaded&&e.loading),n(l,18,0,!e.hasLoaded&&e.loading),n(l,21,0,e.hasLoaded)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"reusedPasswordsReport"));n(l,6,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"reusedPasswordsReportDesc"));n(l,14,0,u)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-reused-passwords-report",[],null,null,null,O,C)),t.ɵdid(1,114688,null,0,v.ReusedPasswordsReportComponent,[h.CipherService,t.ComponentFactoryResolver,g.MessagingService,m.UserService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ReusedPasswordsReportComponent=C,l.View_ReusedPasswordsReportComponent_0=O,l.View_ReusedPasswordsReportComponent_Host_0=T;var N=t.ɵccf("app-reused-passwords-report",v.ReusedPasswordsReportComponent,T,{},{},[]);l.ReusedPasswordsReportComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(104),a=e(99),s=e(74),c=e(35),d=e(41),p=e(5),f=e(8),v=e(502),h=e(23),g=e(20),m=e(9),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noUnsecuredWebsites"));n(l,3,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,e),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"unsecuredWebsitesFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"unsecuredWebsitesFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(18,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(21,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,P)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.hasLoaded&&e.loading),n(l,18,0,!e.hasLoaded&&e.loading),n(l,21,0,e.hasLoaded)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"unsecuredWebsitesReport"));n(l,6,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"unsecuredWebsitesReportDesc"));n(l,14,0,u)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-unsecured-websites-report",[],null,null,null,O,C)),t.ɵdid(1,114688,null,0,v.UnsecuredWebsitesReportComponent,[h.CipherService,t.ComponentFactoryResolver,g.MessagingService,m.UserService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UnsecuredWebsitesReportComponent=C,l.View_UnsecuredWebsitesReportComponent_0=O,l.View_UnsecuredWebsitesReportComponent_Host_0=T;var N=t.ɵccf("app-unsecured-websites-report",v.UnsecuredWebsitesReportComponent,T,{},{},[]);l.UnsecuredWebsitesReportComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(104),a=e(99),s=e(74),c=e(35),d=e(41),p=e(5),f=e(8),v=e(503),h=e(23),g=e(64),m=e(20),y=e(9),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"goodNews")),"");n(l,1,0,"success",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noWeakPasswords"));n(l,3,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-share-alt"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"shared")),"");n(l,0,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-paperclip"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"attachments")),"");n(l,0,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-vault-icon",[],null,null,null,i.View_IconComponent_0,i.RenderType_IconComponent)),t.ɵdid(5,573440,null,0,a.IconComponent,[s.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,17,"td",[["class","reduced-lh wrap"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,d.StopClickDirective,[],null,null),t.ɵppd(12,1),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(16,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(19,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"td",[["class","text-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"span",[],[[8,"className",0]],null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit),n(l,16,0,!e.organization&&l.context.$implicit.organizationId),n(l,19,0,l.context.$implicit.hasAttachments)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"editItem")),"");n(l,10,0,u),n(l,13,0,l.context.$implicit.name),n(l,24,0,l.context.$implicit.subTitle),n(l,29,0,t.ɵinlineInterpolate(1,"badge badge-",e.passwordStrengthMap.get(l.context.$implicit.id)[1],""));var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,0),e.passwordStrengthMap.get(l.context.$implicit.id)[0]));n(l,30,0,r)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,1,n(l,4,0,t.ɵnov(l.parent.parent,0),"weakPasswordsFound")),"");n(l,3,0,"danger",u),n(l,14,0,e.ciphers)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"weakPasswordsFoundDesc",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,1),e.ciphers.length))));n(l,5,0,u)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.ciphers.length),n(l,6,0,e.ciphers.length)},null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function T(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[o.I18nService]),t.ɵpid(0,p.DecimalPipe,[t.LOCALE_ID]),t.ɵqud(402653184,1,{cipherAddEditModalRef:0}),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(13,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(18,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(21,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["cipherAddEdit",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.hasLoaded&&e.loading),n(l,18,0,!e.hasLoaded&&e.loading),n(l,21,0,e.hasLoaded)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"weakPasswordsReport"));n(l,6,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"weakPasswordsReportDesc"));n(l,14,0,u)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-weak-passwords-report",[],null,null,null,T,b)),t.ɵdid(1,114688,null,0,v.WeakPasswordsReportComponent,[h.CipherService,g.PasswordGenerationService,t.ComponentFactoryResolver,m.MessagingService,y.UserService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_WeakPasswordsReportComponent=b,l.View_WeakPasswordsReportComponent_0=T,l.View_WeakPasswordsReportComponent_Host_0=N;var E=t.ɵccf("app-weak-passwords-report",v.WeakPasswordsReportComponent,N,{},{},[]);l.WeakPasswordsReportComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),r=e(5),o=e(8),i=e(3),a=e(504),s=e(9),c=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","people"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"people");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"people"));n(l,5,0,e)})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","groups"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"groups");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"groups"));n(l,5,0,e)})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","events"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"events");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"eventLogs"));n(l,5,0,e)})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,18,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,d)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,6,"a",[["class","list-group-item"],["routerLink","collections"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,12).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(12,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(13,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(16,null,["\n ","\n "])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(20,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(23,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.organization.isAdmin);n(l,12,0,"collections");n(l,13,0,"active"),n(l,20,0,e.organization.isAdmin&&e.accessGroups),n(l,23,0,e.organization.isAdmin&&e.accessEvents)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"manage"));n(l,3,0,e),n(l,11,0,t.ɵnov(l,12).target,t.ɵnov(l,12).href);var u=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent,0),"collections"));n(l,16,0,u)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,16,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(8,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(14,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,8,0,l.component.organization),n(l,14,0)},null)}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage",[],null,null,null,h,c)),t.ɵdid(1,114688,null,0,a.ManageComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ManageComponent=c,l.View_ManageComponent_0=h,l.View_ManageComponent_Host_0=g;var m=t.ɵccf("app-org-manage",a.ManageComponent,g,{},{},[]);l.ManageComponentNgFactory=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(5),o=e(8),i=e(3),a=e(275),s=e(12),c=e(505),d=e(4),p=e(10),f=e(45),v=e(6),h=e(13),g=e(7),m=e(9),y=t.ɵcrt({encapsulation:2,styles:[],data:{}});function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null))],null,null)}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==r.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==r.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==r.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name);var e=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"));n(l,24,0,e);var u=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete"));n(l,31,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[6,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[[4,s.NgControl]],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(36,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,_)),t.ɵdid(39,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading);var u=!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.collections,e.searchText,"name","id"));n(l,39,0,u)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"collections"));n(l,7,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),"");n(l,18,0,r,t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending);var o=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newCollection"));n(l,30,0,o)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage-collections",[],null,null,null,k,y)),t.ɵdid(1,114688,null,0,c.CollectionsComponent,[d.ApiService,p.ActivatedRoute,f.CollectionService,t.ComponentFactoryResolver,v.Angulartics2,h.ToasterService,i.I18nService,g.PlatformUtilsService,m.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=y,l.View_CollectionsComponent_0=k,l.View_CollectionsComponent_Host_0=A;var P=t.ɵccf("app-org-manage-collections",c.CollectionsComponent,A,{},{},[]);l.CollectionsComponentNgFactory=P},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(15),o=e(14),i=e(8),a=e(3),s=e(12),c=e(507),d=e(4),p=e(10),f=e(241),v=e(13),h=e(9),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList"));n(l,1,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"));n(l,3,0,e),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,13,0,t.ɵinlineInterpolate(1,"",l.context.$implicit.userEmail,"")),n(l,14,0,l.context.$implicit.userName),n(l,17,0,l.context.$implicit.message)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"table",[["class","table table-hover"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,20,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,30,0,l.component.events)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"));n(l,7,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"));n(l,13,0,u);var r=t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"user"));n(l,18,0,r);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"event"));n(l,22,0,o)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore"));n(l,7,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.events||!e.events.length),n(l,6,0,e.events&&e.events.length),n(l,9,0,e.continuationToken)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,40,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.start=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[6,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(21,16384,null,0,s.NgControlStatus,[[4,s.NgControl]],null,null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.end=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[6,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(36,16384,null,0,s.NgControlStatus,[[4,s.NgControl]],null,null),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(41,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(44,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(45,{"fa-spin":0}),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,19,0,e.start),n(l,34,0,e.end),n(l,41,0,e.refreshPromise);var u=n(l,45,0,e.loaded&&t.ɵnov(l,40).loading);n(l,44,0,"fa fa-refresh fa-fw",u),n(l,52,0,!e.loaded),n(l,55,0,e.loaded)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"eventLogs"));n(l,5,0,u);var r=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"startDate"));n(l,13,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,22,0,t.ɵnov(l,0),"startDate")),"");n(l,16,0,o,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending);var i=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"endDate"));n(l,28,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,37,0,t.ɵnov(l,0),"endDate")),"");n(l,31,0,a,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,40,0,e.loaded&&t.ɵnov(l,40).loading);var s=t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"refresh"));n(l,46,0,s)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-events",[],null,null,null,_,g)),t.ɵdid(1,114688,null,0,c.EventsComponent,[d.ApiService,p.ActivatedRoute,f.EventService,a.I18nService,v.ToasterService,h.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EventsComponent=g,l.View_EventsComponent_0=_,l.View_EventsComponent_Host_0=I;var R=t.ɵccf("app-org-events",c.EventsComponent,I,{},{},[]);l.EventsComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(5),o=e(8),i=e(3),a=e(275),s=e(12),c=e(508),d=e(4),p=e(10),f=e(6),v=e(13),h=e(7),g=e(9),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList"));n(l,1,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==r.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==r.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==r.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name);var e=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"));n(l,24,0,e);var u=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete"));n(l,31,0,u)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[6,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[[4,s.NgControl]],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,S)),t.ɵdid(39,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading);var u=!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.groups,e.searchText,"name","id"));n(l,39,0,u)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"groups"));n(l,7,0,e);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),"");n(l,18,0,r,t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending);var o=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newGroup"));n(l,30,0,o)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-groups",[],null,null,null,R,m)),t.ɵdid(1,114688,null,0,c.GroupsComponent,[d.ApiService,p.ActivatedRoute,i.I18nService,t.ComponentFactoryResolver,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupsComponent=m,l.View_GroupsComponent_0=R,l.View_GroupsComponent_Host_0=k;var A=t.ɵccf("app-org-groups",c.GroupsComponent,k,{},{},[]);l.GroupsComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.GroupRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(41),a=e(170),s=e(145),c=e(43),d=e(107),p=e(35),f=e(5),v=e(8),h=e(275),g=e(12),m=e(509),y=e(4),C=e(10),b=e(7),w=e(6),S=e(13),_=e(22),I=e(9),R=e(63),k=t.ɵcrt({encapsulation:2,styles:[],data:{}});function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.invitedCount)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.acceptedCount)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noUsersInList"));n(l,1,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","info"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"confirmUsers")),"");n(l,1,0,"info","fa-check-circle",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"usersNeedConfirmed"));n(l,3,0,e)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited"));n(l,1,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted"));n(l,1,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-lock"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"userUsingTwoStep")),"");n(l,0,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner"));n(l,1,0,e)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin"));n(l,1,0,e)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"manager"));n(l,1,0,e)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user"));n(l,1,0,e)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.reinvite(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-envelope-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"resendInvitation"));n(l,4,0,e)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-success"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.confirm(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-check"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"confirm"));n(l,4,0,e)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.groups(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-sitemap"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"groups"));n(l,4,0,e)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"eventLogs"));n(l,4,0,e)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,77,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["width","30"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-avatar",[["size","25"]],null,null,null,a.View_AvatarComponent_0,a.RenderType_AvatarComponent)),t.ɵdid(5,638976,null,0,s.AvatarComponent,[c.DomSanitizer,d.CryptoFunctionService,p.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==r.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(15,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(18,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(21,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(27,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,13,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(33,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(36,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(39,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(42,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,31,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,28,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,20,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(57,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(60,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(63,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(66,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,69).onClick(e)&&u);"click"===l&&(u=!1!==r.remove(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(69,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,0,"i",[["class","fa fa-fw fa-remove"]],null,null,null,null,null)),(n()(),t.ɵted(72,null,["\n ","\n "])),t.ɵppd(73,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit.name||l.context.$implicit.email,l.context.$implicit.email,"25",14,!0),n(l,15,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,18,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,21,0,l.context.$implicit.name),n(l,27,0,l.context.$implicit.twoFactorEnabled),n(l,33,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,36,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,39,0,l.context.$implicit.type===e.organizationUserType.Manager),n(l,42,0,l.context.$implicit.type===e.organizationUserType.User),n(l,57,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,60,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,63,0,e.accessGroups),n(l,66,0,e.accessEvents&&l.context.$implicit.status===e.organizationUserStatusType.Confirmed)},function(n,l){n(l,12,0,l.context.$implicit.email);var e=t.ɵunv(l,72,0,n(l,73,0,t.ɵnov(l.parent.parent.parent,0),"remove"));n(l,72,0,e)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,13,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(3,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(10,278528,null,0,f.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.showConfirmUsers),n(l,10,0,l.parent.context.ngIf)},null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(6,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function X(n){return t.ɵvid(0,[t.ɵpid(0,v.I18nPipe,[o.I18nService]),t.ɵpid(0,h.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{groupsModalRef:0}),t.ɵqud(402653184,3,{eventsModalRef:0}),t.ɵqud(402653184,4,{confirmModalRef:0}),(n()(),t.ɵeld(6,0,null,null,56,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,49,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,25,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(null)&&t);return t},null,null)),t.ɵdid(17,278528,null,0,f.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(18,{active:0}),(n()(),t.ɵted(19,null,["\n ","\n "])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Invited)&&t);return t},null,null)),t.ɵdid(23,278528,null,0,f.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(24,{active:0}),(n()(),t.ɵted(25,null,["\n ","\n "])),t.ɵppd(26,1),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(28,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Accepted)&&t);return t},null,null)),t.ɵdid(32,278528,null,0,f.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(33,{active:0}),(n()(),t.ɵted(34,null,["\n ","\n "])),t.ɵppd(35,1),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(37,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,13,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,48)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,48)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,48)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);return u},null,null)),t.ɵdid(48,16384,null,0,g.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,g.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,g.NG_VALUE_ACCESSOR,function(n){return[n]},[g.DefaultValueAccessor]),t.ɵdid(50,671744,null,0,g.NgModel,[[8,null],[8,null],[8,null],[6,g.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,g.NgControl,null,[g.NgModel]),t.ɵdid(52,16384,null,0,g.NgControlStatus,[[4,g.NgControl]],null,null),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.invite()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(59,null,["\n ","\n "])),t.ɵppd(60,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(65,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,H)),t.ɵdid(68,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(69,5),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,$)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["groupsTemplate",2]],null,0,null,W)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["eventsTemplate",2]],null,0,null,Y)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["confirmTemplate",2]],null,0,null,J)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,u=n(l,18,0,null==e.status);n(l,17,0,"btn btn-outline-secondary",u);var r=n(l,24,0,e.status==e.organizationUserStatusType.Invited);n(l,23,0,"btn btn-outline-secondary",r),n(l,28,0,e.invitedCount);var o=n(l,33,0,e.status==e.organizationUserStatusType.Accepted);n(l,32,0,"btn btn-outline-secondary",o),n(l,37,0,e.acceptedCount),n(l,50,0,e.searchText),n(l,65,0,e.loading);var i=!e.loading&&t.ɵunv(l,68,0,n(l,69,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id"));n(l,68,0,i)},function(n,l){var e=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"people"));n(l,9,0,e);var u=t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"all"));n(l,19,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"invited"));n(l,25,0,r);var o=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"accepted"));n(l,34,0,o);var i=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"search"));n(l,44,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,47,0,n(l,53,0,t.ɵnov(l,0),"search")),"");n(l,47,0,a,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending);var s=t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l,0),"inviteUser"));n(l,59,0,s)})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-people",[],null,null,null,X,k)),t.ɵdid(1,114688,null,0,m.PeopleComponent,[y.ApiService,C.ActivatedRoute,o.I18nService,t.ComponentFactoryResolver,b.PlatformUtilsService,w.Angulartics2,S.ToasterService,_.CryptoService,I.UserService,C.Router,R.StorageService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PeopleComponent=k,l.View_PeopleComponent_0=X,l.View_PeopleComponent_Host_0=Z;var Q=t.ɵccf("app-org-people",m.PeopleComponent,Z,{},{},[]);l.PeopleComponentNgFactory=Q},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.emails=[],this.collections=[]}}();l.OrganizationUserInviteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.OrganizationUserUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.groupIds=[]}}();l.OrganizationUserUpdateGroupsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),r=e(5),o=e(8),i=e(3),a=e(510),s=e(9),c=e(7),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"billing");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"billing"));n(l,5,0,e)})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"two-factor");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"twoStepLogin"));n(l,5,0,e)})}function v(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,45,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,42,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,33,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,30,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,23,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","subscription"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(32,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(35,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(43,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"subscription");n(l,25,0,"active"),n(l,32,0,!e.selfHosted),n(l,35,0,e.access2fa),n(l,43,0)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"));n(l,10,0,e),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myOrganization"));n(l,20,0,u),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"subscription"));n(l,28,0,r)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-settings",[],null,null,null,v,d)),t.ɵdid(1,114688,null,0,a.SettingsComponent,[u.ActivatedRoute,s.UserService,c.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=d,l.View_SettingsComponent_0=v,l.View_SettingsComponent_Host_0=h;var g=t.ɵccf("app-org-settings",a.SettingsComponent,h,{},{},[]);l.SettingsComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(15),o=e(14),i=e(170),a=e(145),s=e(43),c=e(107),d=e(35),p=e(8),f=e(3),v=e(5),h=e(511),g=e(4),m=e(6),y=e(13),C=e(10),b=e(65),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.org.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.org.billingEmail=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.org.businessName=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["size","75"]],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer,c.CryptoFunctionService,d.StateService],{data:[0,"data"],size:[1,"size"],fontSize:[2,"fontSize"],dynamic:[3,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.org.name);n(l,33,0,"BillingEmail",e.org.billingEmail);n(l,47,0,"BusinessName",e.org.businessName);n(l,56,0,t.ɵinlineInterpolate(1,"",e.org.name,""),"75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var e=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"organizationName"));n(l,13,0,e),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending);var u=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"billingEmail"));n(l,27,0,u),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending);var r=t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"businessName"));n(l,41,0,r),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"");n(l,62,0,o);var i=t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save"));n(l,66,0,i)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","secondary-header border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,6,"p",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,2,"a",[["href","https://docs.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["\n ","\n "])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.viewApiKey()&&t);return t},null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.rotateApiKey()&&t);return t},null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"apiKey"));n(l,5,0,e);var u=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"apiKeyDesc"));n(l,10,0,u);var r=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"learnMore"));n(l,13,0,r);var o=t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent,0),"viewApiKey"));n(l,18,0,o);var i=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"rotateApiKey"));n(l,22,0,i)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵqud(402653184,1,{deleteModalRef:0}),t.ɵqud(402653184,2,{purgeModalRef:0}),t.ɵqud(402653184,3,{apiKeyModalRef:0}),t.ɵqud(402653184,4,{rotateApiKeyModalRef:0}),(n()(),t.ɵeld(5,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(13,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(16,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(19,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(21,0,null,null,5,"div",[["class","secondary-header border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(28,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(29,null,["",""])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(33,null,["\n ","\n"])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(36,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(43,0,null,null,16,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,13,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteOrganization()&&t);return t},null,null)),(n()(),t.ɵted(52,null,["",""])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.purgeVault()&&t);return t},null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deleteOrganizationTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["purgeOrganizationTemplate",2]],null,0,null,k)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["apiKeyTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["rotateApiKeyTemplate",2]],null,0,null,P)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,13,0,e.loading),n(l,16,0,e.org&&!e.loading),n(l,19,0,e.canUseApi)},function(n,l){var e=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l,0),"myOrganization"));n(l,8,0,e);var u=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"taxInformation"));n(l,24,0,u);var r=t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"taxInformationDesc"));n(l,29,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"contactSupport"));n(l,33,0,o);var i=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"dangerZone"));n(l,39,0,i);var a=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"dangerZoneDesc"));n(l,48,0,a);var s=t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"deleteOrganization"));n(l,52,0,s);var c=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"purgeVault"));n(l,56,0,c)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-account",[],null,null,null,O,w)),t.ɵdid(1,114688,null,0,h.AccountComponent,[t.ComponentFactoryResolver,g.ApiService,f.I18nService,m.Angulartics2,y.ToasterService,C.ActivatedRoute,b.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AccountComponent=w,l.View_AccountComponent_0=O,l.View_AccountComponent_Host_0=T;var N=t.ɵccf("app-org-account",h.AccountComponent,T,{},{},[]);l.AccountComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(41),a=e(5),s=e(8),c=e(512),d=e(4),p=e(9),f=e(20),v=e(10),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc"));n(l,1,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc"));n(l,1,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){var e=t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"));n(l,4,0,e);var u=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode"));n(l,8,0,u)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,0,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium"));n(l,2,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled&&e.canAccessPremium),n(l,15,0,!e.canAccessPremium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.canAccessPremium&&l.context.$implicit.premium);var u=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage"));n(l,22,0,u)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,278528,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,k)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,P)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId);var t=n(l,25,0,!e.organizationId);n(l,24,0,t),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers"));n(l,26,0,u)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,O,h)),t.ɵdid(1,114688,null,0,c.TwoFactorSetupComponent,[d.ApiService,p.UserService,t.ComponentFactoryResolver,f.MessagingService,v.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=h,l.View_TwoFactorSetupComponent_0=O,l.View_TwoFactorSetupComponent_Host_0=T;var N=t.ɵccf("app-two-factor-setup",c.TwoFactorSetupComponent,T,{},{},[]);l.TwoFactorSetupComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(576),o=e(481),i=e(9),a=e(4),s=e(6),c=e(13),d=e(7),p=e(28),f=e(27),v=e(3),h=e(12),g=e(15),m=e(14),y=e(577),C=e(482),b=e(8),w=e(513),S=e(10),_=t.ɵcrt({encapsulation:2,styles:[],data:{}});function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"button",[["class","btn btn-sm btn-outline-primary ml-auto"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.load()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-spin":0}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){var e=n(l,4,0,l.component.loading);n(l,3,0,"fa fa-refresh fa-fw",e)},function(n,l){n(l,0,0,l.component.loading);var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"refresh"));n(l,5,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCredit()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"addCredit"));n(l,1,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-add-credit",[],null,[[null,"onAdded"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdded"===l&&(t=!1!==u.closeAddCredit(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeAddCredit(!1)&&t);return t},r.View_AddCreditComponent_0,r.RenderType_AddCreditComponent)),t.ɵdid(1,114688,null,0,o.AddCreditComponent,[i.UserService,a.ApiService,s.Angulartics2,c.ToasterService,d.PlatformUtilsService],{organizationId:[0,"organizationId"]},{onAdded:"onAdded",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.organizationId)},null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noPaymentMethod"));n(l,1,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,p.View_CalloutComponent_0,p.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,f.CalloutComponent,[v.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,h.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,h.ControlContainer,null,[h.NgForm]),t.ɵdid(12,16384,null,0,h.NgControlStatusGroup,[[4,h.ControlContainer]],null,null),t.ɵdid(13,540672,null,0,g.ApiActionDirective,[t.ElementRef,m.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,h.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,h.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,h.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,h.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,h.NG_VALIDATORS,function(n){return[n]},[h.RequiredValidator]),t.ɵprd(1024,null,h.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[h.DefaultValueAccessor,h.ɵangular_packages_forms_forms_be]),t.ɵdid(33,671744,null,0,h.NgModel,[[2,h.ControlContainer],[6,h.NG_VALIDATORS],[8,null],[6,h.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,h.NgControl,null,[h.NgModel]),t.ɵdid(35,16384,null,0,h.NgControlStatus,[[4,h.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,h.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,h.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,h.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,h.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,h.NG_VALIDATORS,function(n){return[n]},[h.RequiredValidator]),t.ɵprd(1024,null,h.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[h.DefaultValueAccessor,h.ɵangular_packages_forms_forms_be]),t.ɵdid(56,671744,null,0,h.NgModel,[[2,h.ControlContainer],[6,h.NG_VALIDATORS],[8,null],[6,h.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,h.NgControl,null,[h.NgModel]),t.ɵdid(58,16384,null,0,h.NgControlStatus,[[4,h.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccount")),"");n(l,1,0,"warning",u),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccountDesc")),u=t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccountFailureWarning"));n(l,5,0,e,u),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent,0),"amount","1"));n(l,16,0,r),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending);var o=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent,0),"amount","2"));n(l,39,0,o),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,63,0,i);var a=t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent,0),"verifyBankAccount"));n(l,67,0,a)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);var t=n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal);n(l,8,0,"fa fa-fw",t)},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod"));n(l,1,0,u)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},y.View_AdjustPaymentComponent_0,y.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,C.AdjustPaymentComponent,[a.ApiService,v.I18nService,s.Angulartics2,c.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noInvoices"));n(l,1,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-check text-success"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"paid"));n(l,3,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-exclamation-circle text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"unpaid"));n(l,3,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,31,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,11,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"a",[["class","mr-2"],["rel","noopener"],["target","_blank"]],[[8,"href",4],[8,"title",0]],null,null,null,null)),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"a",[["rel","noopener"],["target","_blank"]],[[8,"href",4],[8,"title",0]],null,null,null,null)),t.ɵppd(14,1),(n()(),t.ɵted(15,null,["\n ",""])),t.ɵppd(16,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,7,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,26,0,l.context.$implicit.paid),n(l,29,0,!l.context.$implicit.paid)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,2),l.context.$implicit.date,"mediumDate"));n(l,3,0,e);var u=t.ɵinlineInterpolate(1,"",l.context.$implicit.pdfUrl,""),r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"downloadInvoice")),"");n(l,8,0,u,r);var o=t.ɵinlineInterpolate(1,"",l.context.$implicit.url,""),i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,1,n(l,14,0,t.ɵnov(l.parent.parent.parent,0),"viewInvoice")),"");n(l,13,0,o,i);var a=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,0),"invoiceNumber",l.context.$implicit.number));n(l,15,0,a);var s=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.amount,"$"));n(l,20,0,s)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(5,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.invoices)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noTransactions"));n(l,1,0,e)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"chargeNoun"));n(l,1,0,e)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"refundNoun"));n(l,1,0,e)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{"fa-credit-card":0,"fa-university":1,"fa-bitcoin text-warning":2,"fa-paypal text-primary":3})],function(n,l){var e=l.component,t=n(l,2,0,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.Card,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.BankAccount||l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.WireTransfer,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.BitPay,l.parent.context.$implicit.paymentMethodType===e.paymentMethodType.PayPal);n(l,1,0,"fa fa-fw",t)},null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,27,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(12,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(18,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(19,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(23,{"text-strike":0}),t.ɵppd(24,1),(n()(),t.ɵted(25,null,["\n ",""])),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,l.context.$implicit.type===e.transactionType.Charge||l.context.$implicit.type===e.transactionType.Credit),n(l,12,0,l.context.$implicit.type===e.transactionType.Refund),n(l,18,0,l.context.$implicit.paymentMethodType);var t=n(l,23,0,l.context.$implicit.refunded);n(l,22,0,t)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,2),l.context.$implicit.createdDate,"mediumDate"));n(l,3,0,e),n(l,19,0,l.context.$implicit.details);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"");n(l,21,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.amount,"$"));n(l,25,0,r)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(5,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.transactions)},null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"p",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵeld(7,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(16,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(19,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(35,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(42,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(45,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,!e.showAddCredit),n(l,19,0,e.showAddCredit),n(l,26,0,!e.paymentSource),n(l,29,0,e.paymentSource),n(l,32,0,!e.showAdjustPayment),n(l,35,0,e.showAdjustPayment),n(l,42,0,!e.invoices||!e.invoices.length),n(l,45,0,e.invoices&&e.invoices.length),n(l,52,0,!e.transactions||!e.transactions.length),n(l,55,0,e.transactions&&e.transactions.length)},function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),e.isCreditBalance?"accountCredit":"accountBalance"));n(l,3,0,u);var r=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,1),e.creditOrBalance,"$"));n(l,8,0,r);var o=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"creditAppliedDesc"));n(l,12,0,o);var i=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"paymentMethod"));n(l,22,0,i);var a=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent,0),"invoices"));n(l,38,0,a);var s=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent,0),"transactions"));n(l,48,0,s);var c=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent,0),"chargesStatement","BITWARDEN"));n(l,58,0,c)})}function K(n){return t.ɵvid(0,[t.ɵpid(0,b.I18nPipe,[v.I18nService]),t.ɵpid(0,u.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,8,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["\n ","\n "])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(10,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(14,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(17,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.firstLoaded),n(l,14,0,!e.firstLoaded&&e.loading),n(l,17,0,e.billing)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"billing"));n(l,6,0,e)})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,K,_)),t.ɵdid(1,114688,null,0,w.OrganizationBillingComponent,[a.ApiService,v.I18nService,s.Angulartics2,c.ToasterService,S.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationBillingComponent=_,l.View_OrganizationBillingComponent_0=K,l.View_OrganizationBillingComponent_Host_0=H;var $=t.ɵccf("app-org-billing",w.OrganizationBillingComponent,H,{},{},[]);l.OrganizationBillingComponentNgFactory=$},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(28),r=e(27),o=e(3),i=e(15),a=e(14),s=e(5),c=e(578),d=e(483),p=e(4),f=e(6),v=e(13),h=e(904),g=e(617),m=e(579),y=e(484),C=e(8),b=e(514),w=e(73),S=e(7),_=e(20),I=e(10),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),"");n(l,0,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ",""])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),"");n(l,1,0,"warning",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled"));n(l,3,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"");n(l,1,0,"warning",u),n(l,9,0,e.reinstatePromise)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,8).loading);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,11,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription"));n(l,15,0,r)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"span",[["class","text-danger ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-exclamation-triangle"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"licenseIsExpired"));n(l,3,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,2),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(4,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,4,0,l.component.isExpired)},function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.sub.expiration,"mediumDate"));n(l,1,0,u)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires"));n(l,1,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(17,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.sub.expiration),n(l,17,0,!e.sub.expiration)},function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"billingPlan"));n(l,3,0,u),n(l,7,0,e.sub.plan);var r=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent.parent,0),"expiration"));n(l,10,0,r)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"pendingCancellation"));n(l,1,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,23,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["","\n "])),t.ɵppd(21,2),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,l.component.subscriptionMarkedForCancel)},function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"status"));n(l,3,0,u),n(l,9,0,e.subscription.status||"-");var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent,0),"nextCharge"));n(l,16,0,r);var o=e.nextInvoice?t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,20,0,n(l,22,0,t.ɵnov(l.parent.parent.parent,2),e.nextInvoice.amount,"$")):"-";n(l,20,0,o)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.context.$implicit.name,u=l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",r=t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"));n(l,3,0,e,u,r);var o=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),i=t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval));n(l,7,0,o,i)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(11,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details"));n(l,3,0,e)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(19,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.subscription),n(l,19,0,e.subscription)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"billingPlan"));n(l,7,0,u),n(l,11,0,e.sub.plan)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},c.View_UpdateLicenseComponent_0,c.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,d.UpdateLicenseComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],{organizationId:[0,"organizationId"]},{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.organizationId)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense"));n(l,5,0,e)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"));n(l,5,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription"));n(l,9,0,u)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["licenseBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit ml-1"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.licensePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense"));n(l,7,0,u)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription"));n(l,7,0,u)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addSeats"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeSeats"));n(l,7,0,u)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeSeats(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeSeats(!1)&&t);return t},h.View_AdjustSeatsComponent_0,h.RenderType_AdjustSeatsComponent)),t.ɵdid(1,49152,null,0,g.AdjustSeatsComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],{seatPrice:[0,"seatPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.seatPrice,e.adjustSeatsAdd,e.organizationId,e.billingInterval)},null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustSeats),n(l,8,0,e.showAdjustSeats)},null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage"));n(l,7,0,u)})}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},m.View_AdjustStorageComponent_0,m.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,y.AdjustStorageComponent,[p.ApiService,o.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.storageGbPrice,e.adjustStorageAdd,e.organizationId,e.billingInterval)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,45,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePlan()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(37,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(38,{width:0}),(n()(),t.ɵted(39,null,["\n ",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(44,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.canDownloadLicense),n(l,12,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,24,0,e.subscription&&e.canAdjustSeats&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel);var t=n(l,38,0,e.storageProgressWidth+"%");n(l,37,0,t),n(l,44,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"changeBillingPlan"));n(l,5,0,u);var r=t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"userSeats"));n(l,16,0,r);var o=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"subscriptionUserSeats",e.sub.seats));n(l,20,0,o);var i=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent.parent,0),"storage"));n(l,27,0,i);var a=t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.sub.maxStorageGb||0,e.sub.storageName||"0 MB"));n(l,31,0,a),n(l,36,0,e.storagePercentage);var s=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100));n(l,39,0,s)})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function X(n){return t.ɵvid(0,[t.ɵpid(0,C.I18nPipe,[o.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.sub)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"subscription"));n(l,7,0,e)})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-subscription",[],null,null,null,X,R)),t.ɵdid(1,114688,null,0,b.OrganizationSubscriptionComponent,[w.TokenService,p.ApiService,S.PlatformUtilsService,o.I18nService,f.Angulartics2,v.ToasterService,_.MessagingService,I.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationSubscriptionComponent=R,l.View_OrganizationSubscriptionComponent_0=X,l.View_OrganizationSubscriptionComponent_Host_0=Z;var Q=t.ɵccf("app-org-subscription",b.OrganizationSubscriptionComponent,Z,{},{},[]);l.OrganizationSubscriptionComponentNgFactory=Q},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(5),i=e(12),a=e(15),s=e(14),c=e(617),d=e(4),p=e(6),f=e(13),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,[" "," × "," = "," /","\n "])),t.ɵppd(6,2),t.ɵppd(7,2),t.ɵppd(8,1)],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"total"));n(l,3,0,u);var r=e.seatAdjustment||0,o=t.ɵunv(l,5,1,n(l,6,0,t.ɵnov(l.parent,1),e.seatPrice,"$")),i=t.ɵunv(l,5,2,n(l,7,0,t.ɵnov(l.parent,1),e.adjustedSeatTotal,"$")),a=t.ɵunv(l,5,3,n(l,8,0,t.ɵnov(l.parent,0),e.interval));n(l,5,0,r,o,i,a)})}function g(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),t.ɵpid(0,o.CurrencyPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,[["form",1]],null,53,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,3).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,3).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(3,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(5,16384,null,0,i.NgControlStatusGroup,[[4,i.ControlContainer]],null,null),t.ɵdid(6,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,46,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","seatAdjustment"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["class","form-control"],["id","seatAdjustment"],["min","0"],["name","SeatAdjustment"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.seatAdjustment=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,i.ɵangular_packages_forms_forms_be,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(25,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵangular_packages_forms_forms_be]),t.ɵdid(28,671744,null,0,i.NgModel,[[2,i.ControlContainer],[6,i.NG_VALIDATORS],[8,null],[6,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(30,16384,null,0,i.NgControlStatus,[[4,i.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(48,null,["\n ","\n "])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,2,"small",[["class","d-block text-muted mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,6,0,e.formPromise);n(l,25,0,"");n(l,28,0,"SeatAdjustment",e.seatAdjustment),n(l,35,0,e.add)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),e.add?"addSeats":"removeSeats"));n(l,11,0,u);var r=t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),e.add?"seatsToAdd":"seatsToRemove"));n(l,19,0,r),n(l,22,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,37,0,t.ɵnov(l,2).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"");n(l,39,0,o);var i=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"submit"));n(l,43,0,i);var a=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"));n(l,48,0,a);var s=t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),e.add?"seatsAddNote":"seatsRemoveNote"));n(l,52,0,s)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,null,null,g,v)),t.ɵdid(1,49152,null,0,c.AdjustSeatsComponent,[d.ApiService,r.I18nService,p.Angulartics2,f.ToasterService],null,null)],null,null)}l.RenderType_AdjustSeatsComponent=v,l.View_AdjustSeatsComponent_0=g,l.View_AdjustSeatsComponent_Host_0=m;var y=t.ɵccf("app-adjust-seats",c.AdjustSeatsComponent,m,{seatPrice:"seatPrice",add:"add",organizationId:"organizationId",interval:"interval"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustSeatsComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SeatRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(5),o=e(41),i=e(618),a=e(46),s=e(15),c=e(14),d=e(619),p=e(8),f=e(3),v=e(262),h=e(23),g=e(58),m=e(7),y=e(108),C=e(35),b=e(9),w=e(45),S=e(234),_=e(64),I=e(20),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"select",[["class","form-control"],["id","type"],["name","Type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,9).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.type=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(16,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,11,0,"Type",e.cipher.type),n(l,16,0,e.typeOptions)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"whatTypeOfItem"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[["for","folder"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,9,"select",[["class","form-control"],["id","folder"],["name","FolderId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,7).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,7).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.folderId=e)&&u);return u},null,null)),t.ɵdid(7,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(9,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(11,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(14,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"FolderId",e.cipher.folderId),n(l,14,0,e.folders)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folder"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary ml-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,0),"premium"));n(l,2,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary ml-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.upgradeOrganization()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,0),"upgrade"));n(l,2,0,e)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"img",[["class","ml-2"],["src","images/totp-countdown.png"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,6,0,!e.organization&&!e.cipher.organizationId&&!e.canAccessPremium),n(l,9,0,e.organization&&!e.organization.useTotp||!e.organization&&!e.canAccessPremium&&e.cipher.organizationId&&!e.cipher.organizationUseTotp)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeTotp")),"");n(l,2,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,16,"span",[["class","totp-countdown mr-3 ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"span",[["class","totp-sec"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,":svg:svg",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,":svg:g",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,":svg:circle",[["class","totp-circle inner"],["cx","16"],["cy","16"],["r","12.6"]],null,null,null,null,null)),t.ɵdid(12,278528,null,0,r.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(13,{"stroke-dashoffset.px":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,":svg:circle",[["class","totp-circle outer"],["cx","16"],["cy","16"],["r","14"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[["class","totp-code mr-2"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(21,1),(n()(),t.ɵted(22,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,4,"button",[["class","btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.totpCode,"verificationCodeTotp","TOTP")&&t);return t},null,null)),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,13,0,l.component.totpDash);n(l,12,0,e)},function(n,l){var e=l.component;n(l,5,0,e.totpSec);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeTotp")),"");n(l,20,0,u),n(l,22,0,e.totpCodeFormatted);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"copyVerificationCode")),"");n(l,24,0,r)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["","\n "]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,72,"div",[["appBoxRow",""],["class","row"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,81920,null,0,i.BoxRowDirective,[t.ElementRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,32,"div",[["class","col-7 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,25,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,7,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,12)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,12).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,12)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,12)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.uri=e)&&u);return u},null,null)),t.ɵdid(12,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(14,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(16,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(17,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,13,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.launch(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"i",[["class","fa fa-lg fa-share"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.context.$implicit.uri,"uri","URI")&&t);return t},null,null)),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,34,"div",[["class","col-5 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(42,null,["\n ","\n "])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/uri-match-detection/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,18,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,9,"select",[["class","form-control"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.match=e)&&u);"change"===l&&(u=!1!==r.loginUriMatchChanged(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(55,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(57,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(59,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(62,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.removeUri(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0),n(l,14,0,t.ɵinlineInterpolate(1,"Login.Uris[",l.context.index,"].Uri"),l.context.$implicit.uri);n(l,17,0,""),n(l,57,0,t.ɵinlineInterpolate(1,"Login.Uris[",l.context.index,"].Match"),l.context.$implicit.match),n(l,62,0,e.uriMatchOptions)},function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"loginUri",l.context.index,""));var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"uriPosition",l.context.index+1));n(l,6,0,e);var u=t.ɵinlineInterpolate(1,"loginUri",l.context.index,""),r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,1,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"ex"))," https://google.com");n(l,11,0,u,r,t.ɵnov(l,16).ngClassUntouched,t.ɵnov(l,16).ngClassTouched,t.ɵnov(l,16).ngClassPristine,t.ɵnov(l,16).ngClassDirty,t.ɵnov(l,16).ngClassValid,t.ɵnov(l,16).ngClassInvalid,t.ɵnov(l,16).ngClassPending);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent.parent.parent,0),"launch")),"");n(l,22,0,o,!l.context.$implicit.canLaunch);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyUri")),"");n(l,28,0,i),n(l,41,0,t.ɵinlineInterpolate(1,"loginUriMatch",l.context.index,""));var a=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent.parent.parent,0),"matchDetection"));n(l,42,0,a);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l.parent.parent.parent.parent,0),"learnMore")),"");n(l,45,0,s),n(l,54,0,t.ɵinlineInterpolate(1,"loginUriMatch",l.context.index,""),t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l.parent.parent.parent.parent,0),"remove")),"");n(l,65,0,c)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.cipher.login.uris,e.trackByFunction)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,129,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,87,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,25,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","loginUsername"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","loginUsername"],["name","Login.Username"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,13)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,13)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,13)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.username=e)&&u);return u},null,null)),t.ɵdid(13,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(15,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(17,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(18,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.login.username,"username","Username")&&t);return t},null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,57,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,26,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","loginPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,19,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,5,"a",[["appStopClick",""],["class","d-block mr-2"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,42).onClick(e)&&u);"click"===l&&(u=!1!==r.generatePassword()&&u);return u},null,null)),t.ɵdid(42,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-lg fa-fw fa-refresh"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,[["checkPasswordBtn",1]],null,9,"a",[["appStopClick",""],["class","d-block"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e)&&u);"click"===l&&(u=!1!==r.checkPassword()&&u);return u},null,null)),t.ɵdid(49,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵdid(50,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,0,"i",[["class","fa fa-lg fa-fw fa-check-circle"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"i",[["class","fa fa-lg fa-fw fa-spinner fa-spin"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"],["id","loginPassword"],["name","Login.Password"]],[[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,64)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,64).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,64)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,64)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.password=e)&&u);return u},null,null)),t.ɵdid(64,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(66,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(68,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(69,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.togglePassword()&&t);return t},null,null)),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(77,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(78,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.login.password,"password","Password")&&t);return t},null,null)),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,13,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(95,0,null,null,2,"label",[["for","loginTotp"]],null,null,null,null,null)),(n()(),t.ɵted(96,null,["",""])),t.ɵppd(97,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(99,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control text-monospace"],["id","loginTotp"],["name","Login.Totp"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,100)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,100).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,100)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,100)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.totp=e)&&u);return u},null,null)),t.ɵdid(100,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(102,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(104,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(105,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,9,"div",[["class","col-6 form-group totp d-flex align-items-end"]],null,null,null,null,null)),t.ɵdid(109,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(110,{low:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(113,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(116,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(121,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,5,"a",[["appStopClick",""],["class","d-inline-block mb-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,124).onClick(e)&&u);"click"===l&&(u=!1!==r.addUri()&&u);return u},null,null)),t.ɵdid(124,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,0,"i",[["class","fa fa-plus-circle fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,[" ","\n "])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,15,0,"Login.Username",e.cipher.login.username);n(l,18,0,""),n(l,49,0,e.checkPasswordPromise);n(l,66,0,"Login.Password",e.cipher.login.password);n(l,69,0,"");var t=n(l,78,0,!e.showPassword,e.showPassword);n(l,77,0,"fa fa-lg",t);n(l,102,0,"Login.Totp",e.cipher.login.totp);n(l,105,0,"");var u=n(l,110,0,e.totpLow);n(l,109,0,"col-6 form-group totp d-flex align-items-end",u),n(l,113,0,!e.cipher.login.totp||!e.totpCode),n(l,116,0,e.cipher.login.totp&&e.totpCode),n(l,121,0,e.cipher.login.hasUris)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"username"));n(l,7,0,u),n(l,12,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"copyUsername")),"");n(l,22,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l.parent.parent,0),"password"));n(l,36,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,41,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"generatePassword")),"");n(l,41,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,48,0,n(l,51,0,t.ɵnov(l.parent.parent,0),"checkPassword")),"");n(l,48,0,a),n(l,53,0,t.ɵnov(l,48).loading);var s=!t.ɵnov(l,48).loading,c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,55,1,n(l,56,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,55,0,s,c),n(l,63,0,t.ɵinlineInterpolate(1,"",e.showPassword?"text":"password",""),t.ɵnov(l,68).ngClassUntouched,t.ɵnov(l,68).ngClassTouched,t.ɵnov(l,68).ngClassPristine,t.ɵnov(l,68).ngClassDirty,t.ɵnov(l,68).ngClassValid,t.ɵnov(l,68).ngClassInvalid,t.ɵnov(l,68).ngClassPending);var d=t.ɵinlineInterpolate(1,"",t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"toggleVisibility")),"");n(l,73,0,d);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l.parent.parent,0),"copyPassword")),"");n(l,81,0,p);var f=t.ɵunv(l,96,0,n(l,97,0,t.ɵnov(l.parent.parent,0),"authenticatorKeyTotp"));n(l,96,0,f),n(l,99,0,t.ɵnov(l,104).ngClassUntouched,t.ɵnov(l,104).ngClassTouched,t.ɵnov(l,104).ngClassPristine,t.ɵnov(l,104).ngClassDirty,t.ɵnov(l,104).ngClassValid,t.ɵnov(l,104).ngClassInvalid,t.ɵnov(l,104).ngClassPending);var v=t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l.parent.parent,0),"newUri"));n(l,127,0,v)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,137,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","cardCardholderName"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"input",[["class","form-control"],["id","cardCardholderName"],["name","Card.CardCardholderName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,11)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,11)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,11)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.cardholderName=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","cardBrand"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,9,"select",[["class","form-control"],["id","cardBrand"],["name","Card.Brand"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.brand=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(27,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(29,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(32,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,25,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","cardNumber"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","cardNumber"],["name","Card.Number"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,48)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,48)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,48)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.number=e)&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(53,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.card.number,"number","Number")&&t);return t},null,null)),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,16,"div",[["class","col form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,2,"label",[["for","cardExpMonth"]],null,null,null,null,null)),(n()(),t.ɵted(69,null,["",""])),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,9,"select",[["class","form-control"],["id","cardExpMonth"],["name","Card.ExpMonth"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,73).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,73).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.expMonth=e)&&u);return u},null,null)),t.ɵdid(73,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(75,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(77,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(80,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,13,"div",[["class","col form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,2,"label",[["for","cardExpYear"]],null,null,null,null,null)),(n()(),t.ɵted(87,null,["",""])),t.ɵppd(88,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,6,"input",[["class","form-control"],["id","cardExpYear"],["name","Card.ExpYear"],["type","text"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,91)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,91).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,91)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,91)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.expYear=e)&&u);return u},null,null)),t.ɵdid(91,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(93,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(95,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(96,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,33,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"label",[["for","cardCode"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(110,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"],["id","cardCode"],["name","Card.Code"]],[[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,111)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,111).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,111)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,111)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.code=e)&&u);return u},null,null)),t.ɵdid(111,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(113,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(115,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(116,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(118,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleCardCode()&&t);return t},null,null)),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(124,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(125,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(128,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.card.code,"securityCode","Security Code")&&t);return t},null,null)),t.ɵppd(129,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(131,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"Card.CardCardholderName",e.cipher.card.cardholderName);n(l,27,0,"Card.Brand",e.cipher.card.brand),n(l,32,0,e.cardBrandOptions);n(l,50,0,"Card.Number",e.cipher.card.number);n(l,53,0,"");n(l,75,0,"Card.ExpMonth",e.cipher.card.expMonth),n(l,80,0,e.cardExpMonthOptions);n(l,93,0,"Card.ExpYear",e.cipher.card.expYear);n(l,113,0,"Card.Code",e.cipher.card.code);n(l,116,0,"");var t=n(l,125,0,!e.showCardCode,e.showCardCode);n(l,124,0,"fa fa-lg",t)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"cardholderName"));n(l,7,0,u),n(l,10,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent.parent,0),"brand"));n(l,21,0,r),n(l,24,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending);var o=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"number"));n(l,42,0,o),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent.parent,0),"copyNumber")),"");n(l,57,0,i);var a=t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent.parent,0),"expirationMonth"));n(l,69,0,a),n(l,72,0,t.ɵnov(l,77).ngClassUntouched,t.ɵnov(l,77).ngClassTouched,t.ɵnov(l,77).ngClassPristine,t.ɵnov(l,77).ngClassDirty,t.ɵnov(l,77).ngClassValid,t.ɵnov(l,77).ngClassInvalid,t.ɵnov(l,77).ngClassPending);var s=t.ɵunv(l,87,0,n(l,88,0,t.ɵnov(l.parent.parent,0),"expirationYear"));n(l,87,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,90,0,n(l,96,0,t.ɵnov(l.parent.parent,0),"ex"))," 2019");n(l,90,0,c,t.ɵnov(l,95).ngClassUntouched,t.ɵnov(l,95).ngClassTouched,t.ɵnov(l,95).ngClassPristine,t.ɵnov(l,95).ngClassDirty,t.ɵnov(l,95).ngClassValid,t.ɵnov(l,95).ngClassInvalid,t.ɵnov(l,95).ngClassPending);var d=t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l.parent.parent,0),"securityCode"));n(l,105,0,d),n(l,110,0,t.ɵinlineInterpolate(1,"",e.showCardCode?"text":"password",""),t.ɵnov(l,115).ngClassUntouched,t.ɵnov(l,115).ngClassTouched,t.ɵnov(l,115).ngClassPristine,t.ɵnov(l,115).ngClassDirty,t.ɵnov(l,115).ngClassValid,t.ɵnov(l,115).ngClassInvalid,t.ɵnov(l,115).ngClassPending);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l.parent.parent,0),"toggleVisibility")),"");n(l,120,0,p);var f=t.ɵinlineInterpolate(1,"",t.ɵunv(l,128,0,n(l,129,0,t.ɵnov(l.parent.parent,0),"securityCode")),"");n(l,128,0,f)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,289,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,16,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","idTitle"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,9,"select",[["class","form-control"],["id","idTitle"],["name","Identity.Title"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,11).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.title=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(18,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,43,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","idFirstName"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,5,"input",[["class","form-control"],["id","idFirstName"],["name","Identity.FirstName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.firstName=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(36,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","idMiddleName"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"input",[["class","form-control"],["id","idMiddleName"],["name","Identity.MiddleName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.middleName=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(48,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(50,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"label",[["for","idLastName"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"input",[["class","form-control"],["id","idLastName"],["name","Identity.LastName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,60)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,60).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,60)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,60)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.lastName=e)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(62,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(64,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,30,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"label",[["for","idUsername"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idUsername"],["name","Identity.Username"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,77)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,77).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,77)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,77)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.username=e)&&u);return u},null,null)),t.ɵdid(77,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(79,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(81,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(82,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,2,"label",[["for","idCompany"]],null,null,null,null,null)),(n()(),t.ɵted(88,null,["",""])),t.ɵppd(89,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,5,"input",[["class","form-control"],["id","idCompany"],["name","Identity.Company"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,92)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,92).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,92)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,92)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.company=e)&&u);return u},null,null)),t.ɵdid(92,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(94,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(96,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"label",[["for","idSsn"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idSsn"],["name","Identity.SSN"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,109)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,109).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,109)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,109)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.ssn=e)&&u);return u},null,null)),t.ɵdid(109,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(111,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(113,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(114,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,2,"label",[["for","idPassportNumber"]],null,null,null,null,null)),(n()(),t.ɵted(120,null,["",""])),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idPassportNumber"],["name","Identity.PassportNumber"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,124)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,124)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,124)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.passportNumber=e)&&u);return u},null,null)),t.ɵdid(124,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(129,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(132,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,2,"label",[["for","idLicenseNumber"]],null,null,null,null,null)),(n()(),t.ɵted(135,null,["",""])),t.ɵppd(136,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(138,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idLicenseNumber"],["name","Identity.LicenseNumber"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,139)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,139).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,139)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,139)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.licenseNumber=e)&&u);return u},null,null)),t.ɵdid(139,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(141,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(143,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(144,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(148,0,null,null,30,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,13,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(152,0,null,null,2,"label",[["for","idEmail"]],null,null,null,null,null)),(n()(),t.ɵted(153,null,["",""])),t.ɵppd(154,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(156,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idEmail"],["name","Identity.Email"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,157)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,157).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,157)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,157)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.email=e)&&u);return u},null,null)),t.ɵdid(157,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(159,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(161,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(162,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(167,0,null,null,2,"label",[["for","idPhone"]],null,null,null,null,null)),(n()(),t.ɵted(168,null,["",""])),t.ɵppd(169,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(171,0,null,null,5,"input",[["class","form-control"],["id","idPhone"],["name","Identity.Phone"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,172)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,172).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,172)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,172)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.phone=e)&&u);return u},null,null)),t.ɵdid(172,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(174,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(176,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(180,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(182,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,2,"label",[["for","idAddress1"]],null,null,null,null,null)),(n()(),t.ɵted(185,null,["",""])),t.ɵppd(186,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,5,"input",[["class","form-control"],["id","idAddress1"],["name","Identity.Address1"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,189)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,189).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,189)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,189)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address1=e)&&u);return u},null,null)),t.ɵdid(189,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(191,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(193,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(196,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(198,0,null,null,2,"label",[["for","idAddress2"]],null,null,null,null,null)),(n()(),t.ɵted(199,null,["",""])),t.ɵppd(200,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(202,0,null,null,5,"input",[["class","form-control"],["id","idAddress2"],["name","Identity.Address2"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,203)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,203).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,203)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,203)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address2=e)&&u);return u},null,null)),t.ɵdid(203,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(205,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(207,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(211,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(213,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(215,0,null,null,2,"label",[["for","idAddress3"]],null,null,null,null,null)),(n()(),t.ɵted(216,null,["",""])),t.ɵppd(217,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(219,0,null,null,5,"input",[["class","form-control"],["id","idAddress3"],["name","Identity.Address3"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,220)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,220).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,220)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,220)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address3=e)&&u);return u},null,null)),t.ɵdid(220,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(222,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(224,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(227,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(229,0,null,null,2,"label",[["for","idCity"]],null,null,null,null,null)),(n()(),t.ɵted(230,null,["",""])),t.ɵppd(231,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(233,0,null,null,5,"input",[["class","form-control"],["id","idCity"],["name","Identity.City"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,234)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,234).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,234)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,234)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.city=e)&&u);return u},null,null)),t.ɵdid(234,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(236,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(238,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(242,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(244,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(246,0,null,null,2,"label",[["for","idState"]],null,null,null,null,null)),(n()(),t.ɵted(247,null,["",""])),t.ɵppd(248,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(250,0,null,null,5,"input",[["class","form-control"],["id","idState"],["name","Identity.State"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,251)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,251).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,251)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,251)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.state=e)&&u);return u},null,null)),t.ɵdid(251,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(253,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(255,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(258,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(260,0,null,null,2,"label",[["for","idPostalCode"]],null,null,null,null,null)),(n()(),t.ɵted(261,null,["",""])),t.ɵppd(262,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(264,0,null,null,5,"input",[["class","form-control"],["id","idPostalCode"],["name","Identity.PostalCode"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,265)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,265).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,265)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,265)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.postalCode=e)&&u);return u},null,null)),t.ɵdid(265,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(267,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(269,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(273,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(275,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(277,0,null,null,2,"label",[["for","idCountry"]],null,null,null,null,null)),(n()(),t.ɵted(278,null,["",""])),t.ɵppd(279,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(281,0,null,null,5,"input",[["class","form-control"],["id","idCountry"],["name","Identity.Country"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,282)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,282).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,282)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,282)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.country=e)&&u);return u},null,null)),t.ɵdid(282,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(284,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(286,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"Identity.Title",e.cipher.identity.title),n(l,18,0,e.identityTitleOptions);n(l,34,0,"Identity.FirstName",e.cipher.identity.firstName);n(l,48,0,"Identity.MiddleName",e.cipher.identity.middleName);n(l,62,0,"Identity.LastName",e.cipher.identity.lastName);n(l,79,0,"Identity.Username",e.cipher.identity.username);n(l,82,0,"");n(l,94,0,"Identity.Company",e.cipher.identity.company);n(l,111,0,"Identity.SSN",e.cipher.identity.ssn);n(l,114,0,"");n(l,126,0,"Identity.PassportNumber",e.cipher.identity.passportNumber);n(l,129,0,"");n(l,141,0,"Identity.LicenseNumber",e.cipher.identity.licenseNumber);n(l,144,0,"");n(l,159,0,"Identity.Email",e.cipher.identity.email);n(l,162,0,"");n(l,174,0,"Identity.Phone",e.cipher.identity.phone);n(l,191,0,"Identity.Address1",e.cipher.identity.address1);n(l,205,0,"Identity.Address2",e.cipher.identity.address2);n(l,222,0,"Identity.Address3",e.cipher.identity.address3);n(l,236,0,"Identity.City",e.cipher.identity.city);n(l,253,0,"Identity.State",e.cipher.identity.state);n(l,267,0,"Identity.PostalCode",e.cipher.identity.postalCode);n(l,284,0,"Identity.Country",e.cipher.identity.country)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"title"));n(l,7,0,e),n(l,10,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var u=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"firstName"));n(l,28,0,u),n(l,31,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var r=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"middleName"));n(l,42,0,r),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var o=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l.parent.parent,0),"lastName"));n(l,56,0,o),n(l,59,0,t.ɵnov(l,64).ngClassUntouched,t.ɵnov(l,64).ngClassTouched,t.ɵnov(l,64).ngClassPristine,t.ɵnov(l,64).ngClassDirty,t.ɵnov(l,64).ngClassValid,t.ɵnov(l,64).ngClassInvalid,t.ɵnov(l,64).ngClassPending);var i=t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"username"));n(l,73,0,i),n(l,76,0,t.ɵnov(l,81).ngClassUntouched,t.ɵnov(l,81).ngClassTouched,t.ɵnov(l,81).ngClassPristine,t.ɵnov(l,81).ngClassDirty,t.ɵnov(l,81).ngClassValid,t.ɵnov(l,81).ngClassInvalid,t.ɵnov(l,81).ngClassPending);var a=t.ɵunv(l,88,0,n(l,89,0,t.ɵnov(l.parent.parent,0),"company"));n(l,88,0,a),n(l,91,0,t.ɵnov(l,96).ngClassUntouched,t.ɵnov(l,96).ngClassTouched,t.ɵnov(l,96).ngClassPristine,t.ɵnov(l,96).ngClassDirty,t.ɵnov(l,96).ngClassValid,t.ɵnov(l,96).ngClassInvalid,t.ɵnov(l,96).ngClassPending);var s=t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l.parent.parent,0),"ssn"));n(l,105,0,s),n(l,108,0,t.ɵnov(l,113).ngClassUntouched,t.ɵnov(l,113).ngClassTouched,t.ɵnov(l,113).ngClassPristine,t.ɵnov(l,113).ngClassDirty,t.ɵnov(l,113).ngClassValid,t.ɵnov(l,113).ngClassInvalid,t.ɵnov(l,113).ngClassPending);var c=t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l.parent.parent,0),"passportNumber"));n(l,120,0,c),n(l,123,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending);var d=t.ɵunv(l,135,0,n(l,136,0,t.ɵnov(l.parent.parent,0),"licenseNumber"));n(l,135,0,d),n(l,138,0,t.ɵnov(l,143).ngClassUntouched,t.ɵnov(l,143).ngClassTouched,t.ɵnov(l,143).ngClassPristine,t.ɵnov(l,143).ngClassDirty,t.ɵnov(l,143).ngClassValid,t.ɵnov(l,143).ngClassInvalid,t.ɵnov(l,143).ngClassPending);var p=t.ɵunv(l,153,0,n(l,154,0,t.ɵnov(l.parent.parent,0),"email"));n(l,153,0,p),n(l,156,0,t.ɵnov(l,161).ngClassUntouched,t.ɵnov(l,161).ngClassTouched,t.ɵnov(l,161).ngClassPristine,t.ɵnov(l,161).ngClassDirty,t.ɵnov(l,161).ngClassValid,t.ɵnov(l,161).ngClassInvalid,t.ɵnov(l,161).ngClassPending);var f=t.ɵunv(l,168,0,n(l,169,0,t.ɵnov(l.parent.parent,0),"phone"));n(l,168,0,f),n(l,171,0,t.ɵnov(l,176).ngClassUntouched,t.ɵnov(l,176).ngClassTouched,t.ɵnov(l,176).ngClassPristine,t.ɵnov(l,176).ngClassDirty,t.ɵnov(l,176).ngClassValid,t.ɵnov(l,176).ngClassInvalid,t.ɵnov(l,176).ngClassPending);var v=t.ɵunv(l,185,0,n(l,186,0,t.ɵnov(l.parent.parent,0),"address1"));n(l,185,0,v),n(l,188,0,t.ɵnov(l,193).ngClassUntouched,t.ɵnov(l,193).ngClassTouched,t.ɵnov(l,193).ngClassPristine,t.ɵnov(l,193).ngClassDirty,t.ɵnov(l,193).ngClassValid,t.ɵnov(l,193).ngClassInvalid,t.ɵnov(l,193).ngClassPending);var h=t.ɵunv(l,199,0,n(l,200,0,t.ɵnov(l.parent.parent,0),"address2"));n(l,199,0,h),n(l,202,0,t.ɵnov(l,207).ngClassUntouched,t.ɵnov(l,207).ngClassTouched,t.ɵnov(l,207).ngClassPristine,t.ɵnov(l,207).ngClassDirty,t.ɵnov(l,207).ngClassValid,t.ɵnov(l,207).ngClassInvalid,t.ɵnov(l,207).ngClassPending);var g=t.ɵunv(l,216,0,n(l,217,0,t.ɵnov(l.parent.parent,0),"address3"));n(l,216,0,g),n(l,219,0,t.ɵnov(l,224).ngClassUntouched,t.ɵnov(l,224).ngClassTouched,t.ɵnov(l,224).ngClassPristine,t.ɵnov(l,224).ngClassDirty,t.ɵnov(l,224).ngClassValid,t.ɵnov(l,224).ngClassInvalid,t.ɵnov(l,224).ngClassPending);var m=t.ɵunv(l,230,0,n(l,231,0,t.ɵnov(l.parent.parent,0),"cityTown"));n(l,230,0,m),n(l,233,0,t.ɵnov(l,238).ngClassUntouched,t.ɵnov(l,238).ngClassTouched,t.ɵnov(l,238).ngClassPristine,t.ɵnov(l,238).ngClassDirty,t.ɵnov(l,238).ngClassValid,t.ɵnov(l,238).ngClassInvalid,t.ɵnov(l,238).ngClassPending);var y=t.ɵunv(l,247,0,n(l,248,0,t.ɵnov(l.parent.parent,0),"stateProvince"));n(l,247,0,y),n(l,250,0,t.ɵnov(l,255).ngClassUntouched,t.ɵnov(l,255).ngClassTouched,t.ɵnov(l,255).ngClassPristine,t.ɵnov(l,255).ngClassDirty,t.ɵnov(l,255).ngClassValid,t.ɵnov(l,255).ngClassInvalid,t.ɵnov(l,255).ngClassPending);var C=t.ɵunv(l,261,0,n(l,262,0,t.ɵnov(l.parent.parent,0),"zipPostalCode"));n(l,261,0,C),n(l,264,0,t.ɵnov(l,269).ngClassUntouched,t.ɵnov(l,269).ngClassTouched,t.ɵnov(l,269).ngClassPristine,t.ɵnov(l,269).ngClassDirty,t.ɵnov(l,269).ngClassValid,t.ɵnov(l,269).ngClassInvalid,t.ɵnov(l,269).ngClassPending);var b=t.ɵunv(l,278,0,n(l,279,0,t.ɵnov(l.parent.parent,0),"country"));n(l,278,0,b),n(l,281,0,t.ɵnov(l,286).ngClassUntouched,t.ɵnov(l,286).ngClassTouched,t.ɵnov(l,286).ngClassPristine,t.ɵnov(l,286).ngClassDirty,t.ɵnov(l,286).ngClassValid,t.ɵnov(l,286).ngClassInvalid,t.ɵnov(l,286).ngClassPending)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(8,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.parent.context.$implicit.value,"value","Field")&&t);return t},null,null)),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value);n(l,8,0,"")},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyValue")),"");n(l,12,0,e)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"]],[[8,"id",0],[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(8,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleFieldValue(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(16,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.parent.context.$implicit.value,"value","Field")&&t);return t},null,null)),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value);n(l,8,0,"");var e=n(l,17,0,!l.parent.context.$implicit.showValue,l.parent.context.$implicit.showValue);n(l,16,0,"fa fa-lg",e)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵinlineInterpolate(1,"",l.parent.context.$implicit.showValue?"text":"password",""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent.parent,0),"toggleVisibility")),"");n(l,12,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyValue")),"");n(l,20,0,u)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"input",[["appTrueFalseValue",""],["falseValue","false"],["trueValue","true"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,1).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,1).onTouched()&&u);"change"===l&&(u=!1!==t.ɵnov(n,2).onHostChange(e)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(2,16384,null,0,d.TrueFalseValueDirective,[t.ElementRef,t.Renderer2],{trueValue:[0,"trueValue"],falseValue:[1,"falseValue"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.CheckboxControlValueAccessor,d.TrueFalseValueDirective]),t.ɵdid(4,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(6,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null)],function(n,l){n(l,2,0,"true","false"),n(l,4,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value)},function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵnov(l,6).ngClassUntouched,t.ɵnov(l,6).ngClassTouched,t.ɵnov(l,6).ngClassPristine,t.ɵnov(l,6).ngClassDirty,t.ɵnov(l,6).ngClassValid,t.ɵnov(l,6).ngClassInvalid,t.ɵnov(l,6).ngClassPending)})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,54,"div",[["appBoxRow",""],["class","row"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,81920,null,0,i.BoxRowDirective,[t.ElementRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,22,"div",[["class","col-5 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/custom-fields/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(23,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(24,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,26,"div",[["class","col-7 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,19,"div",[["class","d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(36,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(39,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.removeField(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0),n(l,21,0,t.ɵinlineInterpolate(1,"Field.Name",l.context.index,""),l.context.$implicit.name);n(l,24,0,""),n(l,36,0,l.context.$implicit.type===e.fieldType.Text),n(l,39,0,l.context.$implicit.type===e.fieldType.Hidden),n(l,44,0,l.context.$implicit.type===e.fieldType.Boolean)},function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"fieldName",l.context.index,""));var e=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,8,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"learnMore")),"");n(l,11,0,u),n(l,18,0,t.ɵinlineInterpolate(1,"fieldName",l.context.index,""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,29,0,t.ɵinlineInterpolate(1,"fieldValue",l.context.index,""));var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,0),"value"));n(l,30,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent,0),"remove")),"");n(l,47,0,o)})}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.cipher.fields,e.trackByFunction)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,16,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","organizationId"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"select",[["class","form-control"],["id","organizationId"],["name","OrganizationId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,15).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.organizationId=e)&&u);"change"===l&&(u=!1!==r.organizationChanged()&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(17,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(19,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(22,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"OrganizationId",e.cipher.organizationId),n(l,22,0,e.ownershipOptions)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"ownership"));n(l,3,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"whoOwnsThisItem"));n(l,11,0,u),n(l,14,0,t.ɵnov(l,19).ngClassUntouched,t.ɵnov(l,19).ngClassTouched,t.ɵnov(l,19).ngClassPristine,t.ɵnov(l,19).ngClassDirty,t.ɵnov(l,19).ngClassValid,t.ɵnov(l,19).ngClassInvalid,t.ɵnov(l,19).ngClassPending)})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["class","form-check-input"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"label",[["class","form-check-label"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"collection-",l.context.index,""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending),n(l,9,0,t.ɵinlineInterpolate(1,"collection-",l.context.index,"")),n(l,10,0,l.context.$implicit.name)})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.collections)},null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,!e.collections||!e.collections.length),n(l,10,0,e.collections&&e.collections.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections"));n(l,3,0,e)})}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,2)],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"datePasswordUpdated"));n(l,3,0,u);var r=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,1),e.cipher.passwordRevisionDisplayDate,"medium"));n(l,5,0,r)})}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,7).onClick(e)&&u);"click"===l&&(u=!1!==r.viewHistory()&&u);return u},null,null)),t.ɵdid(7,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(8,1),(n()(),t.ɵted(9,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"passwordHistory"));n(l,3,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"view")),"");n(l,6,0,r),n(l,9,0,e.cipher.passwordHistory.length)})}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n "," -\n "])),t.ɵppd(2,2),(n()(),t.ɵeld(3,0,null,null,1,"span",[["class","text-monospace ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.lastUsedDate,"short"));n(l,1,0,e),n(l,4,0,l.context.$implicit.password)})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.cipher.passwordHistory)},null)}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,18,"div",[["class","small text-muted mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",":"])),t.ɵppd(8,1),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(13,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(16,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(19,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,e.showRevisionDate),n(l,16,0,e.hasPasswordHistory),n(l,19,0,e.viewingPasswordHistory)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"dateUpdated"));n(l,7,0,u);var r=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,1),e.cipher.revisionDate,"medium"));n(l,9,0,r)})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,96,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,14,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,14)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,14).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,14)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,14)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.name=e)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(15,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(18,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(20,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(24,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(29,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(33,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","notes"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"textarea",[["class","form-control"],["id","notes"],["name","Notes"],["rows","6"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.notes=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(48,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(50,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(58,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,5,"a",[["appStopClick",""],["class","d-inline-block mb-2"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,61).onClick(e)&&u);"click"===l&&(u=!1!==r.addField()&&u);return u},null,null)),t.ɵdid(61,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,0,"i",[["class","fa fa-plus-circle fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,[" ","\n "])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,16,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,2,"label",[["class","sr-only"],["for","addFieldType"]],null,null,null,null,null)),(n()(),t.ɵted(72,null,["",""])),t.ɵppd(73,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,9,"select",[["class","form-control"],["id","addFieldType"],["name","AddFieldType"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,76).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.addFieldType=e)&&u);return u},null,null)),t.ɵdid(76,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(83,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(89,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(92,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(95,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.editMode);n(l,15,0,"");n(l,18,0,"Name",e.cipher.name),n(l,24,0,!e.organization),n(l,29,0,e.cipher.type===e.cipherType.Login),n(l,33,0,e.cipher.type===e.cipherType.Card),n(l,37,0,e.cipher.type===e.cipherType.Identity);n(l,48,0,"Notes",e.cipher.notes),n(l,58,0,e.cipher.hasFields);n(l,78,0,"AddFieldType",e.addFieldType),n(l,83,0,e.addFieldTypeOptions),n(l,89,0,!e.editMode&&!e.organization&&e.ownershipOptions&&e.ownershipOptions.length>1),n(l,92,0,!e.editMode&&e.cipher.organizationId),n(l,95,0,e.editMode)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"name"));n(l,10,0,e),n(l,13,0,t.ɵnov(l,15).required?"":null,t.ɵnov(l,20).ngClassUntouched,t.ɵnov(l,20).ngClassTouched,t.ɵnov(l,20).ngClassPristine,t.ɵnov(l,20).ngClassDirty,t.ɵnov(l,20).ngClassValid,t.ɵnov(l,20).ngClassInvalid,t.ɵnov(l,20).ngClassPending);var u=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent,0),"notes"));n(l,42,0,u),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var r=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l.parent,0),"customFields"));n(l,54,0,r);var o=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l.parent,0),"newCustomField"));n(l,64,0,o);var i=t.ɵunv(l,72,0,n(l,73,0,t.ɵnov(l.parent,0),"type"));n(l,72,0,i),n(l,75,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending)})}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"button",[["class","btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleFavorite()&&t);return t},null,null)),t.ɵppd(1,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(4,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(5,{"fa-star":0,"fa-star-o":1}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,t=n(l,5,0,e.cipher.favorite,!e.cipher.favorite);n(l,4,0,"fa fa-lg",t)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),e.cipher.favorite?"unfavorite":"favorite")),"");n(l,0,0,u)})}function sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,6,0,u,r)})}function cn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,sn)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,6,0,e.editMode)},null)}function dn(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,44,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,41,"form",[["autocomplete","off"],["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(26,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,18,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["\n ","\n "])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,cn)),t.ɵdid(45,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,26,0,e.cipher),n(l,45,0,e.cipher)},function(n,l){var e=l.component;n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u),n(l,30,0,t.ɵnov(l,6).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"");n(l,32,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"save"));n(l,36,0,o);var i=t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"cancel"));n(l,41,0,i)})}function pn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-add-edit",[],null,null,null,dn,R)),t.ɵdid(1,114688,null,0,v.AddEditComponent,[h.CipherService,g.FolderService,f.I18nService,m.PlatformUtilsService,y.AuditService,C.StateService,b.UserService,w.CollectionService,S.TotpService,_.PasswordGenerationService,I.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AddEditComponent=R,l.View_AddEditComponent_0=dn,l.View_AddEditComponent_Host_0=pn;var fn=t.ɵccf("app-vault-add-edit",v.AddEditComponent,pn,{folderId:"folderId",cipherId:"cipherId",type:"type",collectionIds:"collectionIds",organizationId:"organizationId"},{onSavedCipher:"onSavedCipher",onDeletedCipher:"onDeletedCipher",onCancelled:"onCancelled",onEditAttachments:"onEditAttachments",onShareCipher:"onShareCipher",onEditCollections:"onEditCollections",onGeneratePassword:"onGeneratePassword"},[]);l.AddEditComponentNgFactory=fn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(15),r=e(14),o=e(5),i=e(41),a=e(8),s=e(3),c=e(12),d=e(471),p=e(23),f=e(22),v=e(9),h=e(7),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-fw fa-lg fa-file-o"]],null,null,null,null,null))],null,null)}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-lg fa-fw fa-spin"]],null,null,null,null,null))],null,null)}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"a",[["href","https://help.bitwarden.com/article/attachments/#fixing-old-attachments"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"i",[["class","fa fa-exclamation-triangle text-warning"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,[["reuploadBtn",1]],null,3,"button",[["class","btn btn-outline-primary btn-sm m-0 py-0 px-2"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reupload(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵdid(8,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,8,0,l.component.reuploadPromises[l.parent.context.$implicit.id])},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"attachmentFixDesc")),"");n(l,4,0,e),n(l,7,0,t.ɵnov(l,7).loading);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"fix"));n(l,9,0,u)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,40,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(8,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e)&&u);"click"===l&&(u=!1!==r.download(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(16,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(20,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,12,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,[["deleteBtn",1]],null,9,"button",[["appStopClick",""],["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e)&&u);"click"===l&&(u=!1!==r.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(30,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵdid(31,16384,null,0,i.StopClickDirective,[],null,null),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!l.context.$implicit.downloading),n(l,8,0,l.context.$implicit.downloading),n(l,20,0,e.showFixOldAttachments(l.context.$implicit)),n(l,30,0,e.deletePromises[l.context.$implicit.id])},function(n,l){n(l,17,0,l.context.$implicit.fileName),n(l,24,0,l.context.$implicit.sizeName);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,29,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"delete")),"");n(l,29,0,e,t.ɵnov(l,29).loading),n(l,34,0,t.ɵnov(l,29).loading);var u=!t.ɵnov(l,29).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,36,1,n(l,37,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,36,0,u,r)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.cipher.attachments)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[s.I18nService]),(n()(),t.ɵeld(1,0,null,null,66,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,63,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,60,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,c.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,c.ControlContainer,null,[c.NgForm]),t.ɵdid(8,16384,null,0,c.NgControlStatusGroup,[[4,c.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),t.ɵppd(15,1),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(17,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,18,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,16,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(61,1),(n()(),t.ɵted(62,null,["",""])),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,17,0,e.cipher),n(l,31,0,e.cipher&&e.cipher.hasAttachments)},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"attachments"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"close")),"");n(l,20,0,u);var r=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"newAttachment"));n(l,34,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"file"));n(l,38,0,o);var i=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"maxFileSize"));n(l,44,0,i),n(l,50,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),"");n(l,52,0,a);var s=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"save"));n(l,56,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"close")),"");n(l,60,0,c);var d=t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,0),"close"));n(l,62,0,d)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-attachments",[],null,null,null,_,g)),t.ɵdid(1,114688,null,0,d.AttachmentsComponent,[p.CipherService,s.I18nService,f.CryptoService,v.UserService,h.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AttachmentsComponent=g,l.View_AttachmentsComponent_0=_,l.View_AttachmentsComponent_Host_0=I;var R=t.ɵccf("app-vault-attachments",d.AttachmentsComponent,I,{cipherId:"cipherId"},{onUploadedAttachment:"onUploadedAttachment",onDeletedAttachment:"onDeletedAttachment",onReuploadedAttachment:"onReuploadedAttachment"},[]);l.AttachmentsComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(557),c=e(6),d=e(23),p=e(13),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,48,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,45,"div",[["class","modal-dialog modal-sm"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,42,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(9,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["\n ","\n "])),t.ɵppd(28,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,16,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,8,"button",[["appAutoFocus",""],["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(43,1),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"deleteSelected"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"close")),"");n(l,18,0,r);var o=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"deleteSelectedItemsDesc",e.cipherIds.length));n(l,27,0,o),n(l,32,0,t.ɵnov(l,5).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"loading")),"");n(l,34,0,i);var a=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"delete"));n(l,38,0,a);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l,0),"cancel")),"");n(l,42,0,s);var c=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"cancel"));n(l,44,0,c)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-bulk-delete",[],null,null,null,v,f)),t.ɵdid(1,49152,null,0,s.BulkDeleteComponent,[c.Angulartics2,d.CipherService,p.ToasterService,r.I18nService],null,null)],null,null)}l.RenderType_BulkDeleteComponent=f,l.View_BulkDeleteComponent_0=v,l.View_BulkDeleteComponent_Host_0=h;var g=t.ɵccf("app-vault-bulk-delete",s.BulkDeleteComponent,h,{cipherIds:"cipherIds"},{onDeleted:"onDeleted"},[]);l.BulkDeleteComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(8),o=e(3),i=e(15),a=e(14),s=e(5),c=e(558),d=e(6),p=e(23),f=e(13),v=e(58),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function m(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog modal-sm"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,23,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(29,null,["",""])),t.ɵppd(30,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"label",[["for","folder"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,9,"select",[["class","form-control"],["id","folder"],["name","FolderId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,39).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,39).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.folderId=e)&&u);return u},null,null)),t.ɵdid(39,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(41,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(43,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(46,278528,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,16,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise);n(l,41,0,"FolderId",e.folderId),n(l,46,0,e.folders)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"moveSelected"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"close")),"");n(l,18,0,r);var o=t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"moveSelectedItemsDesc",e.cipherIds.length));n(l,29,0,o);var i=t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"folder"));n(l,35,0,i),n(l,38,0,t.ɵnov(l,43).ngClassUntouched,t.ɵnov(l,43).ngClassTouched,t.ɵnov(l,43).ngClassPristine,t.ɵnov(l,43).ngClassDirty,t.ɵnov(l,43).ngClassValid,t.ɵnov(l,43).ngClassInvalid,t.ɵnov(l,43).ngClassPending),n(l,53,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l,0),"loading")),"");n(l,55,0,a);var s=t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l,0),"save"));n(l,59,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l,0),"cancel")),"");n(l,63,0,c);var d=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"cancel"));n(l,65,0,d)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-bulk-move",[],null,null,null,m,h)),t.ɵdid(1,114688,null,0,c.BulkMoveComponent,[d.Angulartics2,p.CipherService,f.ToasterService,o.I18nService,v.FolderService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BulkMoveComponent=h,l.View_BulkMoveComponent_0=m,l.View_BulkMoveComponent_Host_0=y;var C=t.ɵccf("app-vault-bulk-move",c.BulkMoveComponent,y,{cipherIds:"cipherIds"},{onMoved:"onMoved"},[]);l.BulkMoveComponentNgFactory=C},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(8),a=e(3),s=e(15),c=e(14),d=e(559),p=e(6),f=e(23),v=e(13),h=e(45),g=e(9),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"unselectAll"));n(l,7,0,u)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.collections)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,91,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,88,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,85,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,43,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(29,null,["",""])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(33,null,["","\n "])),t.ɵppd(34,4),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["for","organization"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,9,"select",[["class","form-control"],["id","organization"],["name","OrganizationId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,43).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,43).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.organizationId=e)&&u);"change"===l&&(u=!1!==r.filterCollections()&&u);return u},null,null)),t.ɵdid(43,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(45,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(47,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(50,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(57,null,["",""])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(65,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(68,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,18,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,10,"button",[["class","btn btn-primary btn-submit manual"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),t.ɵdid(74,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(75,{loading:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(86,1),(n()(),t.ɵted(87,null,["",""])),t.ɵppd(88,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise);n(l,45,0,"OrganizationId",e.organizationId),n(l,50,0,e.organizations),n(l,61,0,e.collections&&e.collections.length),n(l,65,0,!e.collections||!e.collections.length),n(l,68,0,e.collections&&e.collections.length);var u=n(l,75,0,t.ɵnov(l,5).loading);n(l,74,0,"btn btn-primary btn-submit manual",u)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"shareSelected"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"close")),"");n(l,18,0,r);var o=t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"shareManyDesc"));n(l,29,0,o);var i=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"shareSelectedItemsCountDesc",e.ciphers.length,e.shareableCiphers.length,e.nonShareableCount));n(l,33,0,i);var a=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"organization"));n(l,39,0,a),n(l,42,0,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending);var s=t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l,0),"collections"));n(l,57,0,s),n(l,73,0,t.ɵnov(l,5).loading||!e.canSave);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"");n(l,77,0,c);var d=t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"save"));n(l,81,0,d);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"cancel")),"");n(l,85,0,p);var f=t.ɵunv(l,87,0,n(l,88,0,t.ɵnov(l,0),"cancel"));n(l,87,0,f)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-bulk-share",[],null,null,null,_,m)),t.ɵdid(1,245760,null,0,d.BulkShareComponent,[p.Angulartics2,f.CipherService,v.ToasterService,a.I18nService,h.CollectionService,g.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BulkShareComponent=m,l.View_BulkShareComponent_0=_,l.View_BulkShareComponent_Host_0=I;var R=t.ɵccf("app-vault-bulk-share",d.BulkShareComponent,I,{ciphers:"ciphers",organizationId:"organizationId"},{onShared:"onShared"},[]);l.BulkShareComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(8),a=e(3),s=e(15),c=e(14),d=e(472),p=e(45),f=e(7),v=e(23),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"unselectAll"));n(l,7,0,u)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.collections)},null)}function w(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,21,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.cipher),n(l,42,0,e.collections&&e.collections.length),n(l,46,0,!e.collections||!e.collections.length),n(l,49,0,e.collections&&e.collections.length)},function(n,l){n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"collections"));n(l,15,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u);var r=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"collectionsDesc"));n(l,32,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"collections"));n(l,38,0,o),n(l,54,0,t.ɵnov(l,5).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,i);var a=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"save"));n(l,60,0,a);var s=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"cancel"));n(l,65,0,s)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-collections",[],null,null,null,w,h)),t.ɵdid(1,245760,null,0,d.CollectionsComponent,[p.CollectionService,f.PlatformUtilsService,a.I18nService,v.CipherService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=h,l.View_CollectionsComponent_0=w,l.View_CollectionsComponent_Host_0=S;var _=t.ɵccf("app-vault-collections",d.CollectionsComponent,S,{cipherId:"cipherId"},{onSavedCollections:"onSavedCollections"},[]);l.CollectionsComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(28),c=e(27),d=e(46),p=e(568),f=e(4),v=e(6),h=e(13),g=e(22),m=e(20),y=t.ɵcrt({encapsulation:2,styles:[],data:{}});function C(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,68,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,65,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,62,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,24,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(32,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(33,0,["",""])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,8,"input",[["appAutoFocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,41)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,41).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,41)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,41)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(41,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(42,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(45,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(47,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(48,81920,null,0,d.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,8,"button",[["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"warning");n(l,42,0,"");n(l,45,0,"MasterPasswordHash",e.masterPassword);n(l,48,0,"")},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"deauthorizeSessions"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"deauthorizeSessionsDesc"));n(l,28,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"deauthorizeSessionsWarning"));n(l,33,0,o);var i=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"masterPass"));n(l,37,0,i),n(l,40,0,t.ɵnov(l,42).required?"":null,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending),n(l,53,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l,0),"loading")),"");n(l,55,0,a);var s=t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l,0),"deauthorizeSessions"));n(l,59,0,s);var c=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"close"));n(l,64,0,c)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-deauthorize-sessions",[],null,null,null,C,y)),t.ɵdid(1,49152,null,0,p.DeauthorizeSessionsComponent,[f.ApiService,r.I18nService,v.Angulartics2,h.ToasterService,g.CryptoService,m.MessagingService],null,null)],null,null)}l.RenderType_DeauthorizeSessionsComponent=y,l.View_DeauthorizeSessionsComponent_0=C,l.View_DeauthorizeSessionsComponent_Host_0=b;var w=t.ɵccf("app-deauthorize-sessions",p.DeauthorizeSessionsComponent,b,{},{},[]);l.DeauthorizeSessionsComponentNgFactory=w},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(28),c=e(27),d=e(89),p=e(46),f=e(569),v=e(4),h=e(6),g=e(13),m=e(22),y=e(20),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,25,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(32,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(33,0,["",""])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,41)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,41).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,41)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,41)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(41,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(42,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(45,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(47,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(48,81920,null,0,d.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(49,81920,null,0,p.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"warning");n(l,42,0,"");n(l,45,0,"MasterPasswordHash",e.masterPassword);n(l,48,0,"");n(l,49,0,"")},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"deleteAccount"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"deleteAccountDesc"));n(l,28,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"deleteAccountWarning"));n(l,33,0,o);var i=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"masterPass"));n(l,37,0,i),n(l,40,0,t.ɵnov(l,42).required?"":null,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending),n(l,54,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,a);var s=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"deleteAccount"));n(l,60,0,s);var c=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"close"));n(l,65,0,c)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-delete-account",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,f.DeleteAccountComponent,[v.ApiService,r.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService],null,null)],null,null)}l.RenderType_DeleteAccountComponent=C,l.View_DeleteAccountComponent_0=b,l.View_DeleteAccountComponent_Host_0=w;var S=t.ɵccf("app-delete-account",f.DeleteAccountComponent,w,{},{},[]);l.DeleteAccountComponentNgFactory=S},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(28),c=e(27),d=e(89),p=e(46),f=e(615),v=e(4),h=e(6),g=e(13),m=e(22),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,25,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(32,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(33,0,["",""])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,41)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,41).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,41)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,41)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(41,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(42,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(45,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(47,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(48,81920,null,0,d.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(49,81920,null,0,p.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"warning");n(l,42,0,"");n(l,45,0,"MasterPasswordHash",e.masterPassword);n(l,48,0,"");n(l,49,0,"")},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"deleteOrganization"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"deleteOrganizationDesc"));n(l,28,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"deleteOrganizationWarning"));n(l,33,0,o);var i=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"masterPass"));n(l,37,0,i),n(l,40,0,t.ɵnov(l,42).required?"":null,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending),n(l,54,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,a);var s=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"deleteOrganization"));n(l,60,0,s);var c=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"close"));n(l,65,0,c)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-delete-organization",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,f.DeleteOrganizationComponent,[v.ApiService,r.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.Router],null,null)],null,null)}l.RenderType_DeleteOrganizationComponent=C,l.View_DeleteOrganizationComponent_0=b,l.View_DeleteOrganizationComponent_Host_0=w;var S=t.ɵccf("app-delete-organization",f.DeleteOrganizationComponent,w,{},{},[]);l.DeleteOrganizationComponentNgFactory=S},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(15),r=e(14),o=e(8),i=e(3),a=e(12),s=e(5),c=e(560),d=e(58),p=e(7),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent,0),"loading")),"");n(l,6,0,u,r)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,64,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,61,"div",[["class","modal-dialog modal-sm"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,58,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(8,16384,null,0,a.NgControlStatusGroup,[[4,a.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.folder.name=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(32,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(35,671744,null,0,a.NgModel,[[2,a.ControlContainer],[6,a.NG_VALIDATORS],[8,null],[6,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(37,16384,null,0,a.NgControlStatus,[[4,a.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,22,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(60,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"");n(l,35,0,"Name",e.folder.name),n(l,60,0,e.editMode)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,14,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u);var r=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"name"));n(l,27,0,r),n(l,30,0,t.ɵnov(l,32).required?"":null,t.ɵnov(l,37).ngClassUntouched,t.ɵnov(l,37).ngClassTouched,t.ɵnov(l,37).ngClassPristine,t.ɵnov(l,37).ngClassDirty,t.ɵnov(l,37).ngClassValid,t.ɵnov(l,37).ngClassInvalid,t.ɵnov(l,37).ngClassPending),n(l,42,0,t.ɵnov(l,5).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"loading")),"");n(l,44,0,o);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"save"));n(l,48,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"cancel")),"");n(l,52,0,a);var s=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"cancel"));n(l,54,0,s)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-folder-add-edit",[],null,null,null,h,f)),t.ɵdid(1,114688,null,0,c.FolderAddEditComponent,[d.FolderService,i.I18nService,p.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_FolderAddEditComponent=f,l.View_FolderAddEditComponent_0=h,l.View_FolderAddEditComponent_Host_0=g;var m=t.ɵccf("app-folder-add-edit",c.FolderAddEditComponent,g,{folderId:"folderId"},{onSavedFolder:"onSavedFolder",onDeletedFolder:"onDeletedFolder"},[]);l.FolderAddEditComponentNgFactory=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(101),r=t.ɵcrt({encapsulation:2,styles:[],data:{}});function o(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function i(n){return t.ɵvid(0,[t.ɵqud(402653184,1,{container:0}),(n()(),t.ɵand(16777216,[[1,3],["container",2]],null,0,null,o))],null,null)}function a(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-modal",[],null,null,null,i,r)),t.ɵdid(1,180224,null,0,u.ModalComponent,[t.ComponentFactoryResolver],null,null)],null,null)}l.RenderType_ModalComponent=r,l.View_ModalComponent_0=i,l.View_ModalComponent_Host_0=a;var s=t.ɵccf("app-modal",u.ModalComponent,a,{},{onClose:"onClose",onClosed:"onClosed",onShow:"onShow",onShown:"onShown"},[]);l.ModalComponentNgFactory=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(5),o=e(41),i=e(618),a=e(46),s=e(15),c=e(14),d=e(619),p=e(8),f=e(3),v=e(490),h=e(23),g=e(58),m=e(7),y=e(108),C=e(35),b=e(9),w=e(45),S=e(234),_=e(64),I=e(4),R=e(20),k=t.ɵcrt({encapsulation:2,styles:[],data:{}});function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"select",[["class","form-control"],["id","type"],["name","Type"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,9).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.type=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(16,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,11,0,"Type",e.cipher.type),n(l,16,0,e.typeOptions)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"whatTypeOfItem"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[["for","folder"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,9,"select",[["class","form-control"],["id","folder"],["name","FolderId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,7).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,7).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.folderId=e)&&u);return u},null,null)),t.ɵdid(7,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(9,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(11,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(14,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"FolderId",e.cipher.folderId),n(l,14,0,e.folders)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folder"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary ml-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,0),"premium"));n(l,2,0,e)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary ml-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.upgradeOrganization()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,0),"upgrade"));n(l,2,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"img",[["class","ml-2"],["src","images/totp-countdown.png"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,6,0,!e.organization&&!e.cipher.organizationId&&!e.canAccessPremium),n(l,9,0,e.organization&&!e.organization.useTotp||!e.organization&&!e.canAccessPremium&&e.cipher.organizationId&&!e.cipher.organizationUseTotp)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeTotp")),"");n(l,2,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,16,"span",[["class","totp-countdown mr-3 ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"span",[["class","totp-sec"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,":svg:svg",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,":svg:g",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,":svg:circle",[["class","totp-circle inner"],["cx","16"],["cy","16"],["r","12.6"]],null,null,null,null,null)),t.ɵdid(12,278528,null,0,r.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(13,{"stroke-dashoffset.px":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,":svg:circle",[["class","totp-circle outer"],["cx","16"],["cy","16"],["r","14"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[["class","totp-code mr-2"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(21,1),(n()(),t.ɵted(22,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,4,"button",[["class","btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.totpCode,"verificationCodeTotp","TOTP")&&t);return t},null,null)),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,13,0,l.component.totpDash);n(l,12,0,e)},function(n,l){var e=l.component;n(l,5,0,e.totpSec);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeTotp")),"");n(l,20,0,u),n(l,22,0,e.totpCodeFormatted);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"copyVerificationCode")),"");n(l,24,0,r)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["","\n "]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,72,"div",[["appBoxRow",""],["class","row"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,81920,null,0,i.BoxRowDirective,[t.ElementRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,32,"div",[["class","col-7 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,25,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,7,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,12)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,12).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,12)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,12)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.uri=e)&&u);return u},null,null)),t.ɵdid(12,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(14,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(16,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(17,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,13,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.launch(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"i",[["class","fa fa-lg fa-share"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.context.$implicit.uri,"uri","URI")&&t);return t},null,null)),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,34,"div",[["class","col-5 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(42,null,["\n ","\n "])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/uri-match-detection/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,18,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,9,"select",[["class","form-control"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.match=e)&&u);"change"===l&&(u=!1!==r.loginUriMatchChanged(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(55,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(57,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(59,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(62,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.removeUri(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0),n(l,14,0,t.ɵinlineInterpolate(1,"Login.Uris[",l.context.index,"].Uri"),l.context.$implicit.uri);n(l,17,0,""),n(l,57,0,t.ɵinlineInterpolate(1,"Login.Uris[",l.context.index,"].Match"),l.context.$implicit.match),n(l,62,0,e.uriMatchOptions)},function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"loginUri",l.context.index,""));var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"uriPosition",l.context.index+1));n(l,6,0,e);var u=t.ɵinlineInterpolate(1,"loginUri",l.context.index,""),r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,1,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"ex"))," https://google.com");n(l,11,0,u,r,t.ɵnov(l,16).ngClassUntouched,t.ɵnov(l,16).ngClassTouched,t.ɵnov(l,16).ngClassPristine,t.ɵnov(l,16).ngClassDirty,t.ɵnov(l,16).ngClassValid,t.ɵnov(l,16).ngClassInvalid,t.ɵnov(l,16).ngClassPending);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent.parent.parent,0),"launch")),"");n(l,22,0,o,!l.context.$implicit.canLaunch);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyUri")),"");n(l,28,0,i),n(l,41,0,t.ɵinlineInterpolate(1,"loginUriMatch",l.context.index,""));var a=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent.parent.parent,0),"matchDetection"));n(l,42,0,a);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l.parent.parent.parent.parent,0),"learnMore")),"");n(l,45,0,s),n(l,54,0,t.ɵinlineInterpolate(1,"loginUriMatch",l.context.index,""),t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l.parent.parent.parent.parent,0),"remove")),"");n(l,65,0,c)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.cipher.login.uris,e.trackByFunction)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,129,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,87,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,25,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","loginUsername"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","loginUsername"],["name","Login.Username"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,13)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,13)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,13)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.username=e)&&u);return u},null,null)),t.ɵdid(13,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(15,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(17,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(18,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.login.username,"username","Username")&&t);return t},null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,57,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,26,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","loginPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,19,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,5,"a",[["appStopClick",""],["class","d-block mr-2"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,42).onClick(e)&&u);"click"===l&&(u=!1!==r.generatePassword()&&u);return u},null,null)),t.ɵdid(42,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-lg fa-fw fa-refresh"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,[["checkPasswordBtn",1]],null,9,"a",[["appStopClick",""],["class","d-block"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e)&&u);"click"===l&&(u=!1!==r.checkPassword()&&u);return u},null,null)),t.ɵdid(49,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵdid(50,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,0,"i",[["class","fa fa-lg fa-fw fa-check-circle"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"i",[["class","fa fa-lg fa-fw fa-spinner fa-spin"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"],["id","loginPassword"],["name","Login.Password"]],[[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,64)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,64).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,64)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,64)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.password=e)&&u);return u},null,null)),t.ɵdid(64,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(66,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(68,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(69,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(73,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.togglePassword()&&t);return t},null,null)),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(77,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(78,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.login.password,"password","Password")&&t);return t},null,null)),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,13,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(95,0,null,null,2,"label",[["for","loginTotp"]],null,null,null,null,null)),(n()(),t.ɵted(96,null,["",""])),t.ɵppd(97,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(99,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control text-monospace"],["id","loginTotp"],["name","Login.Totp"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,100)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,100).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,100)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,100)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.login.totp=e)&&u);return u},null,null)),t.ɵdid(100,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(102,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(104,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(105,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,9,"div",[["class","col-6 form-group totp d-flex align-items-end"]],null,null,null,null,null)),t.ɵdid(109,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(110,{low:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(113,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(116,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(121,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,5,"a",[["appStopClick",""],["class","d-inline-block mb-3"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,124).onClick(e)&&u);"click"===l&&(u=!1!==r.addUri()&&u);return u},null,null)),t.ɵdid(124,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,0,"i",[["class","fa fa-plus-circle fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,[" ","\n "])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,15,0,"Login.Username",e.cipher.login.username);n(l,18,0,""),n(l,49,0,e.checkPasswordPromise);n(l,66,0,"Login.Password",e.cipher.login.password);n(l,69,0,"");var t=n(l,78,0,!e.showPassword,e.showPassword);n(l,77,0,"fa fa-lg",t);n(l,102,0,"Login.Totp",e.cipher.login.totp);n(l,105,0,"");var u=n(l,110,0,e.totpLow);n(l,109,0,"col-6 form-group totp d-flex align-items-end",u),n(l,113,0,!e.cipher.login.totp||!e.totpCode),n(l,116,0,e.cipher.login.totp&&e.totpCode),n(l,121,0,e.cipher.login.hasUris)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"username"));n(l,7,0,u),n(l,12,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"copyUsername")),"");n(l,22,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l.parent.parent,0),"password"));n(l,36,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,41,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"generatePassword")),"");n(l,41,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,48,0,n(l,51,0,t.ɵnov(l.parent.parent,0),"checkPassword")),"");n(l,48,0,a),n(l,53,0,t.ɵnov(l,48).loading);var s=!t.ɵnov(l,48).loading,c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,55,1,n(l,56,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,55,0,s,c),n(l,63,0,t.ɵinlineInterpolate(1,"",e.showPassword?"text":"password",""),t.ɵnov(l,68).ngClassUntouched,t.ɵnov(l,68).ngClassTouched,t.ɵnov(l,68).ngClassPristine,t.ɵnov(l,68).ngClassDirty,t.ɵnov(l,68).ngClassValid,t.ɵnov(l,68).ngClassInvalid,t.ɵnov(l,68).ngClassPending);var d=t.ɵinlineInterpolate(1,"",t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"toggleVisibility")),"");n(l,73,0,d);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l.parent.parent,0),"copyPassword")),"");n(l,81,0,p);var f=t.ɵunv(l,96,0,n(l,97,0,t.ɵnov(l.parent.parent,0),"authenticatorKeyTotp"));n(l,96,0,f),n(l,99,0,t.ɵnov(l,104).ngClassUntouched,t.ɵnov(l,104).ngClassTouched,t.ɵnov(l,104).ngClassPristine,t.ɵnov(l,104).ngClassDirty,t.ɵnov(l,104).ngClassValid,t.ɵnov(l,104).ngClassInvalid,t.ɵnov(l,104).ngClassPending);var v=t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l.parent.parent,0),"newUri"));n(l,127,0,v)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,137,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","cardCardholderName"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"input",[["class","form-control"],["id","cardCardholderName"],["name","Card.CardCardholderName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,11)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,11)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,11)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.cardholderName=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,16,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","cardBrand"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,9,"select",[["class","form-control"],["id","cardBrand"],["name","Card.Brand"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.brand=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(27,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(29,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(32,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,25,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","cardNumber"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","cardNumber"],["name","Card.Number"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,48)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,48)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,48)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.number=e)&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(53,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.card.number,"number","Number")&&t);return t},null,null)),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,16,"div",[["class","col form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,2,"label",[["for","cardExpMonth"]],null,null,null,null,null)),(n()(),t.ɵted(69,null,["",""])),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,9,"select",[["class","form-control"],["id","cardExpMonth"],["name","Card.ExpMonth"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,73).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,73).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.expMonth=e)&&u);return u},null,null)),t.ɵdid(73,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(75,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(77,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(80,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,13,"div",[["class","col form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,2,"label",[["for","cardExpYear"]],null,null,null,null,null)),(n()(),t.ɵted(87,null,["",""])),t.ɵppd(88,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,6,"input",[["class","form-control"],["id","cardExpYear"],["name","Card.ExpYear"],["type","text"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,91)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,91).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,91)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,91)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.expYear=e)&&u);return u},null,null)),t.ɵdid(91,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(93,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(95,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵppd(96,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,33,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"label",[["for","cardCode"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(110,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"],["id","cardCode"],["name","Card.Code"]],[[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,111)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,111).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,111)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,111)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.card.code=e)&&u);return u},null,null)),t.ɵdid(111,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(113,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(115,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(116,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(118,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleCardCode()&&t);return t},null,null)),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(124,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(125,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(128,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(u.cipher.card.code,"securityCode","Security Code")&&t);return t},null,null)),t.ɵppd(129,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(131,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"Card.CardCardholderName",e.cipher.card.cardholderName);n(l,27,0,"Card.Brand",e.cipher.card.brand),n(l,32,0,e.cardBrandOptions);n(l,50,0,"Card.Number",e.cipher.card.number);n(l,53,0,"");n(l,75,0,"Card.ExpMonth",e.cipher.card.expMonth),n(l,80,0,e.cardExpMonthOptions);n(l,93,0,"Card.ExpYear",e.cipher.card.expYear);n(l,113,0,"Card.Code",e.cipher.card.code);n(l,116,0,"");var t=n(l,125,0,!e.showCardCode,e.showCardCode);n(l,124,0,"fa fa-lg",t)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"cardholderName"));n(l,7,0,u),n(l,10,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent.parent,0),"brand"));n(l,21,0,r),n(l,24,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending);var o=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"number"));n(l,42,0,o),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent.parent,0),"copyNumber")),"");n(l,57,0,i);var a=t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent.parent,0),"expirationMonth"));n(l,69,0,a),n(l,72,0,t.ɵnov(l,77).ngClassUntouched,t.ɵnov(l,77).ngClassTouched,t.ɵnov(l,77).ngClassPristine,t.ɵnov(l,77).ngClassDirty,t.ɵnov(l,77).ngClassValid,t.ɵnov(l,77).ngClassInvalid,t.ɵnov(l,77).ngClassPending);var s=t.ɵunv(l,87,0,n(l,88,0,t.ɵnov(l.parent.parent,0),"expirationYear"));n(l,87,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,90,0,n(l,96,0,t.ɵnov(l.parent.parent,0),"ex"))," 2019");n(l,90,0,c,t.ɵnov(l,95).ngClassUntouched,t.ɵnov(l,95).ngClassTouched,t.ɵnov(l,95).ngClassPristine,t.ɵnov(l,95).ngClassDirty,t.ɵnov(l,95).ngClassValid,t.ɵnov(l,95).ngClassInvalid,t.ɵnov(l,95).ngClassPending);var d=t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l.parent.parent,0),"securityCode"));n(l,105,0,d),n(l,110,0,t.ɵinlineInterpolate(1,"",e.showCardCode?"text":"password",""),t.ɵnov(l,115).ngClassUntouched,t.ɵnov(l,115).ngClassTouched,t.ɵnov(l,115).ngClassPristine,t.ɵnov(l,115).ngClassDirty,t.ɵnov(l,115).ngClassValid,t.ɵnov(l,115).ngClassInvalid,t.ɵnov(l,115).ngClassPending);var p=t.ɵinlineInterpolate(1,"",t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l.parent.parent,0),"toggleVisibility")),"");n(l,120,0,p);var f=t.ɵinlineInterpolate(1,"",t.ɵunv(l,128,0,n(l,129,0,t.ɵnov(l.parent.parent,0),"securityCode")),"");n(l,128,0,f)})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,289,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,16,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["for","idTitle"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,9,"select",[["class","form-control"],["id","idTitle"],["name","Identity.Title"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,11).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.title=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(18,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,43,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","idFirstName"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,5,"input",[["class","form-control"],["id","idFirstName"],["name","Identity.FirstName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.firstName=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(36,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","idMiddleName"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"input",[["class","form-control"],["id","idMiddleName"],["name","Identity.MiddleName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.middleName=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(48,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(50,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"label",[["for","idLastName"]],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"input",[["class","form-control"],["id","idLastName"],["name","Identity.LastName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,60)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,60).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,60)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,60)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.lastName=e)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(62,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(64,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,30,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"label",[["for","idUsername"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idUsername"],["name","Identity.Username"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,77)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,77).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,77)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,77)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.username=e)&&u);return u},null,null)),t.ɵdid(77,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(79,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(81,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(82,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,12,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,2,"label",[["for","idCompany"]],null,null,null,null,null)),(n()(),t.ɵted(88,null,["",""])),t.ɵppd(89,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,5,"input",[["class","form-control"],["id","idCompany"],["name","Identity.Company"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,92)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,92).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,92)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,92)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.company=e)&&u);return u},null,null)),t.ɵdid(92,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(94,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(96,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,2,"label",[["for","idSsn"]],null,null,null,null,null)),(n()(),t.ɵted(105,null,["",""])),t.ɵppd(106,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(108,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idSsn"],["name","Identity.SSN"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,109)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,109).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,109)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,109)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.ssn=e)&&u);return u},null,null)),t.ɵdid(109,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(111,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(113,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(114,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,2,"label",[["for","idPassportNumber"]],null,null,null,null,null)),(n()(),t.ɵted(120,null,["",""])),t.ɵppd(121,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(123,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idPassportNumber"],["name","Identity.PassportNumber"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,124)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,124)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,124)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.passportNumber=e)&&u);return u},null,null)),t.ɵdid(124,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(129,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(132,0,null,null,13,"div",[["class","col-4 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,2,"label",[["for","idLicenseNumber"]],null,null,null,null,null)),(n()(),t.ɵted(135,null,["",""])),t.ɵppd(136,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(138,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idLicenseNumber"],["name","Identity.LicenseNumber"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,139)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,139).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,139)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,139)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.licenseNumber=e)&&u);return u},null,null)),t.ɵdid(139,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(141,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(143,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(144,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(148,0,null,null,30,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,13,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(152,0,null,null,2,"label",[["for","idEmail"]],null,null,null,null,null)),(n()(),t.ɵted(153,null,["",""])),t.ɵppd(154,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(156,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["id","idEmail"],["name","Identity.Email"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,157)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,157).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,157)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,157)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.email=e)&&u);return u},null,null)),t.ɵdid(157,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(159,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(161,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(162,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(167,0,null,null,2,"label",[["for","idPhone"]],null,null,null,null,null)),(n()(),t.ɵted(168,null,["",""])),t.ɵppd(169,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(171,0,null,null,5,"input",[["class","form-control"],["id","idPhone"],["name","Identity.Phone"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,172)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,172).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,172)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,172)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.phone=e)&&u);return u},null,null)),t.ɵdid(172,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(174,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(176,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(180,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(182,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,2,"label",[["for","idAddress1"]],null,null,null,null,null)),(n()(),t.ɵted(185,null,["",""])),t.ɵppd(186,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,5,"input",[["class","form-control"],["id","idAddress1"],["name","Identity.Address1"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,189)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,189).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,189)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,189)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address1=e)&&u);return u},null,null)),t.ɵdid(189,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(191,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(193,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(196,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(198,0,null,null,2,"label",[["for","idAddress2"]],null,null,null,null,null)),(n()(),t.ɵted(199,null,["",""])),t.ɵppd(200,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(202,0,null,null,5,"input",[["class","form-control"],["id","idAddress2"],["name","Identity.Address2"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,203)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,203).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,203)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,203)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address2=e)&&u);return u},null,null)),t.ɵdid(203,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(205,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(207,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(211,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(213,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(215,0,null,null,2,"label",[["for","idAddress3"]],null,null,null,null,null)),(n()(),t.ɵted(216,null,["",""])),t.ɵppd(217,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(219,0,null,null,5,"input",[["class","form-control"],["id","idAddress3"],["name","Identity.Address3"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,220)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,220).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,220)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,220)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.address3=e)&&u);return u},null,null)),t.ɵdid(220,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(222,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(224,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(227,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(229,0,null,null,2,"label",[["for","idCity"]],null,null,null,null,null)),(n()(),t.ɵted(230,null,["",""])),t.ɵppd(231,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(233,0,null,null,5,"input",[["class","form-control"],["id","idCity"],["name","Identity.City"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,234)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,234).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,234)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,234)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.city=e)&&u);return u},null,null)),t.ɵdid(234,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(236,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(238,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(242,0,null,null,29,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(244,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(246,0,null,null,2,"label",[["for","idState"]],null,null,null,null,null)),(n()(),t.ɵted(247,null,["",""])),t.ɵppd(248,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(250,0,null,null,5,"input",[["class","form-control"],["id","idState"],["name","Identity.State"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,251)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,251).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,251)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,251)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.state=e)&&u);return u},null,null)),t.ɵdid(251,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(253,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(255,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(258,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(260,0,null,null,2,"label",[["for","idPostalCode"]],null,null,null,null,null)),(n()(),t.ɵted(261,null,["",""])),t.ɵppd(262,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(264,0,null,null,5,"input",[["class","form-control"],["id","idPostalCode"],["name","Identity.PostalCode"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,265)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,265).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,265)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,265)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.postalCode=e)&&u);return u},null,null)),t.ɵdid(265,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(267,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(269,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(273,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(275,0,null,null,12,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(277,0,null,null,2,"label",[["for","idCountry"]],null,null,null,null,null)),(n()(),t.ɵted(278,null,["",""])),t.ɵppd(279,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(281,0,null,null,5,"input",[["class","form-control"],["id","idCountry"],["name","Identity.Country"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,282)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,282).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,282)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,282)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.identity.country=e)&&u);return u},null,null)),t.ɵdid(282,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(284,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(286,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"Identity.Title",e.cipher.identity.title),n(l,18,0,e.identityTitleOptions);n(l,34,0,"Identity.FirstName",e.cipher.identity.firstName);n(l,48,0,"Identity.MiddleName",e.cipher.identity.middleName);n(l,62,0,"Identity.LastName",e.cipher.identity.lastName);n(l,79,0,"Identity.Username",e.cipher.identity.username);n(l,82,0,"");n(l,94,0,"Identity.Company",e.cipher.identity.company);n(l,111,0,"Identity.SSN",e.cipher.identity.ssn);n(l,114,0,"");n(l,126,0,"Identity.PassportNumber",e.cipher.identity.passportNumber);n(l,129,0,"");n(l,141,0,"Identity.LicenseNumber",e.cipher.identity.licenseNumber);n(l,144,0,"");n(l,159,0,"Identity.Email",e.cipher.identity.email);n(l,162,0,"");n(l,174,0,"Identity.Phone",e.cipher.identity.phone);n(l,191,0,"Identity.Address1",e.cipher.identity.address1);n(l,205,0,"Identity.Address2",e.cipher.identity.address2);n(l,222,0,"Identity.Address3",e.cipher.identity.address3);n(l,236,0,"Identity.City",e.cipher.identity.city);n(l,253,0,"Identity.State",e.cipher.identity.state);n(l,267,0,"Identity.PostalCode",e.cipher.identity.postalCode);n(l,284,0,"Identity.Country",e.cipher.identity.country)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"title"));n(l,7,0,e),n(l,10,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var u=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"firstName"));n(l,28,0,u),n(l,31,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var r=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,0),"middleName"));n(l,42,0,r),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var o=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l.parent.parent,0),"lastName"));n(l,56,0,o),n(l,59,0,t.ɵnov(l,64).ngClassUntouched,t.ɵnov(l,64).ngClassTouched,t.ɵnov(l,64).ngClassPristine,t.ɵnov(l,64).ngClassDirty,t.ɵnov(l,64).ngClassValid,t.ɵnov(l,64).ngClassInvalid,t.ɵnov(l,64).ngClassPending);var i=t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"username"));n(l,73,0,i),n(l,76,0,t.ɵnov(l,81).ngClassUntouched,t.ɵnov(l,81).ngClassTouched,t.ɵnov(l,81).ngClassPristine,t.ɵnov(l,81).ngClassDirty,t.ɵnov(l,81).ngClassValid,t.ɵnov(l,81).ngClassInvalid,t.ɵnov(l,81).ngClassPending);var a=t.ɵunv(l,88,0,n(l,89,0,t.ɵnov(l.parent.parent,0),"company"));n(l,88,0,a),n(l,91,0,t.ɵnov(l,96).ngClassUntouched,t.ɵnov(l,96).ngClassTouched,t.ɵnov(l,96).ngClassPristine,t.ɵnov(l,96).ngClassDirty,t.ɵnov(l,96).ngClassValid,t.ɵnov(l,96).ngClassInvalid,t.ɵnov(l,96).ngClassPending);var s=t.ɵunv(l,105,0,n(l,106,0,t.ɵnov(l.parent.parent,0),"ssn"));n(l,105,0,s),n(l,108,0,t.ɵnov(l,113).ngClassUntouched,t.ɵnov(l,113).ngClassTouched,t.ɵnov(l,113).ngClassPristine,t.ɵnov(l,113).ngClassDirty,t.ɵnov(l,113).ngClassValid,t.ɵnov(l,113).ngClassInvalid,t.ɵnov(l,113).ngClassPending);var c=t.ɵunv(l,120,0,n(l,121,0,t.ɵnov(l.parent.parent,0),"passportNumber"));n(l,120,0,c),n(l,123,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending);var d=t.ɵunv(l,135,0,n(l,136,0,t.ɵnov(l.parent.parent,0),"licenseNumber"));n(l,135,0,d),n(l,138,0,t.ɵnov(l,143).ngClassUntouched,t.ɵnov(l,143).ngClassTouched,t.ɵnov(l,143).ngClassPristine,t.ɵnov(l,143).ngClassDirty,t.ɵnov(l,143).ngClassValid,t.ɵnov(l,143).ngClassInvalid,t.ɵnov(l,143).ngClassPending);var p=t.ɵunv(l,153,0,n(l,154,0,t.ɵnov(l.parent.parent,0),"email"));n(l,153,0,p),n(l,156,0,t.ɵnov(l,161).ngClassUntouched,t.ɵnov(l,161).ngClassTouched,t.ɵnov(l,161).ngClassPristine,t.ɵnov(l,161).ngClassDirty,t.ɵnov(l,161).ngClassValid,t.ɵnov(l,161).ngClassInvalid,t.ɵnov(l,161).ngClassPending);var f=t.ɵunv(l,168,0,n(l,169,0,t.ɵnov(l.parent.parent,0),"phone"));n(l,168,0,f),n(l,171,0,t.ɵnov(l,176).ngClassUntouched,t.ɵnov(l,176).ngClassTouched,t.ɵnov(l,176).ngClassPristine,t.ɵnov(l,176).ngClassDirty,t.ɵnov(l,176).ngClassValid,t.ɵnov(l,176).ngClassInvalid,t.ɵnov(l,176).ngClassPending);var v=t.ɵunv(l,185,0,n(l,186,0,t.ɵnov(l.parent.parent,0),"address1"));n(l,185,0,v),n(l,188,0,t.ɵnov(l,193).ngClassUntouched,t.ɵnov(l,193).ngClassTouched,t.ɵnov(l,193).ngClassPristine,t.ɵnov(l,193).ngClassDirty,t.ɵnov(l,193).ngClassValid,t.ɵnov(l,193).ngClassInvalid,t.ɵnov(l,193).ngClassPending);var h=t.ɵunv(l,199,0,n(l,200,0,t.ɵnov(l.parent.parent,0),"address2"));n(l,199,0,h),n(l,202,0,t.ɵnov(l,207).ngClassUntouched,t.ɵnov(l,207).ngClassTouched,t.ɵnov(l,207).ngClassPristine,t.ɵnov(l,207).ngClassDirty,t.ɵnov(l,207).ngClassValid,t.ɵnov(l,207).ngClassInvalid,t.ɵnov(l,207).ngClassPending);var g=t.ɵunv(l,216,0,n(l,217,0,t.ɵnov(l.parent.parent,0),"address3"));n(l,216,0,g),n(l,219,0,t.ɵnov(l,224).ngClassUntouched,t.ɵnov(l,224).ngClassTouched,t.ɵnov(l,224).ngClassPristine,t.ɵnov(l,224).ngClassDirty,t.ɵnov(l,224).ngClassValid,t.ɵnov(l,224).ngClassInvalid,t.ɵnov(l,224).ngClassPending);var m=t.ɵunv(l,230,0,n(l,231,0,t.ɵnov(l.parent.parent,0),"cityTown"));n(l,230,0,m),n(l,233,0,t.ɵnov(l,238).ngClassUntouched,t.ɵnov(l,238).ngClassTouched,t.ɵnov(l,238).ngClassPristine,t.ɵnov(l,238).ngClassDirty,t.ɵnov(l,238).ngClassValid,t.ɵnov(l,238).ngClassInvalid,t.ɵnov(l,238).ngClassPending);var y=t.ɵunv(l,247,0,n(l,248,0,t.ɵnov(l.parent.parent,0),"stateProvince"));n(l,247,0,y),n(l,250,0,t.ɵnov(l,255).ngClassUntouched,t.ɵnov(l,255).ngClassTouched,t.ɵnov(l,255).ngClassPristine,t.ɵnov(l,255).ngClassDirty,t.ɵnov(l,255).ngClassValid,t.ɵnov(l,255).ngClassInvalid,t.ɵnov(l,255).ngClassPending);var C=t.ɵunv(l,261,0,n(l,262,0,t.ɵnov(l.parent.parent,0),"zipPostalCode"));n(l,261,0,C),n(l,264,0,t.ɵnov(l,269).ngClassUntouched,t.ɵnov(l,269).ngClassTouched,t.ɵnov(l,269).ngClassPristine,t.ɵnov(l,269).ngClassDirty,t.ɵnov(l,269).ngClassValid,t.ɵnov(l,269).ngClassInvalid,t.ɵnov(l,269).ngClassPending);var b=t.ɵunv(l,278,0,n(l,279,0,t.ɵnov(l.parent.parent,0),"country"));n(l,278,0,b),n(l,281,0,t.ɵnov(l,286).ngClassUntouched,t.ɵnov(l,286).ngClassTouched,t.ɵnov(l,286).ngClassPristine,t.ɵnov(l,286).ngClassDirty,t.ɵnov(l,286).ngClassValid,t.ɵnov(l,286).ngClassInvalid,t.ɵnov(l,286).ngClassPending)})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(8,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.parent.context.$implicit.value,"value","Field")&&t);return t},null,null)),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value);n(l,8,0,"")},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyValue")),"");n(l,12,0,e)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","input-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control text-monospace"]],[[8,"id",0],[8,"type",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(8,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"div",[["class","input-group-append"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,6,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleFieldValue(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(16,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{"fa-eye":0,"fa-eye-slash":1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["tabindex","-1"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.parent.context.$implicit.value,"value","Field")&&t);return t},null,null)),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value);n(l,8,0,"");var e=n(l,17,0,!l.parent.context.$implicit.showValue,l.parent.context.$implicit.showValue);n(l,16,0,"fa fa-lg",e)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵinlineInterpolate(1,"",l.parent.context.$implicit.showValue?"text":"password",""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent.parent.parent,0),"toggleVisibility")),"");n(l,12,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent.parent,0),"copyValue")),"");n(l,20,0,u)})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"input",[["appTrueFalseValue",""],["falseValue","false"],["trueValue","true"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,1).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,1).onTouched()&&u);"change"===l&&(u=!1!==t.ɵnov(n,2).onHostChange(e)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.value=e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(2,16384,null,0,d.TrueFalseValueDirective,[t.ElementRef,t.Renderer2],{trueValue:[0,"trueValue"],falseValue:[1,"falseValue"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.CheckboxControlValueAccessor,d.TrueFalseValueDirective]),t.ɵdid(4,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(6,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null)],function(n,l){n(l,2,0,"true","false"),n(l,4,0,t.ɵinlineInterpolate(1,"Field.Value",l.parent.context.index,""),l.parent.context.$implicit.value)},function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"fieldValue",l.parent.context.index,""),t.ɵnov(l,6).ngClassUntouched,t.ɵnov(l,6).ngClassTouched,t.ɵnov(l,6).ngClassPristine,t.ɵnov(l,6).ngClassDirty,t.ɵnov(l,6).ngClassValid,t.ɵnov(l,6).ngClassInvalid,t.ɵnov(l,6).ngClassPending)})}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,54,"div",[["appBoxRow",""],["class","row"]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,81920,null,0,i.BoxRowDirective,[t.ElementRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,22,"div",[["class","col-5 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/custom-fields/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["appInputVerbatim",""],["class","form-control"],["type","text"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(23,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(24,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,26,"div",[["class","col-7 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,19,"div",[["class","d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(36,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(39,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.removeField(n.context.$implicit)&&t);return t},null,null)),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0),n(l,21,0,t.ɵinlineInterpolate(1,"Field.Name",l.context.index,""),l.context.$implicit.name);n(l,24,0,""),n(l,36,0,l.context.$implicit.type===e.fieldType.Text),n(l,39,0,l.context.$implicit.type===e.fieldType.Hidden),n(l,44,0,l.context.$implicit.type===e.fieldType.Boolean)},function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"fieldName",l.context.index,""));var e=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,8,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"learnMore")),"");n(l,11,0,u),n(l,18,0,t.ɵinlineInterpolate(1,"fieldName",l.context.index,""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,29,0,t.ɵinlineInterpolate(1,"fieldValue",l.context.index,""));var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent.parent,0),"value"));n(l,30,0,r);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent,0),"remove")),"");n(l,47,0,o)})}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.cipher.fields,e.trackByFunction)},null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,16,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","organizationId"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"select",[["class","form-control"],["id","organizationId"],["name","OrganizationId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,15).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.organizationId=e)&&u);"change"===l&&(u=!1!==r.organizationChanged()&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(17,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(19,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(22,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"OrganizationId",e.cipher.organizationId),n(l,22,0,e.ownershipOptions)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"ownership"));n(l,3,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"whoOwnsThisItem"));n(l,11,0,u),n(l,14,0,t.ɵnov(l,19).ngClassUntouched,t.ɵnov(l,19).ngClassTouched,t.ɵnov(l,19).ngClassPristine,t.ɵnov(l,19).ngClassDirty,t.ɵnov(l,19).ngClassValid,t.ɵnov(l,19).ngClassInvalid,t.ɵnov(l,19).ngClassPending)})}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["class","form-check-input"],["type","checkbox"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"label",[["class","form-check-label"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"collection-",l.context.index,""),t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending),n(l,9,0,t.ɵinlineInterpolate(1,"collection-",l.context.index,"")),n(l,10,0,l.context.$implicit.name)})}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.collections)},null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,!e.collections||!e.collections.length),n(l,10,0,e.collections&&e.collections.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections"));n(l,3,0,e)})}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,2)],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"datePasswordUpdated"));n(l,3,0,u);var r=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,1),e.cipher.passwordRevisionDisplayDate,"medium"));n(l,5,0,r)})}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,7).onClick(e)&&u);"click"===l&&(u=!1!==r.viewHistory()&&u);return u},null,null)),t.ɵdid(7,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(8,1),(n()(),t.ɵted(9,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"passwordHistory"));n(l,3,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"view")),"");n(l,6,0,r),n(l,9,0,e.cipher.passwordHistory.length)})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n "," -\n "])),t.ɵppd(2,2),(n()(),t.ɵeld(3,0,null,null,1,"span",[["class","text-monospace ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.lastUsedDate,"short"));n(l,1,0,e),n(l,4,0,l.context.$implicit.password)})}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(3,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.cipher.passwordHistory)},null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,18,"div",[["class","small text-muted mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"b",[["class","font-weight-semibold"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",":"])),t.ɵppd(8,1),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(13,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(16,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(19,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,e.showRevisionDate),n(l,16,0,e.hasPasswordHistory),n(l,19,0,e.viewingPasswordHistory)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"dateUpdated"));n(l,7,0,u);var r=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,1),e.cipher.revisionDate,"medium"));n(l,9,0,r)})}function an(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,96,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,14,"div",[["class","col-6 form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,14)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,14).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,14)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,14)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.name=e)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(15,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(18,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(20,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(24,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(29,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(33,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(37,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","notes"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"textarea",[["class","form-control"],["id","notes"],["name","Notes"],["rows","6"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.cipher.notes=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(48,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(50,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"h3",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(58,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,5,"a",[["appStopClick",""],["class","d-inline-block mb-2"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,61).onClick(e)&&u);"click"===l&&(u=!1!==r.addField()&&u);return u},null,null)),t.ɵdid(61,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,0,"i",[["class","fa fa-plus-circle fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,[" ","\n "])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,19,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,16,"div",[["class","col-5"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,2,"label",[["class","sr-only"],["for","addFieldType"]],null,null,null,null,null)),(n()(),t.ɵted(72,null,["",""])),t.ɵppd(73,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,9,"select",[["class","form-control"],["id","addFieldType"],["name","AddFieldType"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,76).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.addFieldType=e)&&u);return u},null,null)),t.ɵdid(76,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(83,278528,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(89,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(92,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(95,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.editMode);n(l,15,0,"");n(l,18,0,"Name",e.cipher.name),n(l,24,0,!e.organization),n(l,29,0,e.cipher.type===e.cipherType.Login),n(l,33,0,e.cipher.type===e.cipherType.Card),n(l,37,0,e.cipher.type===e.cipherType.Identity);n(l,48,0,"Notes",e.cipher.notes),n(l,58,0,e.cipher.hasFields);n(l,78,0,"AddFieldType",e.addFieldType),n(l,83,0,e.addFieldTypeOptions),n(l,89,0,!e.editMode&&!e.organization&&e.ownershipOptions&&e.ownershipOptions.length>1),n(l,92,0,!e.editMode&&e.cipher.organizationId),n(l,95,0,e.editMode)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"name"));n(l,10,0,e),n(l,13,0,t.ɵnov(l,15).required?"":null,t.ɵnov(l,20).ngClassUntouched,t.ɵnov(l,20).ngClassTouched,t.ɵnov(l,20).ngClassPristine,t.ɵnov(l,20).ngClassDirty,t.ɵnov(l,20).ngClassValid,t.ɵnov(l,20).ngClassInvalid,t.ɵnov(l,20).ngClassPending);var u=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent,0),"notes"));n(l,42,0,u),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var r=t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l.parent,0),"customFields"));n(l,54,0,r);var o=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l.parent,0),"newCustomField"));n(l,64,0,o);var i=t.ɵunv(l,72,0,n(l,73,0,t.ɵnov(l.parent,0),"type"));n(l,72,0,i),n(l,75,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending)})}function sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"button",[["class","btn btn-link"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.toggleFavorite()&&t);return t},null,null)),t.ɵppd(1,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"i",[["class","fa fa-lg"]],null,null,null,null,null)),t.ɵdid(4,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(5,{"fa-star":0,"fa-star-o":1}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,t=n(l,5,0,e.cipher.favorite,!e.cipher.favorite);n(l,4,0,"fa fa-lg",t)},function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),e.cipher.favorite?"unfavorite":"favorite")),"");n(l,0,0,u)})}function cn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,6,0,u,r)})}function dn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,sn)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,cn)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,6,0,e.editMode)},null)}function pn(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,44,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,41,"form",[["autocomplete","off"],["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,an)),t.ɵdid(26,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,18,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["\n ","\n "])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,dn)),t.ɵdid(45,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,26,0,e.cipher),n(l,45,0,e.cipher)},function(n,l){var e=l.component;n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u),n(l,30,0,t.ɵnov(l,6).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"");n(l,32,0,r);var o=t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"save"));n(l,36,0,o);var i=t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"cancel"));n(l,41,0,i)})}function fn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-add-edit",[],null,null,null,pn,k)),t.ɵdid(1,114688,null,0,v.AddEditComponent,[h.CipherService,g.FolderService,f.I18nService,m.PlatformUtilsService,y.AuditService,C.StateService,b.UserService,w.CollectionService,S.TotpService,_.PasswordGenerationService,I.ApiService,R.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AddEditComponent=k,l.View_AddEditComponent_0=pn,l.View_AddEditComponent_Host_0=fn;var vn=t.ɵccf("app-org-vault-add-edit",v.AddEditComponent,fn,{folderId:"folderId",cipherId:"cipherId",type:"type",collectionIds:"collectionIds",organizationId:"organizationId"},{onSavedCipher:"onSavedCipher",onDeletedCipher:"onDeletedCipher",onCancelled:"onCancelled",onEditAttachments:"onEditAttachments",onShareCipher:"onShareCipher",onEditCollections:"onEditCollections",onGeneratePassword:"onGeneratePassword"},[]);l.AddEditComponentNgFactory=vn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(89),o=e(46),i=e(28),a=e(27),s=e(3),c=e(8),d=e(15),p=e(14),f=e(5),v=e(614),h=e(4),g=e(6),m=e(13),y=e(22),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,7)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,7).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,7)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,7)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(7,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(8,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(14,81920,null,0,r.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(15,81920,null,0,o.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,8,0,"");n(l,11,0,"MasterPasswordHash",e.masterPassword);n(l,14,0,"");n(l,15,0,"")},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"masterPass"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,8).required?"":null,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,a.CalloutComponent,[s.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(2,0,["",""])),t.ɵppd(3,1)],function(n,l){n(l,1,0,"warning")},function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"apiKeyWarning"));n(l,2,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"app-callout",[["icon","fa-key"],["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,a.CalloutComponent,[s.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,8,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["client_id:"])),(n()(),t.ɵeld(8,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(14,0,null,0,8,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["client_secret:"])),(n()(),t.ɵeld(18,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(24,0,null,0,8,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["scope:"])),(n()(),t.ɵeld(28,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(34,0,null,0,8,"p",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["grant_type:"])),(n()(),t.ɵeld(38,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["client_credentials"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent,0),"oauth2ClientCredentials")),"");n(l,1,0,"info","fa-key",e)},function(n,l){var e=l.component;n(l,11,0,e.clientId),n(l,21,0,e.clientSecret),n(l,31,0,e.scope)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,0,0,t.ɵnov(l.parent,5).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e);var u=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent,0),"viewApiKey"));n(l,6,0,u)})}function R(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[s.I18nService]),(n()(),t.ɵeld(1,0,null,null,51,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,48,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,45,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(8,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,d.ApiActionDirective,[t.ElementRef,p.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,14,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(32,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(38,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,8,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(44,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,32,0,!e.clientSecret),n(l,35,0,e.clientSecret),n(l,38,0,e.clientSecret),n(l,44,0,!e.clientSecret)},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"apiKey"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"apiKeyDesc"));n(l,28,0,r);var o=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l,0),"close"));n(l,47,0,o)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-api-key",[],null,null,null,R,b)),t.ɵdid(1,49152,null,0,v.ApiKeyComponent,[h.ApiService,s.I18nService,g.Angulartics2,m.ToasterService,y.CryptoService,C.Router],null,null)],null,null)}l.RenderType_ApiKeyComponent=b,l.View_ApiKeyComponent_0=R,l.View_ApiKeyComponent_Host_0=k;var A=t.ɵccf("app-api-key",v.ApiKeyComponent,k,{},{},[]);l.ApiKeyComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(15),r=e(14),o=e(5),i=e(41),a=e(8),s=e(3),c=e(12),d=e(604),p=e(23),f=e(22),v=e(9),h=e(7),g=e(4),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-fw fa-lg fa-file-o"]],null,null,null,null,null))],null,null)}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-lg fa-fw fa-spin"]],null,null,null,null,null))],null,null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","ml-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"a",[["href","https://help.bitwarden.com/article/attachments/#fixing-old-attachments"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"i",[["class","fa fa-exclamation-triangle text-warning"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,[["reuploadBtn",1]],null,3,"button",[["class","btn btn-outline-primary btn-sm m-0 py-0 px-2"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reupload(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵdid(8,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,8,0,l.component.reuploadPromises[l.parent.context.$implicit.id])},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"attachmentFixDesc")),"");n(l,4,0,e),n(l,7,0,t.ɵnov(l,7).loading);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"fix"));n(l,9,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,40,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"td",[["class","table-list-icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(8,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e)&&u);"click"===l&&(u=!1!==r.download(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(16,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(20,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,12,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,[["deleteBtn",1]],null,9,"button",[["appStopClick",""],["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e)&&u);"click"===l&&(u=!1!==r.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(30,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵdid(31,16384,null,0,i.StopClickDirective,[],null,null),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!l.context.$implicit.downloading),n(l,8,0,l.context.$implicit.downloading),n(l,20,0,e.showFixOldAttachments(l.context.$implicit)),n(l,30,0,e.deletePromises[l.context.$implicit.id])},function(n,l){n(l,17,0,l.context.$implicit.fileName),n(l,24,0,l.context.$implicit.sizeName);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,29,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"delete")),"");n(l,29,0,e,t.ɵnov(l,29).loading),n(l,34,0,t.ɵnov(l,29).loading);var u=!t.ɵnov(l,29).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,36,1,n(l,37,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,36,0,u,r)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.cipher.attachments)},null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[s.I18nService]),(n()(),t.ɵeld(1,0,null,null,66,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,63,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,60,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,c.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,c.ControlContainer,null,[c.NgForm]),t.ɵdid(8,16384,null,0,c.NgControlStatusGroup,[[4,c.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,u.ApiActionDirective,[t.ElementRef,r.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),t.ɵppd(15,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(17,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,18,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,16,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(56,null,["",""])),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(61,1),(n()(),t.ɵted(62,null,["",""])),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,17,0,e.cipher),n(l,31,0,e.cipher&&e.cipher.hasAttachments)},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"attachments"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"close")),"");n(l,20,0,u);var r=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"newAttachment"));n(l,34,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"file"));n(l,38,0,o);var i=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"maxFileSize"));n(l,44,0,i),n(l,50,0,t.ɵnov(l,5).loading);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),"");n(l,52,0,a);var s=t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"save"));n(l,56,0,s);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"close")),"");n(l,60,0,c);var d=t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,0),"close"));n(l,62,0,d)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-attachments",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.AttachmentsComponent,[p.CipherService,s.I18nService,f.CryptoService,v.UserService,h.PlatformUtilsService,g.ApiService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AttachmentsComponent=m,l.View_AttachmentsComponent_0=I,l.View_AttachmentsComponent_Host_0=R;var k=t.ɵccf("app-org-vault-attachments",d.AttachmentsComponent,R,{cipherId:"cipherId"},{onUploadedAttachment:"onUploadedAttachment",onDeletedAttachment:"onDeletedAttachment",onReuploadedAttachment:"onReuploadedAttachment"},[]);l.AttachmentsComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(15),a=e(14),s=e(8),c=e(3),d=e(607),p=e(4),f=e(6),v=e(13),h=e(7),g=e(22),m=e(9),y=t.ɵcrt({encapsulation:2,styles:[],data:{}});function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"unselectAll"));n(l,7,0,u)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noGroupsInList"));n(l,1,0,e)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-th text-muted fa-fw"],["title","This group can access all items"]],null,null,null,null,null))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,28,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"td",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,8,"td",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.readOnly=e)&&u);return u},null,null)),t.ɵdid(22,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Groups[",l.context.index,"].Checked"),l.context.$implicit.accessAll,l.context.$implicit.checked),n(l,16,0,l.context.$implicit.accessAll),n(l,24,0,t.ɵinlineInterpolate(1,"Groups[",l.context.index,"].ReadOnly"),!l.context.$implicit.checked||l.context.$implicit.accessAll,l.context.$implicit.readOnly)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name),n(l,21,0,t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"th",[["class","text-center"],["width","100"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(22,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,22,0,l.component.groups)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,10,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"readOnly"));n(l,14,0,u)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"h3",[["class","mt-4 d-flex mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,6,0,e.groups&&e.groups.length),n(l,10,0,!e.groups||!e.groups.length),n(l,13,0,e.groups&&e.groups.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"groupAccess"));n(l,3,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,38,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","externalId"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"input",[["class","form-control"],["id","externalId"],["name","ExternalId"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,25)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,25)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,25)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.externalId=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(27,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(29,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,"");n(l,13,0,"Name",e.name);n(l,27,0,"ExternalId",e.externalId),n(l,37,0,e.accessGroups)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"name"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"externalId"));n(l,21,0,u),n(l,24,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending);var r=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent,0),"externalIdDesc"));n(l,32,0,r)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent,0),"loading")),"");n(l,6,0,u,r)})}function P(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[c.I18nService]),(n()(),t.ɵeld(1,0,null,null,53,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,50,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,47,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(8,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,21,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,25,0,e.loading),n(l,28,0,!e.loading),n(l,49,0,e.editMode)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,14,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u),n(l,32,0,t.ɵnov(l,5).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"loading")),"");n(l,34,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"save"));n(l,38,0,o);var i=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"cancel"));n(l,43,0,i)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-collection-add-edit",[],null,null,null,P,y)),t.ɵdid(1,114688,null,0,d.CollectionAddEditComponent,[p.ApiService,c.I18nService,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.CryptoService,m.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionAddEditComponent=y,l.View_CollectionAddEditComponent_0=P,l.View_CollectionAddEditComponent_Host_0=O;var T=t.ɵccf("app-collection-add-edit",d.CollectionAddEditComponent,O,{collectionId:"collectionId",organizationId:"organizationId"},{onSavedCollection:"onSavedCollection",onDeletedCollection:"onDeletedCollection"},[]);l.CollectionAddEditComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(8),a=e(3),s=e(15),c=e(14),d=e(605),p=e(45),f=e(7),v=e(23),h=e(4),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"unselectAll"));n(l,7,0,u)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.collections)},null)}function S(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,21,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.cipher),n(l,42,0,e.collections&&e.collections.length),n(l,46,0,!e.collections||!e.collections.length),n(l,49,0,e.collections&&e.collections.length)},function(n,l){n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"collections"));n(l,15,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u);var r=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"collectionsDesc"));n(l,32,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"collections"));n(l,38,0,o),n(l,54,0,t.ɵnov(l,5).loading);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,i);var a=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"save"));n(l,60,0,a);var s=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"cancel"));n(l,65,0,s)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-collections",[],null,null,null,S,g)),t.ɵdid(1,245760,null,0,d.CollectionsComponent,[p.CollectionService,f.PlatformUtilsService,a.I18nService,v.CipherService,h.ApiService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=g,l.View_CollectionsComponent_0=S,l.View_CollectionsComponent_Host_0=_;var I=t.ɵccf("app-org-vault-collections",d.CollectionsComponent,_,{cipherId:"cipherId"},{onSavedCollections:"onSavedCollections"},[]);l.CollectionsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(15),o=e(14),i=e(12),a=e(8),s=e(3),c=e(495),d=e(4),p=e(241),f=e(13),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.name)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList"));n(l,1,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"user"));n(l,1,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",l.parent.context.$implicit.userEmail,"")),n(l,3,0,l.parent.context.$implicit.userName)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,l.component.showUser)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"));n(l,3,0,e),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,14,0,l.context.$implicit.message)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,31,"table",[["class","table table-hover mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,22,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,19,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(18,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(29,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,18,0,e.showUser),n(l,29,0,e.events)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"));n(l,7,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"));n(l,13,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent.parent,0),"event"));n(l,21,0,r)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore"));n(l,7,0,u)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,54,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,40,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,11)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,11)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,11)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.start=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[6,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(15,16384,null,0,i.NgControlStatus,[[4,i.NgControl]],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,26)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,26).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,26)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,26)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.end=e)&&u);return u},null,null)),t.ɵdid(26,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(28,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[6,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(30,16384,null,0,i.NgControlStatus,[[4,i.NgControl]],null,null),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(35,540672,null,0,r.ApiActionDirective,[t.ElementRef,o.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(38,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(39,{"fa-spin":0}),(n()(),t.ɵted(40,null,["\n ","\n "])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(47,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(50,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(53,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,e.start),n(l,28,0,e.end),n(l,35,0,e.refreshPromise);var u=n(l,39,0,e.loaded&&t.ɵnov(l,34).loading);n(l,38,0,"fa fa-refresh fa-fw",u),n(l,47,0,!e.events||!e.events.length),n(l,50,0,e.events&&e.events.length),n(l,53,0,e.continuationToken)},function(n,l){var e=l.component,u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"startDate"));n(l,7,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,16,0,t.ɵnov(l.parent,0),"startDate")),"");n(l,10,0,r,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var o=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"endDate"));n(l,22,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,25,0,n(l,31,0,t.ɵnov(l.parent,0),"endDate")),"");n(l,25,0,i,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,34,0,e.loaded&&t.ɵnov(l,34).loading);var a=t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l.parent,0),"refresh"));n(l,40,0,a)})}function I(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[s.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,37,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,34,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,31,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(14,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(29,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,14,0,e.name),n(l,26,0,!e.loaded),n(l,29,0,e.loaded)},function(n,l){var e=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"eventLogs"));n(l,11,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"close"));n(l,34,0,r)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-entity-events",[],null,null,null,I,v)),t.ɵdid(1,114688,null,0,c.EntityEventsComponent,[d.ApiService,s.I18nService,p.EventService,f.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EntityEventsComponent=v,l.View_EntityEventsComponent_0=I,l.View_EntityEventsComponent_Host_0=R;var k=t.ɵccf("app-entity-events",c.EntityEventsComponent,R,{name:"name",entity:"entity",entityId:"entityId",organizationId:"organizationId",showUser:"showUser"},{},[]);l.EntityEventsComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),r=e(12),o=e(103),i=e(170),a=e(145),s=e(43),c=e(107),d=e(35),p=e(8),f=e(3),v=e(275),h=e(15),g=e(14),m=e(506),y=e(4),C=e(6),b=e(13),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.selectedCount)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"noUsersInList"));n(l,3,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "]))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"th",[["class","text-center"],["width","100"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"readOnly"));n(l,1,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited"));n(l,1,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted"));n(l,1,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-th"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"userAccessAllItems")),"");n(l,0,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.parent.context.$implicit.accessAll)},null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner"));n(l,1,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin"));n(l,1,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"manager"));n(l,1,0,e)})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user"));n(l,1,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"td",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.readOnly=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,r.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,r.NgModel,[[2,r.ControlContainer],[8,null],[8,null],[6,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(7,16384,null,0,r.NgControlStatus,[[4,r.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",l.parent.context.$implicit.id.substr(0,8),"_ReadOnly");n(l,5,0,e,l.parent.context.$implicit.accessAll||!l.parent.context.$implicit.checked,l.parent.context.$implicit.readOnly)},function(n,l){n(l,2,0,t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,51,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);"change"===l&&(u=!1!==r.selectedChanged(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,r.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,r.NgModel,[[2,r.ControlContainer],[8,null],[8,null],[6,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(9,16384,null,0,r.NgControlStatus,[[4,r.NgControl]],null,null),t.ɵdid(10,16384,null,0,o.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"td",[["width","30"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,1,"app-avatar",[["size","25"]],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(16,638976,null,0,a.AvatarComponent,[s.DomSanitizer,c.CryptoFunctionService,d.StateService],{data:[0,"data"],email:[1,"email"],size:[2,"size"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,10,"td",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(22,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(25,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(28,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,13,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(37,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(40,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(43,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(46,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(50,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component,u=t.ɵinlineInterpolate(1,"",l.context.$implicit.id.substr(0,8),"_Checked");n(l,7,0,u,"collection"===e.entity&&l.context.$implicit.accessAll,l.context.$implicit.checked);n(l,16,0,l.context.$implicit.name||l.context.$implicit.email,l.context.$implicit.email,"25",14,!0),n(l,22,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,25,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,28,0,l.context.$implicit.name),n(l,32,0,"collection"===e.entity),n(l,37,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,40,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,43,0,l.context.$implicit.type===e.organizationUserType.Manager),n(l,46,0,l.context.$implicit.type===e.organizationUserType.User),n(l,50,0,"collection"===e.entity)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,20,0,l.context.$implicit.email)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,33,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,24,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,21,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(19,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(26,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(33,278528,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,19,0,"collection"===e.entity),n(l,26,0,"collection"===e.entity),n(l,33,0,l.parent.context.ngIf)},function(n,l){var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"name"));n(l,15,0,e);var u=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"userType"));n(l,22,0,u)})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,34,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,13,"div",[["class","mr-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["name","SearchText"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,11)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,11).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,11)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,11)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.searchText=e)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,r.NgModel,[[2,r.ControlContainer],[8,null],[8,null],[6,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(15,16384,null,0,r.NgControlStatus,[[4,r.NgControl]],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,16,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filterSelected(!1)&&t);return t},null,null)),t.ɵdid(22,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(23,{active:0}),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filterSelected(!0)&&t);return t},null,null)),t.ɵdid(28,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(29,{active:0}),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(33,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(39,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(42,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,13,0,"SearchText",e.searchText);var t=n(l,23,0,!e.showSelected);n(l,22,0,"btn btn-outline-secondary",t);var u=n(l,29,0,e.showSelected);n(l,28,0,"btn btn-outline-secondary",u),n(l,33,0,e.selectedCount),n(l,39,0,!l.context.ngIf.length),n(l,42,0,l.context.ngIf.length)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"search"));n(l,7,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,10,0,n(l,16,0,t.ɵnov(l.parent,0),"search")),"");n(l,10,0,u,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var r=t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent,0),"all"));n(l,24,0,r);var o=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent,0),"selected"));n(l,30,0,o)})}function z(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[f.I18nService]),t.ɵpid(0,v.SearchPipe,[]),(n()(),t.ɵeld(2,0,null,null,52,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,49,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,46,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(9,16384,null,0,r.NgControlStatusGroup,[[4,r.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,h.ApiActionDirective,[t.ElementRef,g.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵeld(17,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(30,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,2,null,L)),t.ɵdid(33,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(34,5),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,30,0,e.loading||!e.users);var u=!e.loading&&e.users&&t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id"));n(l,33,0,u)},function(n,l){var e=l.component;n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"userAccess"));n(l,15,0,u),n(l,18,0,e.entityName);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,r),n(l,38,0,t.ɵnov(l,6).loading);var o=t.ɵinlineInterpolate(1,"",t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"loading")),"");n(l,40,0,o);var i=t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"save"));n(l,44,0,i);var a=t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"close"));n(l,49,0,a)})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-entity-users",[],null,null,null,z,w)),t.ɵdid(1,114688,null,0,m.EntityUsersComponent,[y.ApiService,f.I18nService,C.Angulartics2,b.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EntityUsersComponent=w,l.View_EntityUsersComponent_0=z,l.View_EntityUsersComponent_Host_0=j;var G=t.ɵccf("app-entity-users",m.EntityUsersComponent,j,{entity:"entity",entityId:"entityId",entityName:"entityName",organizationId:"organizationId"},{onEditedUsers:"onEditedUsers"},[]);l.EntityUsersComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(15),a=e(14),s=e(8),c=e(3),d=e(609),p=e(4),f=e(6),v=e(13),h=e(45),g=e(7),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"unselectAll"));n(l,7,0,u)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,8,"td",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,19).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.readOnly=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(21,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(23,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked),n(l,21,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].ReadOnly"),!l.context.$implicit.checked,l.context.$implicit.readOnly)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name),n(l,18,0,t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"th",[["class","text-center"],["width","100"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(22,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,22,0,l.component.collections)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,10,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"readOnly"));n(l,14,0,u)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.collections||!e.collections.length),n(l,6,0,e.collections&&e.collections.length)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,83,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","externalId"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"input",[["class","form-control"],["id","externalId"],["name","ExternalId"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,25)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,25)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,25)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.externalId=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(27,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(29,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,8,"h3",[["class","mt-4 d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"div",[["class","mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["\n ","\n "])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,33,"div",[["class","form-group"]],null,null,null,null,null)),t.ɵdid(47,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(48,{"mb-0":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,13,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,6,"input",[["class","form-check-input"],["id","accessAll"],["name","access"],["type","radio"],["value","all"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,53)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,53).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,53)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,53)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,54).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,54).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.access=e)&&u);return u},null,null)),t.ɵdid(53,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(54,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(56,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(58,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,2,"label",[["class","form-check-label"],["for","accessAll"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["\n ","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,13,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,6,"input",[["class","form-check-input"],["id","accessSelected"],["name","access"],["type","radio"],["value","selected"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,69).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,69).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.access=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(69,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(71,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(73,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,2,"label",[["class","form-check-label"],["for","accessSelected"]],null,null,null,null,null)),(n()(),t.ɵted(76,null,["\n ","\n "])),t.ɵppd(77,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,"");n(l,13,0,"Name",e.name);n(l,27,0,"ExternalId",e.externalId),n(l,43,0,"selected"===e.access&&e.collections&&e.collections.length);var t=n(l,48,0,"selected"!==e.access);n(l,47,0,"form-group",t);n(l,54,0,"access","all");n(l,56,0,"access",e.access);n(l,69,0,"access","selected");n(l,71,0,"access",e.access),n(l,82,0,"selected"===e.access)},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"name"));n(l,5,0,e),n(l,8,0,t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"externalId"));n(l,21,0,u),n(l,24,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending);var r=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent,0),"externalIdDesc"));n(l,32,0,r);var o=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent,0),"accessControl"));n(l,39,0,o),n(l,52,0,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending);var i=t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"groupAccessAllItems"));n(l,61,0,i),n(l,67,0,t.ɵnov(l,73).ngClassUntouched,t.ɵnov(l,73).ngClassTouched,t.ɵnov(l,73).ngClassPristine,t.ɵnov(l,73).ngClassDirty,t.ɵnov(l,73).ngClassValid,t.ɵnov(l,73).ngClassInvalid,t.ɵnov(l,73).ngClassPending);var a=t.ɵunv(l,76,0,n(l,77,0,t.ɵnov(l.parent,0),"groupAccessSelectedCollections"));n(l,76,0,a)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent,0),"loading")),"");n(l,6,0,u,r)})}function k(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[c.I18nService]),(n()(),t.ɵeld(1,0,null,null,53,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,50,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,47,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(8,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,11,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,21,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,25,0,e.loading),n(l,28,0,!e.loading),n(l,49,0,e.editMode)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,14,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u),n(l,32,0,t.ɵnov(l,5).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"loading")),"");n(l,34,0,r);var o=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"save"));n(l,38,0,o);var i=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"cancel"));n(l,43,0,i)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-group-add-edit",[],null,null,null,k,m)),t.ɵdid(1,114688,null,0,d.GroupAddEditComponent,[p.ApiService,c.I18nService,f.Angulartics2,v.ToasterService,h.CollectionService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupAddEditComponent=m,l.View_GroupAddEditComponent_0=k,l.View_GroupAddEditComponent_Host_0=A;var P=t.ɵccf("app-group-add-edit",d.GroupAddEditComponent,A,{groupId:"groupId",organizationId:"organizationId"},{onSavedGroup:"onSavedGroup",onDeletedGroup:"onDeletedGroup"},[]);l.GroupAddEditComponentNgFactory=P},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(89),o=e(46),i=e(28),a=e(27),s=e(3),c=e(8),d=e(15),p=e(14),f=e(5),v=e(616),h=e(4),g=e(6),m=e(13),y=e(22),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,7)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,7).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,7)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,7)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(7,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(8,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(14,81920,null,0,r.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(15,81920,null,0,o.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,8,0,"");n(l,11,0,"MasterPasswordHash",e.masterPassword);n(l,14,0,"");n(l,15,0,"")},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"masterPass"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,8).required?"":null,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,a.CalloutComponent,[s.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(2,0,["",""])),t.ɵppd(3,1)],function(n,l){n(l,1,0,"warning")},function(n,l){var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"apiKeyWarning"));n(l,2,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"app-callout",[["icon","fa-key"],["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,a.CalloutComponent,[s.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,8,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["client_id:"])),(n()(),t.ɵeld(8,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(14,0,null,0,8,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["client_secret:"])),(n()(),t.ɵeld(18,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(24,0,null,0,8,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["scope:"])),(n()(),t.ɵeld(28,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(34,0,null,0,8,"p",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["grant_type:"])),(n()(),t.ɵeld(38,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["client_credentials"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent,0),"oauth2ClientCredentials")),"");n(l,1,0,"info","fa-key",e)},function(n,l){var e=l.component;n(l,11,0,e.clientId),n(l,21,0,e.clientSecret),n(l,31,0,e.scope)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,0,0,t.ɵnov(l.parent,5).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e);var u=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent,0),"rotateApiKey"));n(l,6,0,u)})}function R(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[s.I18nService]),(n()(),t.ɵeld(1,0,null,null,51,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,48,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,45,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(8,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,d.ApiActionDirective,[t.ElementRef,p.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,14,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(32,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(38,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,8,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(44,16384,null,0,f.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise),n(l,32,0,!e.clientSecret),n(l,35,0,e.clientSecret),n(l,38,0,e.clientSecret),n(l,44,0,!e.clientSecret)},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"rotateApiKey"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"apiKeyRotateDesc"));n(l,28,0,r);var o=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l,0),"close"));n(l,47,0,o)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-rotate-api-key",[],null,null,null,R,b)),t.ɵdid(1,49152,null,0,v.RotateApiKeyComponent,[h.ApiService,s.I18nService,g.Angulartics2,m.ToasterService,y.CryptoService,C.Router],null,null)],null,null)}l.RenderType_RotateApiKeyComponent=b,l.View_RotateApiKeyComponent_0=R,l.View_RotateApiKeyComponent_Host_0=k;var A=t.ɵccf("app-rotate-api-key",v.RotateApiKeyComponent,k,{},{},[]);l.RotateApiKeyComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(15),a=e(14),s=e(8),c=e(3),d=e(611),p=e(4),f=e(6),v=e(13),h=e(45),g=e(7),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,18,"div",[["class","form-group mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"label",[["for","emails"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,7,"input",[["class","form-control"],["id","emails"],["name","Emails"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,13)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,13)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,13)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.emails=e)&&u);return u},null,null)),t.ɵdid(13,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(14,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(17,671744,null,0,u.NgModel,[[2,u.ControlContainer],[6,u.NG_VALIDATORS],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(19,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,"");n(l,17,0,"Emails",e.emails)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"inviteUserDesc"));n(l,3,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"email"));n(l,9,0,u),n(l,12,0,t.ɵnov(l,14).required?"":null,t.ɵnov(l,19).ngClassUntouched,t.ɵnov(l,19).ngClassTouched,t.ɵnov(l,19).ngClassPristine,t.ɵnov(l,19).ngClassDirty,t.ɵnov(l,19).ngClassValid,t.ɵnov(l,19).ngClassInvalid,t.ɵnov(l,19).ngClassPending);var r=t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"inviteMultipleEmailDesc","20"));n(l,22,0,r)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"unselectAll"));n(l,7,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,8,"td",[["class","text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,19).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.readOnly=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(21,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(23,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked),n(l,21,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].ReadOnly"),!l.context.$implicit.checked,l.context.$implicit.readOnly)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name),n(l,18,0,t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,12,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"th",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,[" "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"th",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"th",[["class","text-center"],["width","100"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(22,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,22,0,l.component.collections)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"name"));n(l,10,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"readOnly"));n(l,14,0,u)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.collections||!e.collections.length),n(l,6,0,e.collections&&e.collections.length)},null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,132,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,17,"div",[["class","form-check mt-2 form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,6,"input",[["class","form-check-input"],["id","userTypeUser"],["name","userType"],["type","radio"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,12)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,12).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,12)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,12)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,13).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.type=e)&&u);return u},null,null)),t.ɵdid(12,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(13,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(15,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(17,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,6,"label",[["class","form-check-label"],["for","userTypeUser"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵeld(22,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",""])),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,17,"div",[["class","form-check mt-2 form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,6,"input",[["class","form-check-input"],["id","userTypeManager"],["name","userType"],["type","radio"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,32).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.type=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(32,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(34,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(36,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,6,"label",[["class","form-check-label"],["for","userTypeManager"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["\n ","\n "])),t.ɵppd(40,1),(n()(),t.ɵeld(41,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,17,"div",[["class","form-check mt-2 form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"input",[["class","form-check-input"],["id","userTypeAdmin"],["name","userType"],["type","radio"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,50)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,50).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,50)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,50)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,51).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.type=e)&&u);return u},null,null)),t.ɵdid(50,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(51,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(53,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(55,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,6,"label",[["class","form-check-label"],["for","userTypeAdmin"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵeld(60,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(61,null,["",""])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,17,"div",[["class","form-check mt-2 form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(68,0,null,null,6,"input",[["class","form-check-input"],["id","userTypeOwner"],["name","userType"],["type","radio"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,69)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,69).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,69)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,69)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,70).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,70).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.type=e)&&u);return u},null,null)),t.ɵdid(69,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(70,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(72,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(74,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,6,"label",[["class","form-check-label"],["for","userTypeOwner"]],null,null,null,null,null)),(n()(),t.ɵted(77,null,["\n ","\n "])),t.ɵppd(78,1),(n()(),t.ɵeld(79,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(80,null,["",""])),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(85,0,null,null,8,"h3",[["class","mt-4 d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,2,"div",[["class","mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(88,null,["\n ","\n "])),t.ɵppd(89,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(92,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(95,0,null,null,33,"div",[["class","form-group"]],null,null,null,null,null)),t.ɵdid(96,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(97,{"mb-0":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(99,0,null,null,13,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,6,"input",[["class","form-check-input"],["id","accessAll"],["name","access"],["type","radio"],["value","all"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,102)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,102).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,102)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,102)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,103).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,103).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.access=e)&&u);return u},null,null)),t.ɵdid(102,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(103,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(105,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(107,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,2,"label",[["class","form-check-label"],["for","accessAll"]],null,null,null,null,null)),(n()(),t.ɵted(110,null,["\n ","\n "])),t.ɵppd(111,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(114,0,null,null,13,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(116,0,null,null,6,"input",[["class","form-check-input"],["id","accessSelected"],["name","access"],["type","radio"],["value","selected"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,117)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,117).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,117)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,117)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,118).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,118).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.access=e)&&u);return u},null,null)),t.ɵdid(117,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(118,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵangular_packages_forms_forms_j,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(120,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(122,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(124,0,null,null,2,"label",[["class","form-check-label"],["for","accessSelected"]],null,null,null,null,null)),(n()(),t.ɵted(125,null,["\n ","\n "])),t.ɵppd(126,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(131,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.editMode);n(l,13,0,"userType",e.organizationUserType.User);n(l,15,0,"userType",e.type);n(l,32,0,"userType",e.organizationUserType.Manager);n(l,34,0,"userType",e.type);n(l,51,0,"userType",e.organizationUserType.Admin);n(l,53,0,"userType",e.type);n(l,70,0,"userType",e.organizationUserType.Owner);n(l,72,0,"userType",e.type),n(l,92,0,"selected"===e.access&&e.collections&&e.collections.length);var t=n(l,97,0,"selected"!==e.access);n(l,96,0,"form-group",t);n(l,103,0,"access","all");n(l,105,0,"access",e.access);n(l,118,0,"access","selected");n(l,120,0,"access",e.access),n(l,131,0,"selected"===e.access)},function(n,l){var e=t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent,0),"userType"));n(l,6,0,e),n(l,11,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending);var u=t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent,0),"user"));n(l,20,0,u);var r=t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l.parent,0),"userDesc"));n(l,23,0,r),n(l,30,0,t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending);var o=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent,0),"manager"));n(l,39,0,o);var i=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent,0),"managerDesc"));n(l,42,0,i),n(l,49,0,t.ɵnov(l,55).ngClassUntouched,t.ɵnov(l,55).ngClassTouched,t.ɵnov(l,55).ngClassPristine,t.ɵnov(l,55).ngClassDirty,t.ɵnov(l,55).ngClassValid,t.ɵnov(l,55).ngClassInvalid,t.ɵnov(l,55).ngClassPending);var a=t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent,0),"admin"));n(l,58,0,a);var s=t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"adminDesc"));n(l,61,0,s),n(l,68,0,t.ɵnov(l,74).ngClassUntouched,t.ɵnov(l,74).ngClassTouched,t.ɵnov(l,74).ngClassPristine,t.ɵnov(l,74).ngClassDirty,t.ɵnov(l,74).ngClassValid,t.ɵnov(l,74).ngClassInvalid,t.ɵnov(l,74).ngClassPending);var c=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent,0),"owner"));n(l,77,0,c);var d=t.ɵunv(l,80,0,n(l,81,0,t.ɵnov(l.parent,0),"ownerDesc"));n(l,80,0,d);var p=t.ɵunv(l,88,0,n(l,89,0,t.ɵnov(l.parent,0),"accessControl"));n(l,88,0,p),n(l,101,0,t.ɵnov(l,107).ngClassUntouched,t.ɵnov(l,107).ngClassTouched,t.ɵnov(l,107).ngClassPristine,t.ɵnov(l,107).ngClassDirty,t.ɵnov(l,107).ngClassValid,t.ɵnov(l,107).ngClassInvalid,t.ɵnov(l,107).ngClassPending);var f=t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,0),"userAccessAllItems"));n(l,110,0,f),n(l,116,0,t.ɵnov(l,122).ngClassUntouched,t.ɵnov(l,122).ngClassTouched,t.ɵnov(l,122).ngClassPristine,t.ɵnov(l,122).ngClassDirty,t.ɵnov(l,122).ngClassValid,t.ɵnov(l,122).ngClassInvalid,t.ɵnov(l,122).ngClassPending);var v=t.ɵunv(l,125,0,n(l,126,0,t.ɵnov(l.parent,0),"userAccessSelectedCollections"));n(l,125,0,v)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["deleteBtn",1]],null,8,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0],[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.delete()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],[[8,"hidden",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-lg fa-fw"]],[[8,"hidden",0],[8,"title",0]],null,null,null,null)),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.deletePromise)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent,0),"delete")),"");n(l,0,0,e,t.ɵnov(l,0).loading),n(l,4,0,t.ɵnov(l,0).loading);var u=!t.ɵnov(l,0).loading,r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,6,1,n(l,7,0,t.ɵnov(l.parent,0),"loading")),"");n(l,6,0,u,r)})}function P(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[c.I18nService]),(n()(),t.ɵeld(1,0,null,null,58,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,55,"div",[["class","modal-dialog"]],null,null,null,null,null)),t.ɵdid(4,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(5,{"modal-lg":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,[["form",1]],null,50,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,8).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,8).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(8,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(10,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(11,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,14,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(33,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,21,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,4,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(54,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component,t=n(l,5,0,!e.editMode);n(l,4,0,"modal-dialog",t),n(l,11,0,e.formPromise),n(l,18,0,e.name),n(l,30,0,e.loading),n(l,33,0,!e.loading),n(l,54,0,e.editMode)},function(n,l){var e=l.component;n(l,7,0,t.ɵnov(l,10).ngClassUntouched,t.ɵnov(l,10).ngClassTouched,t.ɵnov(l,10).ngClassPristine,t.ɵnov(l,10).ngClassDirty,t.ɵnov(l,10).ngClassValid,t.ɵnov(l,10).ngClassInvalid,t.ɵnov(l,10).ngClassPending),n(l,16,0,e.title);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u),n(l,37,0,t.ɵnov(l,7).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"");n(l,39,0,r);var o=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"save"));n(l,43,0,o);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"));n(l,48,0,i)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-add-edit",[],null,null,null,P,m)),t.ɵdid(1,114688,null,0,d.UserAddEditComponent,[p.ApiService,c.I18nService,f.Angulartics2,v.ToasterService,h.CollectionService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserAddEditComponent=m,l.View_UserAddEditComponent_0=P,l.View_UserAddEditComponent_Host_0=O;var T=t.ɵccf("app-user-add-edit",d.UserAddEditComponent,O,{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},{onSavedUser:"onSavedUser",onDeletedUser:"onDeletedUser"},[]);l.UserAddEditComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(5),c=e(612),d=e(4),p=e(6),f=e(13),v=e(22),h=e(63),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.name)})}function y(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,75,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,72,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,69,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(9,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,27,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"p",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["\n ","\n "])),t.ɵppd(33,1),(n()(),t.ɵeld(34,0,null,null,2,"a",[["href","https://help.bitwarden.com/article/fingerprint-phrase/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["\n ",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵeld(40,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"input",[["class","form-check-input"],["id","dontAskAgain"],["name","DontAskAgain"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,46).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.dontAskAgain=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,o.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.CheckboxControlValueAccessor]),t.ɵdid(48,671744,null,0,o.NgModel,[[2,o.ControlContainer],[8,null],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(50,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["class","form-check-label"],["for","dontAskAgain"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["\n ","\n "])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(71,null,["",""])),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.name);n(l,48,0,"DontAskAgain",e.dontAskAgain)},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"confirmUser"));n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,r);var o=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"fingerprintEnsureIntegrityVerify"));n(l,32,0,o);var i=t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"learnMore"));n(l,35,0,i),n(l,41,0,e.fingerprint),n(l,45,0,t.ɵnov(l,50).ngClassUntouched,t.ɵnov(l,50).ngClassTouched,t.ɵnov(l,50).ngClassPristine,t.ɵnov(l,50).ngClassDirty,t.ɵnov(l,50).ngClassValid,t.ɵnov(l,50).ngClassInvalid,t.ɵnov(l,50).ngClassPending);var a=t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"dontAskFingerprintAgain"));n(l,53,0,a),n(l,60,0,t.ɵnov(l,5).loading);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l,0),"loading")),"");n(l,62,0,s);var c=t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l,0),"confirm"));n(l,66,0,c);var d=t.ɵunv(l,71,0,n(l,72,0,t.ɵnov(l,0),"cancel"));n(l,71,0,d)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-confirm",[],null,null,null,y,g)),t.ɵdid(1,114688,null,0,c.UserConfirmComponent,[d.ApiService,r.I18nService,p.Angulartics2,f.ToasterService,v.CryptoService,h.StorageService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserConfirmComponent=g,l.View_UserConfirmComponent_0=y,l.View_UserConfirmComponent_Host_0=C;var b=t.ɵccf("app-user-confirm",c.UserConfirmComponent,C,{name:"name",userId:"userId",organizationUserId:"organizationUserId",organizationId:"organizationId"},{onConfirmedUser:"onConfirmedUser"},[]);l.UserConfirmComponentNgFactory=b},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(8),a=e(3),s=e(15),c=e(14),d=e(613),p=e(4),f=e(6),v=e(13),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.name)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),"");n(l,2,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList"));n(l,1,0,e)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Groups[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.groups)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,!e.groups||!e.groups.length),n(l,10,0,e.groups&&e.groups.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"groupAccessUserDesc"));n(l,3,0,e)})}function S(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,52,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,49,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,46,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(30,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(33,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.name),n(l,30,0,e.loading),n(l,33,0,!e.loading)},function(n,l){n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"groupAccess"));n(l,15,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u),n(l,37,0,t.ɵnov(l,5).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"");n(l,39,0,r);var o=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"save"));n(l,43,0,o);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"));n(l,48,0,i)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-groups",[],null,null,null,S,h)),t.ɵdid(1,114688,null,0,d.UserGroupsComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserGroupsComponent=h,l.View_UserGroupsComponent_0=S,l.View_UserGroupsComponent_Host_0=_;var I=t.ɵccf("app-user-groups",d.UserGroupsComponent,_,{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},{onSavedUser:"onSavedUser"},[]);l.UserGroupsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(582),r=e(7),o=e(5),i=e(8),a=e(3),s=e(581),c=e(583),d=e(64),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,21,"li",[["class","list-group-item d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"div",[["appFlexCopy",""],["class","text-monospace password-wrapper"]],[[8,"innerHTML",1]],[[null,"copy"]],function(n,l,e){var u=!0;"copy"===l&&(u=!1!==t.ɵnov(n,5).onCopy()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.FlexCopyDirective,[t.ElementRef,r.PlatformUtilsService],null,null),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"button",[["class","btn btn-link"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy(n.context.$implicit.password)&&t);return t},null,null)),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"i",[["class","fa fa-lg fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,4,0,n(l,6,0,t.ɵnov(l.parent.parent,1),l.context.$implicit.password));n(l,4,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,2),l.context.$implicit.date,"medium"));n(l,9,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"copyPassword")),"");n(l,15,0,r)})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"ul",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(3,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.history)},null)}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noPasswordsInList"));n(l,1,0,e)})}function g(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[a.I18nService]),t.ɵpid(0,s.ColorPasswordPipe,[]),t.ɵpid(0,o.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,44,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,41,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,38,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(24,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(27,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(32,1),(n()(),t.ɵted(33,null,["\n ","\n "])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,4,"button",[["class","btn btn-outline-danger"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.clear()&&t);return t},null,null)),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,0,"i",[["class","fa fa-trash-o fa-lg fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,24,0,e.history.length),n(l,27,0,!e.history.length)},function(n,l){var e=t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l,0),"passwordHistory"));n(l,12,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"close")),"");n(l,15,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"close")),"");n(l,31,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"close"));n(l,33,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"clear")),"");n(l,38,0,i)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-generator-history",[],null,null,null,g,p)),t.ɵdid(1,114688,null,0,c.PasswordGeneratorHistoryComponent,[d.PasswordGenerationService,r.PlatformUtilsService,a.I18nService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PasswordGeneratorHistoryComponent=p,l.View_PasswordGeneratorHistoryComponent_0=g,l.View_PasswordGeneratorHistoryComponent_Host_0=m;var y=t.ɵccf("app-password-generator-history",c.PasswordGeneratorHistoryComponent,m,{},{},[]);l.PasswordGeneratorHistoryComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(28),c=e(27),d=e(89),p=e(46),f=e(475),v=e(4),h=e(6),g=e(13),m=e(22),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,63,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,25,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(32,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(33,0,["",""])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,41)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,41).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,41)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,41)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(41,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(42,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(45,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(47,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(48,81920,null,0,d.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(49,81920,null,0,p.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,8,"button",[["class","btn btn-danger btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["",""])),t.ɵppd(61,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,32,0,"warning");n(l,42,0,"");n(l,45,0,"MasterPasswordHash",e.masterPassword);n(l,48,0,"");n(l,49,0,"")},function(n,l){var e=l.component;n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"purgeVault"));n(l,14,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,r);var o=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),e.organizationId?"purgeOrgVaultDesc":"purgeVaultDesc"));n(l,28,0,o);var i=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"purgeVaultWarning"));n(l,33,0,i);var a=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"masterPass"));n(l,37,0,a),n(l,40,0,t.ɵnov(l,42).required?"":null,t.ɵnov(l,47).ngClassUntouched,t.ɵnov(l,47).ngClassTouched,t.ɵnov(l,47).ngClassPristine,t.ɵnov(l,47).ngClassDirty,t.ɵnov(l,47).ngClassValid,t.ɵnov(l,47).ngClassInvalid,t.ɵnov(l,47).ngClassPending),n(l,54,0,t.ɵnov(l,5).loading);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,56,0,n(l,57,0,t.ɵnov(l,0),"loading")),"");n(l,56,0,s);var c=t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l,0),"purgeVault"));n(l,60,0,c);var d=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"close"));n(l,65,0,d)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-purge-vault",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,f.PurgeVaultComponent,[v.ApiService,r.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.Router],null,null)],null,null)}l.RenderType_PurgeVaultComponent=C,l.View_PurgeVaultComponent_0=b,l.View_PurgeVaultComponent_Host_0=w;var S=t.ɵccf("app-purge-vault",f.PurgeVaultComponent,w,{organizationId:"organizationId"},{},[]);l.PurgeVaultComponentNgFactory=S},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(12),r=e(103),o=e(5),i=e(10),a=e(8),s=e(3),c=e(15),d=e(14),p=e(561),f=e(45),v=e(7),h=e(9),g=e(23),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.cipher.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"noOrganizationsList"));n(l,1,0,e)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵangular_packages_forms_forms_s,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-link btn-sm py-0"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.selectAll(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"selectAll"));n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"unselectAll"));n(l,7,0,u)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"div",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList"));n(l,1,0,e)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"tr",[],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.check(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"td",[["class","table-list-checkbox"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,6,"input",[["appStopProp",""],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"],[null,"click"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,5).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,5).onTouched()&&u);"click"===l&&(u=!1!==t.ɵnov(n,10).onClick(e)&&u);"ngModelChange"===l&&(u=!1!==(n.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(7,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(9,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),t.ɵdid(10,16384,null,0,r.StopPropDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,t.ɵinlineInterpolate(1,"Collection[",l.context.index,"].Checked"),l.context.$implicit.checked)},function(n,l){n(l,4,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,14,0,l.context.$implicit.name)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(5,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.collections)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,39,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"label",[["for","organization"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,9,"select",[["class","form-control"],["id","organization"],["name","OrganizationId"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,13).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,13).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.organizationId=e)&&u);"change"===l&&(u=!1!==r.filterCollections()&&u);return u},null,null)),t.ɵdid(13,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(15,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[6,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(17,16384,null,0,u.NgControlStatus,[[4,u.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(20,278528,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,8,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(38,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,15,0,"OrganizationId",e.organizationId),n(l,20,0,e.organizations),n(l,31,0,e.collections&&e.collections.length),n(l,35,0,!e.collections||!e.collections.length),n(l,38,0,e.collections&&e.collections.length)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"shareDesc"));n(l,3,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"organization"));n(l,9,0,u),n(l,12,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending);var r=t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"collections"));n(l,27,0,r)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"button",[["class","btn btn-primary btn-submit manual"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{loading:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=n(l,2,0,t.ɵnov(l.parent,5).loading);n(l,1,0,"btn btn-primary btn-submit manual",e)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l.parent,5).loading||!e.canSave);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"loading")),"");n(l,4,0,u);var r=t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"save"));n(l,8,0,r)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["class","btn btn-primary"],["href","#"],["routerLink","/settings/create-organization"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,null,0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],function(n,l){n(l,1,0,"/settings/create-organization")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href);var e=t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"newOrganization"));n(l,2,0,e)})}function P(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[s.I18nService]),(n()(),t.ɵeld(1,0,null,null,49,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,46,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,43,"form",[["class","modal-content"],["novalidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,u.ɵangular_packages_forms_forms_bh,[],null,null),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[[4,u.ControlContainer]],null,null),t.ɵdid(10,540672,null,0,c.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["\n ","\n "])),t.ɵppd(16,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(18,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(33,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,12,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(38,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(41,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,3,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(44,1),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.formPromise),n(l,18,0,e.cipher),n(l,30,0,!e.organizations||!e.organizations.length),n(l,33,0,e.organizations&&e.organizations.length),n(l,38,0,e.organizations&&e.organizations.length),n(l,41,0,!e.organizations||!e.organizations.length)},function(n,l){n(l,5,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"share"));n(l,15,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"close")),"");n(l,21,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"cancel")),"");n(l,43,0,r);var o=t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"cancel"));n(l,45,0,o)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-share",[],null,null,null,P,m)),t.ɵdid(1,245760,null,0,p.ShareComponent,[f.CollectionService,v.PlatformUtilsService,s.I18nService,h.UserService,g.CipherService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ShareComponent=m,l.View_ShareComponent_0=P,l.View_ShareComponent_Host_0=O;var T=t.ɵccf("app-vault-share",p.ShareComponent,O,{cipherId:"cipherId",organizationId:"organizationId"},{onSharedCipher:"onSharedCipher"},[]);l.ShareComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(22),c=e(28),d=e(27),p=e(12),f=e(46),v=e(15),h=e(14),g=e(5),m=e(8),y=e(570),C=e(6),b=e(9),w=e(7),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"img",[["alt",""],["class","float-right"],["src","images/0.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["1. ",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorDesc"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorDownloadApp"));n(l,11,0,u)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,17,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(6,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(9,0,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,0,"img",[["alt",""],["class","float-right"],["src","images/0.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,3,0,"success","fa-check-circle",e)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,7,0,e);var u=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorReaddDesc"));n(l,9,0,u);var r=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorNeedApp"));n(l,15,0,r)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["2. ",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorScanCode"));n(l,3,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"hr",[],null,null,null,null,null))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["3. ",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,7)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,7).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,7)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,7)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.token=e)&&u);return u},null,null)),t.ɵdid(7,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(8,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(13,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(14,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,8,0,"");n(l,11,0,"Token",e.token);n(l,14,0,"")},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoStepAuthenticatorEnterCode"));n(l,3,0,e),n(l,6,0,t.ɵnov(l,8).required?"":null,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"enable"));n(l,1,0,e)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"disable"));n(l,1,0,e)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,88,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,p.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,p.ControlContainer,null,[p.NgForm]),t.ɵdid(3,16384,null,0,p.NgControlStatusGroup,[[4,p.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,62,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(9,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(12,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,28,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,7,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"i",[["class","fa-li fa fa-apple"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",":\n "])),t.ɵppd(20,1),(n()(),t.ɵeld(21,0,null,null,1,"a",[["href","https://itunes.apple.com/us/app/authy/id494168017?mt=8"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["Authy"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,7,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa-li fa fa-android"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",":\n "])),t.ɵppd(29,1),(n()(),t.ɵeld(30,0,null,null,1,"a",[["href","https://play.google.com/store/apps/details?id=com.authy.authy"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["Authy"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa-li fa fa-windows"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",":\n "])),t.ɵppd(38,1),(n()(),t.ɵeld(39,0,null,null,1,"a",[["href","https://www.microsoft.com/p/authenticator/9wzdncrfj3rj"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["Microsoft Authenticator"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(49,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(52,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,10,"p",[["class","text-center"]],null,null,null,null,null)),t.ɵdid(55,278528,null,0,g.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(56,{"mb-0":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,0,"canvas",[["id","qr"]],null,null,null,null,null)),(n()(),t.ɵeld(59,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,2,"code",[],[[8,"title",0]],null,null,null,null)),t.ɵppd(62,1),(n()(),t.ɵted(63,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(67,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(70,0,null,null,17,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(75,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(78,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(81,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(85,null,["",""])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,!e.enabled),n(l,12,0,e.enabled),n(l,49,0,!e.enabled),n(l,52,0,e.enabled);var t=n(l,56,0,e.enabled);n(l,55,0,"text-center",t),n(l,67,0,!e.enabled),n(l,78,0,!e.enabled),n(l,81,0,e.enabled)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var u=t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent,0),"iosDevices"));n(l,19,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,0),"androidDevices"));n(l,28,0,r);var o=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"windowsDevices"));n(l,37,0,o);var i=t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l.parent,0),"twoStepAuthenticatorAppsRecommended"));n(l,45,0,i);var a=t.ɵinlineInterpolate(1,"",t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"key")),"");n(l,61,0,a),n(l,63,0,e.key),n(l,72,0,t.ɵnov(l,0).loading);var s=t.ɵinlineInterpolate(1,"",t.ɵunv(l,74,0,n(l,75,0,t.ɵnov(l.parent,0),"loading")),"");n(l,74,0,s);var c=t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l.parent,0),"close"));n(l,85,0,c)})}function E(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,31,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,28,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,25,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,16,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,6,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(26,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(29,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,26,0,!e.authed),n(l,29,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"authenticatorAppTitle"));n(l,13,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,r)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-authenticator",[],null,null,null,E,S)),t.ɵdid(1,245760,null,0,y.TwoFactorAuthenticatorComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.UserService,w.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorAuthenticatorComponent=S,l.View_TwoFactorAuthenticatorComponent_0=E,l.View_TwoFactorAuthenticatorComponent_Host_0=V;var x=t.ɵccf("app-two-factor-authenticator",y.TwoFactorAuthenticatorComponent,V,{},{onUpdated:"onUpdated"},[]);l.TwoFactorAuthenticatorComponentNgFactory=x},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(22),c=e(28),d=e(27),p=e(12),f=e(46),v=e(15),h=e(14),g=e(5),m=e(8),y=e(478),C=e(6),b=e(7),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"img",[["alt",""],["class","float-right ml-3"],["src","images/2.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",":"])),t.ɵppd(12,1),(n()(),t.ɵted(13,null,[" ","\n "])),(n()(),t.ɵeld(14,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",":"])),t.ɵppd(18,1),(n()(),t.ɵted(19,null,[" ","\n "])),(n()(),t.ɵeld(20,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",":"])),t.ɵppd(24,1),(n()(),t.ɵted(25,null,[" ","\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,3,0,"success","fa-check-circle",e)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,5,0,u);var r=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoIntegrationKey"));n(l,11,0,r),n(l,13,0,e.ikey);var o=t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoSecretKey"));n(l,17,0,o),n(l,19,0,e.skey);var i=t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoApiHostname"));n(l,23,0,i),n(l,25,0,e.host)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,59,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"img",[["alt",""],["class","float-right ml-3"],["src","images/2.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","ikey"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","ikey"],["name","IntegrationKey"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.ikey=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(21,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(22,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","skey"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,8,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control"],["id","skey"],["name","SecretKey"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.skey=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(33,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(36,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(38,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(39,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,16,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"label",[["for","host"]],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,9,"input",[["appInputVerbatim",""],["class","form-control"],["id","host"],["name","Host"],["required",""],["type","text"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,49)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,49).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,49)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,49)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.host=e)&&u);return u},null,null)),t.ɵdid(49,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(50,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(53,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(55,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(56,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),t.ɵppd(57,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,"");n(l,19,0,"IntegrationKey",e.ikey);n(l,22,0,"");n(l,33,0,"");n(l,36,0,"SecretKey",e.skey);n(l,39,0,"");n(l,50,0,"");n(l,53,0,"Host",e.host);n(l,56,0,"")},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoDesc"));n(l,5,0,e);var u=t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoIntegrationKey"));n(l,11,0,u),n(l,14,0,t.ɵnov(l,16).required?"":null,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoSecretKey"));n(l,28,0,r),n(l,31,0,t.ɵnov(l,33).required?"":null,t.ɵnov(l,38).ngClassUntouched,t.ɵnov(l,38).ngClassTouched,t.ɵnov(l,38).ngClassPristine,t.ɵnov(l,38).ngClassDirty,t.ɵnov(l,38).ngClassValid,t.ɵnov(l,38).ngClassInvalid,t.ɵnov(l,38).ngClassPending);var o=t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l.parent.parent,0),"twoFactorDuoApiHostname"));n(l,45,0,o);var i=t.ɵinlineInterpolate(1,"",t.ɵunv(l,48,0,n(l,57,0,t.ɵnov(l.parent.parent,0),"ex"))," api-xxxxxxxx.duosecurity.com");n(l,48,0,i,t.ɵnov(l,50).required?"":null,t.ɵnov(l,55).ngClassUntouched,t.ɵnov(l,55).ngClassTouched,t.ɵnov(l,55).ngClassPristine,t.ɵnov(l,55).ngClassDirty,t.ɵnov(l,55).ngClassValid,t.ɵnov(l,55).ngClassInvalid,t.ɵnov(l,55).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"enable"));n(l,1,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"disable"));n(l,1,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,33,"form",[["autocomplete","off"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,p.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,p.ControlContainer,null,[p.NgForm]),t.ɵdid(3,16384,null,0,p.NgControlStatusGroup,[[4,p.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(9,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(12,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,17,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(23,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(26,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,e.enabled),n(l,12,0,!e.enabled),n(l,23,0,!e.enabled),n(l,26,0,e.enabled)},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,17,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent,0),"loading")),"");n(l,19,0,e);var u=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent,0),"close"));n(l,30,0,u)})}function P(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,30,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,27,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,24,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["Duo"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(25,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(28,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,25,0,!e.authed),n(l,28,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-duo",[],null,null,null,P,w)),t.ɵdid(1,49152,null,0,y.TwoFactorDuoComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.PlatformUtilsService],null,null)],null,null)}l.RenderType_TwoFactorDuoComponent=w,l.View_TwoFactorDuoComponent_0=P,l.View_TwoFactorDuoComponent_Host_0=O;var T=t.ɵccf("app-two-factor-duo",y.TwoFactorDuoComponent,O,{},{onUpdated:"onUpdated"},[]);l.TwoFactorDuoComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(22),c=e(28),d=e(27),p=e(12),f=e(46),v=e(15),h=e(14),g=e(5),m=e(8),y=e(571),C=e(6),b=e(7),w=e(9),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(3,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(4,1),(n()(),t.ɵted(5,0,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",":"])),t.ɵppd(10,1),(n()(),t.ɵted(11,null,[" ","\n "]))],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,3,0,"success","fa-check-circle",e)},function(n,l){var e=l.component,u=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,5,0,u);var r=t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"email"));n(l,9,0,r),n(l,11,0,e.email)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","text-success ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,2)],null,function(n,l){var e=l.component,u=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"verificationCodeEmailSent",e.sentEmail));n(l,1,0,u)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,61,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"p",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"span",[["class","mr-3"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"img",[["alt",""],["class","float-right ml-auto"],["src","images/1.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["1. ",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appInputVerbatim","false"],["class","form-control"],["id","email"],["inputmode","email"],["name","Email"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.email=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(24,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(25,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","mb-3 d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,[["sendBtn",1]],null,9,"button",[["class","btn btn-outline-primary btn-sm btn-submit align-self-start"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.sendEmail()&&t);return t},null,null)),t.ɵdid(31,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(42,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["2. ",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,52)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,52)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,52)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.token=e)&&u);return u},null,null)),t.ɵdid(52,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(53,16384,null,0,p.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,p.NG_VALIDATORS,function(n){return[n]},[p.RequiredValidator]),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(56,671744,null,0,p.NgModel,[[2,p.ControlContainer],[6,p.NG_VALIDATORS],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(58,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(59,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,19,0,"");n(l,22,0,"Email",e.email);n(l,25,0,"false"),n(l,31,0,e.emailPromise),n(l,42,0,e.sentEmail);n(l,53,0,"");n(l,56,0,"Token",e.token);n(l,59,0,"")},function(n,l){var e=t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"twoFactorEmailDesc"));n(l,5,0,e);var u=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"twoFactorEmailEnterEmail"));n(l,14,0,u),n(l,17,0,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,30,0,t.ɵnov(l,30).loading);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,33,0,r);var o=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"sendEmail"));n(l,37,0,o);var i=t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent.parent,0),"twoFactorEmailEnterCode"));n(l,48,0,i),n(l,51,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"enable"));n(l,1,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"disable"));n(l,1,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,33,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,p.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,p.ControlContainer,null,[p.NgForm]),t.ɵdid(3,16384,null,0,p.NgControlStatusGroup,[[4,p.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(9,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(12,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,17,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(23,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(26,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,e.enabled),n(l,12,0,!e.enabled),n(l,23,0,!e.enabled),n(l,26,0,e.enabled)},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,17,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent,0),"loading")),"");n(l,19,0,e);var u=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent,0),"close"));n(l,30,0,u)})}function T(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,31,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,28,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,25,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,16,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,6,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(26,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(29,16384,null,0,g.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,26,0,!e.authed),n(l,29,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"emailTitle"));n(l,13,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,r)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-email",[],null,null,null,T,S)),t.ɵdid(1,49152,null,0,y.TwoFactorEmailComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.PlatformUtilsService,w.UserService],null,null)],null,null)}l.RenderType_TwoFactorEmailComponent=S,l.View_TwoFactorEmailComponent_0=T,l.View_TwoFactorEmailComponent_Host_0=N;var E=t.ɵccf("app-two-factor-email",y.TwoFactorEmailComponent,N,{},{onUpdated:"onUpdated"},[]);l.TwoFactorEmailComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(41),r=e(8),o=e(3),i=e(5),a=e(540),s=e(98),c=e(10),d=e(7),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"a",[["appStopClick",""],["class","list-group-item list-group-item-action"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==r.choose(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"img",[["alt",""],["class","pull-right"]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(7,null,["\n ","\n "]))],null,function(n,l){n(l,3,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,6,0,l.context.$implicit.name),n(l,7,0,l.context.$implicit.description)})}function v(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,43,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,40,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,37,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,13,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(24,278528,null,0,i.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,7,"a",[["appStopClick",""],["class","list-group-item list-group-item-action"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,27).onClick(e)&&u);"click"===l&&(u=!1!==r.recover()&&u);return u},null,null)),t.ɵdid(27,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,1),(n()(),t.ɵted(32,null,["\n ","\n "])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,5,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,24,0,l.component.providers)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepOptions"));n(l,10,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"close")),"");n(l,13,0,u);var r=t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"recoveryCodeTitle"));n(l,30,0,r);var o=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"recoveryCodeDesc"));n(l,32,0,o);var i=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"close"));n(l,39,0,i)})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-options",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,a.TwoFactorOptionsComponent,[s.AuthService,c.Router,o.I18nService,d.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorOptionsComponent=p,l.View_TwoFactorOptionsComponent_0=v,l.View_TwoFactorOptionsComponent_Host_0=h;var g=t.ɵccf("app-two-factor-options",a.TwoFactorOptionsComponent,h,{},{onProviderSelected:"onProviderSelected",onRecoverSelected:"onRecoverSelected"},[]);l.TwoFactorOptionsComponentNgFactory=g},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(22),c=e(5),d=e(8),p=e(572),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"code",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){var e=l.component,u=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoFactorRecoveryYourCode"));n(l,3,0,u),n(l,7,0,e.code)})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,null,null,null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"twoFactorRecoveryNoCode"));n(l,1,0,e)})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.print()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"printCode"));n(l,1,0,e)})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","modal-body text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(5,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(8,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,8,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(14,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,e.code),n(l,8,0,!e.code),n(l,14,0,e.code)},function(n,l){var e=t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent,0),"close"));n(l,17,0,e)})}function C(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,31,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,28,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,25,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,16,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,6,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(26,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,c.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,26,0,!e.authed),n(l,29,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"recoveryCodeTitle"));n(l,13,0,u);var r=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,r)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-recovery",[],null,null,null,C,f)),t.ɵdid(1,49152,null,0,p.TwoFactorRecoveryComponent,[i.I18nService],null,null)],null,null)}l.RenderType_TwoFactorRecoveryComponent=f,l.View_TwoFactorRecoveryComponent_0=C,l.View_TwoFactorRecoveryComponent_Host_0=b;var w=t.ɵccf("app-two-factor-recovery",p.TwoFactorRecoveryComponent,b,{},{},[]);l.TwoFactorRecoveryComponentNgFactory=w},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(22),c=e(28),d=e(27),p=e(5),f=e(41),v=e(15),h=e(14),g=e(12),m=e(8),y=e(573),C=e(6),b=e(7),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,1,0,"success","fa-check-circle",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,3,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"u2fkeyX",l.parent.context.index+1));n(l,1,0,e)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"i",[["class","fa fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{"fa-check text-success":0,"fa-exclamation-triangle text-warning":1}),t.ɵppd(3,1)],function(n,l){var e=n(l,2,0,!l.parent.context.$implicit.compromised,l.parent.context.$implicit.compromised);n(l,1,0,"fa fa-fw",e)},function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,3,0,t.ɵnov(l.parent.parent.parent,0),l.parent.context.$implicit.compromised?"keyCompromised":"enabled")),"");n(l,0,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spin fa-spinner text-muted fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent.parent,0),"loading")),"");n(l,0,0,e)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n -\n "])),(n()(),t.ɵeld(5,0,null,null,3,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,r=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==r.remove(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(6,16384,null,0,f.StopClickDirective,[],null,null),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,t.ɵnov(l.parent,0).loading)},function(n,l){var e=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"remove"));n(l,7,0,e)})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["removeKeyBtn",1]],null,16,"li",[],null,null,null,null,null)),t.ɵdid(1,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa-li fa fa-key"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(12,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(15,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,l.context.$implicit.removePromise),n(l,6,0,!l.context.$implicit.configured||!l.context.$implicit.name),n(l,9,0,l.context.$implicit.configured&&l.context.$implicit.name),n(l,12,0,l.context.$implicit.configured&&!t.ɵnov(l,0).loading),n(l,15,0,e.keysConfiguredCount>1&&l.context.$implicit.configured)},null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","...\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"twoFactorU2fWaiting"));n(l,3,0,e)})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-check-circle text-success"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"twoFactorU2fClickSave"));n(l,3,0,e)})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-warning text-danger"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1)],null,function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"twoFactorU2fProblemReadingTryAgain"));n(l,3,0,e)})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(3,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(6,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.u2fListening),n(l,6,0,e.u2fResponse),n(l,9,0,e.u2fError)},null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,0,0,e)})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){var e=t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"save"));n(l,1,0,e)})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["disableBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.disable()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.disablePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"disableAllKeys"));n(l,7,0,u)})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,106,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,g.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,g.ControlContainer,null,[g.NgForm]),t.ɵdid(3,16384,null,0,g.NgControlStatusGroup,[[4,g.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,80,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(9,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,13,"app-callout",[["type","warning"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(12,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(14,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(18,0,null,0,5,"ul",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,0,"img",[["alt",""],["class","float-right ml-5"],["src","images/4.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,4,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(31,278528,null,0,p.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",":"])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,17,"ol",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.name=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,g.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,g.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,g.NG_VALUE_ACCESSOR,function(n){return[n]},[g.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,g.NgModel,[[2,g.ControlContainer],[8,null],[8,null],[6,g.NG_VALUE_ACCESSOR]],{name:[0,"name"],isDisabled:[1,"isDisabled"],model:[2,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,g.NgControl,null,[g.NgModel]),t.ɵdid(72,16384,null,0,g.NgControlStatus,[[4,g.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,[["readKeyBtn",1]],null,3,"button",[["class","btn btn-outline-secondary mr-2"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.readKey()&&t);return t},null,null)),t.ɵdid(77,540672,null,0,v.ApiActionDirective,[t.ElementRef,h.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(78,null,["\n ","\n "])),t.ɵppd(79,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(82,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(85,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,17,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,7,"button",[["class","btn btn-primary"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(93,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(96,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(100,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(102,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(103,null,["",""])),t.ɵppd(104,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,e.enabled);n(l,12,0,"warning"),n(l,31,0,e.keys);n(l,70,0,"Name",!e.keyIdAvailable,e.name),n(l,77,0,e.challengePromise),n(l,82,0,t.ɵnov(l,76).loading),n(l,85,0,!t.ɵnov(l,76).loading),n(l,93,0,t.ɵnov(l,0).loading),n(l,96,0,!t.ɵnov(l,0).loading),n(l,100,0,e.enabled)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var u=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"twoFactorU2fWarning"));n(l,15,0,u);var r=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"twoFactorU2fSupportWeb"));n(l,21,0,r);var o=t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"twoFactorU2fAdd"));n(l,37,0,o);var i=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent,0),"twoFactorU2fGiveName"));n(l,43,0,i);var a=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent,0),"twoFactorU2fPlugInReadKey"));n(l,47,0,a);var s=t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent,0),"twoFactorU2fTouchButton"));n(l,51,0,s);var c=t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"twoFactorU2fSaveForm"));n(l,55,0,c);var d=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l.parent,0),"name"));n(l,64,0,d),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,76,0,t.ɵnov(l,76).loading||e.u2fListening||!e.keyIdAvailable);var p=t.ɵunv(l,78,0,n(l,79,0,t.ɵnov(l.parent,0),"readKey"));n(l,78,0,p),n(l,90,0,t.ɵnov(l,0).loading||!e.u2fResponse);var f=t.ɵunv(l,103,0,n(l,104,0,t.ɵnov(l.parent,0),"close"));n(l,103,0,f)})}function L(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,30,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,27,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,24,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FIDO U2F"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(25,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(28,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,25,0,!e.authed),n(l,28,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u)})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-u2f",[],null,null,null,L,w)),t.ɵdid(1,245760,null,0,y.TwoFactorU2fComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.PlatformUtilsService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorU2fComponent=w,l.View_TwoFactorU2fComponent_0=L,l.View_TwoFactorU2fComponent_Host_0=z;var j=t.ɵccf("app-two-factor-u2f",y.TwoFactorU2fComponent,z,{},{onUpdated:"onUpdated"},[]);l.TwoFactorU2fComponentNgFactory=j},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(198),r=e(175),o=e(4),i=e(3),a=e(13),s=e(22),c=e(28),d=e(27),p=e(12),f=e(46),v=e(5),h=e(15),g=e(14),m=e(8),y=e(574),C=e(6),b=e(7),w=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-two-factor-verify",[],null,[[null,"onAuthed"]],function(n,l,e){var t=!0,u=n.component;"onAuthed"===l&&(t=!1!==u.auth(e)&&t);return t},u.View_TwoFactorVerifyComponent_0,u.RenderType_TwoFactorVerifyComponent)),t.ɵdid(1,49152,null,0,r.TwoFactorVerifyComponent,[o.ApiService,i.I18nService,a.ToasterService,s.CryptoService],{type:[0,"type"],organizationId:[1,"organizationId"]},{onAuthed:"onAuthed"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,e.type,e.organizationId)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["icon","fa-check-circle"],["type","success"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"],icon:[1,"icon"],title:[2,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,1)],function(n,l){var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,2,n(l,2,0,t.ɵnov(l.parent.parent,0),"enabled")),"");n(l,1,0,"success","fa-check-circle",e)},function(n,l){var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"twoStepLoginProviderEnabled"));n(l,3,0,e)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"input",[["appInputVerbatim",""],["autocomplete","new-password"],["class","form-control"],["type","password"]],[[8,"id",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0;"input"===l&&(u=!1!==t.ɵnov(n,1)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,1).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,1)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,1)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.key=e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(3,671744,null,0,p.NgModel,[[2,p.ControlContainer],[8,null],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(5,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),t.ɵdid(6,81920,null,0,f.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null)],function(n,l){n(l,3,0,t.ɵinlineInterpolate(1,"Key",l.parent.context.index+1,""),l.parent.context.$implicit.key);n(l,6,0,"")},function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"key",l.parent.context.index+1,""),t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"span",[["class","mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"button",[["class","btn btn-link text-danger ml-auto"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.remove(n.parent.context.$implicit)&&t);return t},null,null)),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,l.parent.context.$implicit.existingKey);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"remove")),"");n(l,5,0,e)})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"label",[],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(7,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(10,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,!l.context.$implicit.existingKey),n(l,10,0,l.context.$implicit.existingKey)},function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"key",l.context.index+1,""));var e=t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"yubikeyX",l.context.index+1));n(l,3,0,e)})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["disableBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.disable()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,h.ApiActionDirective,[t.ElementRef,g.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.disablePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading);var e=t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"");n(l,3,0,e);var u=t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"disableAllKeys"));n(l,7,0,u)})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,105,"form",[["autocomplete","off"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,p.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,p.ControlContainer,null,[p.NgForm]),t.ɵdid(3,16384,null,0,p.NgControlStatusGroup,[[4,p.ControlContainer]],null,null),t.ɵdid(4,540672,null,0,h.ApiActionDirective,[t.ElementRef,g.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,78,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(9,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,17,"app-callout",[["type","warning"]],null,null,null,c.View_CalloutComponent_0,c.RenderType_CalloutComponent)),t.ɵdid(12,114688,null,0,d.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(14,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(18,0,null,0,9,"ul",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"img",[["alt",""],["class","float-right"],["src","images/3.png"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(33,null,["",":"])),t.ɵppd(34,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,17,"ol",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"li",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,4,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(60,278528,null,0,v.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"strong",[["class","d-block mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,5,"input",[["class","form-check-input"],["id","nfc"],["name","Nfc"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,r=n.component;"change"===l&&(u=!1!==t.ɵnov(n,70).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,70).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(r.nfc=e)&&u);return u},null,null)),t.ɵdid(70,16384,null,0,p.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.CheckboxControlValueAccessor]),t.ɵdid(72,671744,null,0,p.NgModel,[[2,p.ControlContainer],[8,null],[8,null],[6,p.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(74,16384,null,0,p.NgControlStatus,[[4,p.NgControl]],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"label",[["class","form-check-label"],["for","nfc"]],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(82,null,["",""])),t.ɵppd(83,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(86,0,null,null,18,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(90,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(99,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(102,null,["",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise),n(l,9,0,e.enabled);n(l,12,0,"warning"),n(l,60,0,e.keys);n(l,72,0,"Nfc",e.nfc),n(l,99,0,e.enabled)},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending);var e=t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"twoFactorYubikeyWarning"));n(l,15,0,e);var u=t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"twoFactorYubikeySupportUsb"));n(l,21,0,u);var r=t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l.parent,0),"twoFactorYubikeySupportMobile"));n(l,25,0,r);var o=t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l.parent,0),"twoFactorYubikeyAdd"));n(l,33,0,o);var i=t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent,0),"twoFactorYubikeyPlugIn"));n(l,39,0,i);var a=t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent,0),"twoFactorYubikeySelectKey"));n(l,43,0,a);var s=t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent,0),"twoFactorYubikeyTouchButton"));n(l,47,0,s);var c=t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent,0),"twoFactorYubikeySaveForm"));n(l,51,0,c);var d=t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l.parent,0),"nfcSupport"));n(l,64,0,d),n(l,69,0,t.ɵnov(l,74).ngClassUntouched,t.ɵnov(l,74).ngClassTouched,t.ɵnov(l,74).ngClassPristine,t.ɵnov(l,74).ngClassDirty,t.ɵnov(l,74).ngClassValid,t.ɵnov(l,74).ngClassInvalid,t.ɵnov(l,74).ngClassPending);var p=t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent,0),"twoFactorYubikeySupportsNfc"));n(l,77,0,p);var f=t.ɵunv(l,82,0,n(l,83,0,t.ɵnov(l.parent,0),"twoFactorYubikeySupportsNfcDesc"));n(l,82,0,f),n(l,88,0,t.ɵnov(l,0).loading);var v=t.ɵinlineInterpolate(1,"",t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"loading")),"");n(l,90,0,v);var h=t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"save"));n(l,94,0,h);var g=t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"close"));n(l,102,0,g)})}function O(n){return t.ɵvid(0,[t.ɵpid(0,m.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,30,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,27,"div",[["class","modal-dialog modal-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,24,"div",[["class","modal-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,15,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,5,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),t.ɵppd(11,1),(n()(),t.ɵeld(12,0,null,null,1,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["YubiKey"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(25,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(28,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,25,0,!e.authed),n(l,28,0,e.authed)},function(n,l){var e=t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"));n(l,10,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"close")),"");n(l,16,0,u)})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-yubikey",[],null,null,null,O,w)),t.ɵdid(1,49152,null,0,y.TwoFactorYubiKeyComponent,[o.ApiService,i.I18nService,C.Angulartics2,a.ToasterService,b.PlatformUtilsService],null,null)],null,null)}l.RenderType_TwoFactorYubiKeyComponent=w,l.View_TwoFactorYubiKeyComponent_0=O,l.View_TwoFactorYubiKeyComponent_Host_0=T;var N=t.ɵccf("app-two-factor-yubikey",y.TwoFactorYubiKeyComponent,T,{},{onUpdated:"onUpdated"},[]);l.TwoFactorYubiKeyComponentNgFactory=N},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(8),r=e(3),o=e(12),i=e(15),a=e(14),s=e(28),c=e(27),d=e(89),p=e(46),f=e(548),v=e(4),h=e(6),g=e(13),m=e(22),y=e(20),C=e(65),b=e(58),w=e(23),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,74,"div",[["class","modal fade"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,71,"div",[["class","modal-dialog"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,[["form",1]],null,68,"form",[["class","modal-content"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,r=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,6).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,6).onReset()&&u);"ngSubmit"===l&&(u=!1!==r.submit()&&u);return u},null,null)),t.ɵdid(6,4210688,null,0,o.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,o.ControlContainer,null,[o.NgForm]),t.ɵdid(8,16384,null,0,o.NgControlStatusGroup,[[4,o.ControlContainer]],null,null),t.ɵdid(9,540672,null,0,i.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,12,"div",[["class","modal-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"h2",[["class","modal-title"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,5,"button",[["class","close"],["data-dismiss","modal"],["type","button"]],[[1,"aria-label",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,1,"span",[["aria-hidden","true"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["×"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,30,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,7,"p",[],null,null,null,null,null)),(n()(),t.ɵted(28,null,[""," ","\n "])),t.ɵppd(29,1),t.ɵppd(30,1),(n()(),t.ɵeld(31,0,null,null,2,"a",[["href","https://help.bitwarden.com/article/update-encryption-key/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(37,114688,null,0,c.CalloutComponent,[r.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(38,0,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(42,null,["",""])),t.ɵppd(43,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,9,"input",[["appAutofocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,r=n.component;"input"===l&&(u=!1!==t.ɵnov(n,46)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,46).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,46)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,46)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(r.masterPassword=e)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,o.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,o.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(47,16384,null,0,o.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,o.NG_VALIDATORS,function(n){return[n]},[o.RequiredValidator]),t.ɵprd(1024,null,o.NG_VALUE_ACCESSOR,function(n){return[n]},[o.DefaultValueAccessor]),t.ɵdid(50,671744,null,0,o.NgModel,[[2,o.ControlContainer],[6,o.NG_VALIDATORS],[8,null],[6,o.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,o.NgControl,null,[o.NgModel]),t.ɵdid(52,16384,null,0,o.NgControlStatus,[[4,o.NgControl]],null,null),t.ɵdid(53,81920,null,0,d.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵdid(54,81920,null,0,p.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(65,null,["",""])),t.ɵppd(66,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(70,null,["",""])),t.ɵppd(71,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,9,0,e.formPromise);n(l,37,0,"warning");n(l,47,0,"");n(l,50,0,"MasterPasswordHash",e.masterPassword);n(l,53,0,"");n(l,54,0,"")},function(n,l){n(l,5,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending);var e=t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"updateEncryptionKey"));n(l,14,0,e);var u=t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"close")),"");n(l,17,0,u);var r=t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"updateEncryptionKeyShortDesc")),o=t.ɵunv(l,28,1,n(l,30,0,t.ɵnov(l,0),"updateEncryptionKeyDesc"));n(l,28,0,r,o);var i=t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"learnMore"));n(l,32,0,i);var a=t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"updateEncryptionKeyWarning"));n(l,38,0,a);var s=t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l,0),"masterPass"));n(l,42,0,s),n(l,45,0,t.ɵnov(l,47).required?"":null,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending),n(l,59,0,t.ɵnov(l,5).loading);var c=t.ɵinlineInterpolate(1,"",t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"loading")),"");n(l,61,0,c);var d=t.ɵunv(l,65,0,n(l,66,0,t.ɵnov(l,0),"updateEncryptionKey"));n(l,65,0,d);var p=t.ɵunv(l,70,0,n(l,71,0,t.ɵnov(l,0),"close"));n(l,70,0,p)})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-update-key",[],null,null,null,_,S)),t.ɵdid(1,49152,null,0,f.UpdateKeyComponent,[v.ApiService,r.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService,C.SyncService,b.FolderService,w.CipherService],null,null)],null,null)}l.RenderType_UpdateKeyComponent=S,l.View_UpdateKeyComponent_0=_,l.View_UpdateKeyComponent_Host_0=I;var R=t.ɵccf("app-update-key",f.UpdateKeyComponent,I,{},{},[]);l.UpdateKeyComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(941),r=e(118),o=e(13),i=e(10),a=e(536),s=e(447),c=e(100),d=e(9),p=e(73),f=e(58),v=e(449),h=e(65),g=e(64),m=e(23),y=e(98),C=e(6),b=e(3),w=e(7),S=e(134),_=e(63),I=e(22),R=e(45),k=e(43),A=e(135),P=e(448),O=e(231),T=t.ɵcrt({encapsulation:2,styles:[],data:{}});function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"toaster-container",[],null,null,null,u.View_ToasterContainerComponent_0,u.RenderType_ToasterContainerComponent)),t.ɵdid(1,245760,null,0,r.ToasterContainerComponent,[o.ToasterService,t.ChangeDetectorRef,t.NgZone],{toasterconfig:[0,"toasterconfig"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(3,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(4,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,1,0,l.component.toasterConfig),n(l,4,0)},null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-root",[],null,null,null,N,T)),t.ɵdid(1,245760,null,0,a.AppComponent,[s.Angulartics2GoogleAnalytics,c.BroadcasterService,d.UserService,p.TokenService,f.FolderService,v.SettingsService,h.SyncService,g.PasswordGenerationService,m.CipherService,y.AuthService,i.Router,C.Angulartics2,o.ToasterService,b.I18nService,w.PlatformUtilsService,t.NgZone,S.LockService,_.StorageService,I.CryptoService,R.CollectionService,k.DomSanitizer,A.SearchService,P.NotificationsService,O.RouterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AppComponent=T,l.View_AppComponent_0=N,l.View_AppComponent_Host_0=E;var V=t.ɵccf("app-root",a.AppComponent,E,{},{},[]);l.AppComponentNgFactory=V},,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&l.indexOf("]")>-1){var u=l.lastIndexOf(".");t=l.substr(0,u>-1?u:l.length)+": "}n.push(t+e)})},e=this;for(var t in this.validationErrors)l(t);return n},l}(e(34).BaseResponse);l.ErrorResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.type=e.getResponseProperty("Type"),e.userId=e.getResponseProperty("UserId"),e.organizationId=e.getResponseProperty("OrganizationId"),e.cipherId=e.getResponseProperty("CipherId"),e.collectionId=e.getResponseProperty("CollectionId"),e.groupId=e.getResponseProperty("GroupId"),e.organizationUserId=e.getResponseProperty("OrganizationUserId"),e.actingUserId=e.getResponseProperty("ActingUserId"),e.date=e.getResponseProperty("Date"),e.deviceType=e.getResponseProperty("DeviceType"),e.ipAddress=e.getResponseProperty("IpAddress"),e}return u(l,n),l}(e(34).BaseResponse);l.EventResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(34),o=e(277),i=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.organizationId=e.getResponseProperty("OrganizationId"),e.name=e.getResponseProperty("Name"),e.accessAll=e.getResponseProperty("AccessAll"),e.externalId=e.getResponseProperty("ExternalId"),e}return u(l,n),l}(r.BaseResponse);l.GroupResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;e.collections=[];var t=e.getResponseProperty("Collections");return null!=t&&(e.collections=t.map(function(n){return new o.SelectionReadOnlyResponse(n)})),e}return u(l,n),l}(i);l.GroupDetailsResponse=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.accessToken=l.access_token,e.expiresIn=l.expires_in,e.refreshToken=l.refresh_token,e.tokenType=l.token_type,e.privateKey=e.getResponseProperty("PrivateKey"),e.key=e.getResponseProperty("Key"),e.twoFactorToken=e.getResponseProperty("TwoFactorToken"),e}return u(l,n),l}(e(34).BaseResponse);l.IdentityTokenResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;e.twoFactorProviders2=new Map,e.twoFactorProviders=e.getResponseProperty("TwoFactorProviders");var t=e.getResponseProperty("TwoFactorProviders2");if(null!=t)for(var u in t)t.hasOwnProperty(u)&&e.twoFactorProviders2.set(parseInt(u,null),t[u]);return e}return u(l,n),l}(e(34).BaseResponse);l.IdentityTwoFactorResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l,e){var t=n.call(this,l)||this,u=t.getResponseProperty("Data");return t.data=null==u?[]:u.map(function(n){return new e(n)}),t.continuationToken=t.getResponseProperty("ContinuationToken"),t}return u(l,n),l}(e(34).BaseResponse);l.ListResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(625),o=e(626),i=function(n){function l(l){var e=n.call(this,l)||this;e.storageName=e.getResponseProperty("StorageName"),e.storageGb=e.getResponseProperty("StorageGb");var t=e.getResponseProperty("Subscription");e.subscription=null==t?null:new o.BillingSubscriptionResponse(t);var u=e.getResponseProperty("UpcomingInvoice");return e.upcomingInvoice=null==u?null:new o.BillingSubscriptionUpcomingInvoiceResponse(u),e.expiration=e.getResponseProperty("Expiration"),e}return u(l,n),l}(r.OrganizationResponse);l.OrganizationSubscriptionResponse=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(34),o=e(277),i=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.userId=e.getResponseProperty("UserId"),e.type=e.getResponseProperty("Type"),e.status=e.getResponseProperty("Status"),e.accessAll=e.getResponseProperty("AccessAll"),e}return u(l,n),l}(r.BaseResponse);l.OrganizationUserResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;return e.name=e.getResponseProperty("Name"),e.email=e.getResponseProperty("Email"),e.twoFactorEnabled=e.getResponseProperty("TwoFactorEnabled"),e}return u(l,n),l}(i);l.OrganizationUserUserDetailsResponse=a;var s=function(n){function l(l){var e=n.call(this,l)||this;e.collections=[];var t=e.getResponseProperty("Collections");return null!=t&&(e.collections=t.map(function(n){return new o.SelectionReadOnlyResponse(n)})),e}return u(l,n),l}(i);l.OrganizationUserDetailsResponse=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.kdf=e.getResponseProperty("Kdf"),e.kdfIterations=e.getResponseProperty("KdfIterations"),e}return u(l,n),l}(e(34).BaseResponse);l.PreloginResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.id=e.getResponseProperty("Id"),e.name=e.getResponseProperty("Name"),e.useGroups=e.getResponseProperty("UseGroups"),e.useDirectory=e.getResponseProperty("UseDirectory"),e.useEvents=e.getResponseProperty("UseEvents"),e.useTotp=e.getResponseProperty("UseTotp"),e.use2fa=e.getResponseProperty("Use2fa"),e.useApi=e.getResponseProperty("UseApi"),e.selfHost=e.getResponseProperty("SelfHost"),e.usersGetPremium=e.getResponseProperty("UsersGetPremium"),e.seats=e.getResponseProperty("Seats"),e.maxCollections=e.getResponseProperty("MaxCollections"),e.maxStorageGb=e.getResponseProperty("MaxStorageGb"),e.key=e.getResponseProperty("Key"),e.status=e.getResponseProperty("Status"),e.type=e.getResponseProperty("Type"),e.enabled=e.getResponseProperty("Enabled"),e}return u(l,n),l}(e(34).BaseResponse);l.ProfileOrganizationResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(34),o=e(621),i=e(622),a=e(623),s=e(624),c=e(627),d=function(n){function l(l){var e=n.call(this,l)||this;e.folders=[],e.collections=[],e.ciphers=[];var t=e.getResponseProperty("Profile");null!=t&&(e.profile=new c.ProfileResponse(t));var u=e.getResponseProperty("Folders");null!=u&&(e.folders=u.map(function(n){return new s.FolderResponse(n)}));var r=e.getResponseProperty("Collections");null!=r&&(e.collections=r.map(function(n){return new i.CollectionDetailsResponse(n)}));var d=e.getResponseProperty("Ciphers");null!=d&&(e.ciphers=d.map(function(n){return new o.CipherResponse(n)}));var p=e.getResponseProperty("Domains");return null!=p&&(e.domains=new a.DomainsResponse(p)),e}return u(l,n),l}(r.BaseResponse);l.SyncResponse=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enabled"),e.key=e.getResponseProperty("Key"),e}return u(l,n),l}(e(34).BaseResponse);l.TwoFactorAuthenticatorResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enabled"),e.host=e.getResponseProperty("Host"),e.secretKey=e.getResponseProperty("SecretKey"),e.integrationKey=e.getResponseProperty("IntegrationKey"),e}return u(l,n),l}(e(34).BaseResponse);l.TwoFactorDuoResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enabled"),e.email=e.getResponseProperty("Email"),e}return u(l,n),l}(e(34).BaseResponse);l.TwoFactorEmailResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enabled"),e.type=e.getResponseProperty("Type"),e}return u(l,n),l}(e(34).BaseResponse);l.TwoFactorProviderResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.code=e.getResponseProperty("Code"),e}return u(l,n),l}(e(34).BaseResponse);l.TwoFactorRecoverResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(34),o=function(n){function l(l){var e=n.call(this,l)||this;e.enabled=e.getResponseProperty("Enabled");var t=e.getResponseProperty("Keys");return e.keys=null==t?null:t.map(function(n){return new i(n)}),e}return u(l,n),l}(r.BaseResponse);l.TwoFactorU2fResponse=o;var i=function(n){function l(l){var e=n.call(this,l)||this;return e.name=e.getResponseProperty("Name"),e.id=e.getResponseProperty("Id"),e.compromised=e.getResponseProperty("Compromised"),e}return u(l,n),l}(r.BaseResponse);l.KeyResponse=i;var a=function(n){function l(l){var e=n.call(this,l)||this;return e.userId=e.getResponseProperty("UserId"),e.appId=e.getResponseProperty("AppId"),e.challenge=e.getResponseProperty("Challenge"),e.version=e.getResponseProperty("Version"),e}return u(l,n),l}(r.BaseResponse);l.ChallengeResponse=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.enabled=e.getResponseProperty("Enabled"),e.key1=e.getResponseProperty("Key1"),e.key2=e.getResponseProperty("Key2"),e.key3=e.getResponseProperty("Key3"),e.key4=e.getResponseProperty("Key4"),e.key5=e.getResponseProperty("Key5"),e.nfc=e.getResponseProperty("Nfc"),e}return u(l,n),l}(e(34).BaseResponse);l.TwoFactorYubiKeyResponse=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=function(n){function l(l){var e=n.call(this,l)||this;return e.userId=e.getResponseProperty("UserId"),e.publicKey=e.getResponseProperty("PublicKey"),e}return u(l,n),l}(e(34).BaseResponse);l.UserKeyResponse=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),l.throttle=function(n,l){return function(e,t,u){var r=u.value,o=new Map;return{value:function(){for(var e=this,t=[],u=0;u=n?s[n-1]():0===s.length&&(i.delete(a),0===i.size&&o.delete(e))};r.apply(e,t).then(function(n){return d(),n}).catch(function(n){throw d(),n}).then(l,u)};s.push(c),s.length<=n&&c()})}}}}},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.ids=null==n?[]:n}}();l.CipherBulkDeleteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.ids=null==n?[]:n,this.folderId=l}}();l.CipherBulkMoveRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(469),u=function(){return function(n,l){var e=this;null!=n&&(this.ciphers=[],n.forEach(function(n){e.ciphers.push(new t.CipherWithIdRequest(n))})),this.collectionIds=l}}();l.CipherBulkShareRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(194),u=function(){return function(n){this.cipher=new t.CipherRequest(n),this.collectionIds=n.collectionIds}}();l.CipherShareRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l,e){this.children=[],this.parent=e,this.node=n,this.node.name=l}}();l.TreeNode=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EncryptedObject=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentUrls=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(147),o=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{id:null,name:null},e,["id"]),t.revisionDate=null!=l.revisionDate?new Date(l.revisionDate):null,t)}return u(l,n),l.prototype.decrypt=function(){return this.decryptObj(new r.FolderView(this),{name:null},null)},l}(e(110).default);l.Folder=o},,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.password=n,this.date=l}}();l.GeneratedPasswordHistory=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.id,this.name=n.name,this.status=n.status,this.type=n.type,this.enabled=n.enabled,this.useGroups=n.useGroups,this.useDirectory=n.useDirectory,this.useEvents=n.useEvents,this.useTotp=n.useTotp,this.use2fa=n.use2fa,this.useApi=n.useApi,this.selfHost=n.selfHost,this.usersGetPremium=n.usersGetPremium,this.seats=n.seats,this.maxCollections=n.maxCollections,this.maxStorageGb=n.maxStorageGb}}();l.OrganizationData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(263),u=e(242),r=function(){function n(n){null!=n&&(this.id=n.id,this.name=n.name,this.status=n.status,this.type=n.type,this.enabled=n.enabled,this.useGroups=n.useGroups,this.useDirectory=n.useDirectory,this.useEvents=n.useEvents,this.useTotp=n.useTotp,this.use2fa=n.use2fa,this.useApi=n.useApi,this.selfHost=n.selfHost,this.usersGetPremium=n.usersGetPremium,this.seats=n.seats,this.maxCollections=n.maxCollections,this.maxStorageGb=n.maxStorageGb)}return Object.defineProperty(n.prototype,"canAccess",{get:function(){return this.type===u.OrganizationUserType.Owner||this.enabled&&this.status===t.OrganizationUserStatusType.Confirmed},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isManager",{get:function(){return this.type===u.OrganizationUserType.Manager||this.type===u.OrganizationUserType.Owner||this.type===u.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isAdmin",{get:function(){return this.type===u.OrganizationUserType.Owner||this.type===u.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isOwner",{get:function(){return this.type===u.OrganizationUserType.Owner},enumerable:!0,configurable:!0}),n}();l.Organization=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),r=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]=0?this.browserCache=o.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edge/")?this.browserCache=o.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=o.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=o.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=o.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=o.DeviceType.IEBrowser:this.browserCache=o.DeviceType.UnknownBrowser,this.browserCache)},n.prototype.getDeviceString=function(){return o.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},n.prototype.isFirefox=function(){return this.getDevice()===o.DeviceType.FirefoxBrowser},n.prototype.isChrome=function(){return this.getDevice()===o.DeviceType.ChromeBrowser},n.prototype.isEdge=function(){return this.getDevice()===o.DeviceType.EdgeBrowser},n.prototype.isOpera=function(){return this.getDevice()===o.DeviceType.OperaBrowser},n.prototype.isVivaldi=function(){return this.getDevice()===o.DeviceType.VivaldiBrowser},n.prototype.isSafari=function(){return this.getDevice()===o.DeviceType.SafariBrowser},n.prototype.isIE=function(){return this.getDevice()===o.DeviceType.IEBrowser},n.prototype.isMacAppStore=function(){return!1},n.prototype.analyticsId=function(){return"UA-81915606-3"},n.prototype.isViewOpen=function(){return!1},n.prototype.lockTimeout=function(){return null},n.prototype.launchUri=function(n,l){var e=document.createElement("a");e.href=n,e.target="_blank",e.rel="noreferrer noopener",e.classList.add("d-none"),document.body.appendChild(e),e.click(),document.body.removeChild(e)},n.prototype.saveFile=function(n,l,e,t){var u=null,r=null,o=t.toLowerCase(),i=!0;if(o.endsWith(".pdf")?(r="application/pdf",i=!1):o.endsWith(".xlsx")?r="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":o.endsWith(".docx")?r="application/vnd.openxmlformats-officedocument.wordprocessingml.document":o.endsWith(".pptx")?r="application/vnd.openxmlformats-officedocument.presentationml.presentation":o.endsWith(".csv")?r="text/csv":o.endsWith(".png")?r="image/png":o.endsWith(".jpg")||o.endsWith(".jpeg")?r="image/jpeg":o.endsWith(".gif")&&(r="image/gif"),null!=r&&null==(e=e||{}).type&&(e.type=r),u=null==e||this.isIE()?new Blob([l]):new Blob([l],e),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(u,t);else{var a=n.document.createElement("a");i?a.download=t:a.target="_blank",a.href=n.URL.createObjectURL(u),a.style.position="fixed",n.document.body.appendChild(a),a.click(),n.document.body.removeChild(a)}},n.prototype.getApplicationVersion=function(){return"2.9.0"},n.prototype.supportsU2f=function(n){return null!=n&&null!=n.u2f||(this.isChrome()||(this.isOpera()||this.isVivaldi())&&!i.Utils.isMobileBrowser)},n.prototype.supportsDuo=function(){return!0},n.prototype.showToast=function(n,l,e,t){this.messagingService.send("showToast",{text:e,title:l,type:n,options:t})},n.prototype.showDialog=function(n,l,e,r,o){return t(this,void 0,void 0,function(){var t,i,s,c,d,p;return u(this,function(u){switch(u.label){case 0:if(t=[null==e?this.i18nService.t("ok"):e],null!=r&&t.unshift(r),i=document.createElement("div"),null!=o){switch((s=document.createElement("i")).classList.add("swal-custom-icon"),o){case"success":s.classList.add("fa","fa-check","text-success");break;case"warning":s.classList.add("fa","fa-warning","text-warning");break;case"error":s.classList.add("fa","fa-bolt","text-danger");break;case"info":s.classList.add("fa","fa-info-circle","text-info")}s.classList.contains("fa")&&i.appendChild(s)}return null!=l&&((c=document.createElement("div")).classList.add("swal-title"),c.appendChild(document.createTextNode(l)),i.appendChild(c)),null!=n&&((d=document.createElement("div")).classList.add("swal-text"),d.appendChild(document.createTextNode(n)),i.appendChild(d)),t.length>1?[4,a({content:{element:i},buttons:t})]:[3,2];case 1:return p=u.sent(),[3,4];case 2:return[4,a({content:{element:i},button:t[0]})];case 3:p=u.sent(),u.label=4;case 4:return[2,p]}})})},n.prototype.eventTrack=function(n,l,e){this.messagingService.send("analyticsEventTrack",{action:n,label:l,options:e})},n.prototype.isDev=function(){return!1},n.prototype.isSelfHost=function(){return"true"===(!1).toString()},n.prototype.copyToClipboard=function(n,l){var e=window,t=window.document;if(l&&(l.window||l.win)?t=(e=l.window||l.win).document:l&&l.doc&&(t=l.doc),e.clipboardData&&e.clipboardData.setData)e.clipboardData.setData("Text",n);else if(t.queryCommandSupported&&t.queryCommandSupported("copy")){var u=t.createElement("textarea");u.textContent=n,u.style.position="fixed";var r=t.body;this.isFirefox()&&t.body.classList.contains("modal-open")&&(r=t.body.querySelector(".modal")),r.appendChild(u),u.select();try{t.execCommand("copy")}catch(n){console.warn("Copy to clipboard failed.",n)}finally{r.removeChild(u)}}},n.prototype.readFromClipboard=function(n){throw new Error("Cannot read from clipboard on web.")},n}();l.WebPlatformUtilsService=s},function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},r=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1&&(n=n.substring(0,l)),0!==n.indexOf("!/")&&0!==n.indexOf("#/")||(n=n.substring(1));var e=n.split("/"),t=[];return e.forEach(function(n){n.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?t.push("__guid__"):t.push(n)}),encodeURIComponent(t.join("/"))},n}();l.Analytics=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&n.data.forEach(function(n){var t=new a.Collection(new c.CollectionData(n));l.push(t.decrypt().then(function(n){e.push(n)}))}),Promise.all(l)})),f.push(this.apiService.getCiphersOrganization(n).then(function(n){var l=[];return null!=n&&null!=n.data&&n.data.length>0&&n.data.forEach(function(n){var e=new i.Cipher(new s.CipherData(n));l.push(e.decrypt().then(function(n){t.push(n)}))}),Promise.all(l)})),[4,Promise.all(f)];case 1:return u.sent(),"csv"===l?(v=new Map,e.forEach(function(n){v.set(n.id,n)}),h=[],t.forEach(function(n){if(n.type===o.CipherType.Login||n.type===o.CipherType.SecureNote){var l={collections:[]};null!=n.collectionIds&&(l.collections=n.collectionIds.filter(function(n){return v.has(n)}).map(function(n){return v.get(n).name})),m.buildCommonCipher(l,n),h.push(l)}}),[2,r.unparse(h)]):(g={collections:[],items:[]},e.forEach(function(n){var l=new p.CollectionWithId;l.build(n),g.collections.push(l)}),t.forEach(function(n){var l=new d.CipherWithIds;l.build(n),g.items.push(l)}),[2,JSON.stringify(g,null," ")])}})})},n.prototype.getFileName=function(n,l){void 0===n&&(n=null),void 0===l&&(l="csv");var e=new Date;return"bitwarden"+(n?"_"+n:"")+"_export_"+(e.getFullYear()+""+this.padNumber(e.getMonth()+1,2)+this.padNumber(e.getDate(),2)+this.padNumber(e.getHours(),2)+this.padNumber(e.getMinutes(),2)+this.padNumber(e.getSeconds(),2))+"."+l},n.prototype.padNumber=function(n,l,e){void 0===e&&(e="0");var t=n.toString();return t.length>=l?t:new Array(l-t.length+1).join(e)+t},n.prototype.buildCommonCipher=function(n,l){switch(n.type=null,n.name=l.name,n.notes=l.notes,n.fields=null,n.login_uri=null,n.login_username=null,n.login_password=null,n.login_totp=null,l.fields&&l.fields.forEach(function(l){n.fields?n.fields+="\n":n.fields="",n.fields+=(l.name||"")+": "+l.value}),l.type){case o.CipherType.Login:n.type="login",n.login_username=l.login.username,n.login_password=l.login.password,n.login_totp=l.login.totp,l.login.uris&&(n.login_uri=[],l.login.uris.forEach(function(l){n.login_uri.push(l.uri)}));break;case o.CipherType.SecureNote:n.type="note";break;default:return}return n},n}();l.ExportService=v},,function(n,l){},,function(n,l){},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(39),u=e(136),r=e(1006),o=e(1007),i=e(1008),a=e(1009),s=e(1011),c=function(){function n(){}return n.template=function(){var l=new n;return l.organizationId=null,l.folderId=null,l.type=t.CipherType.Login,l.name="Item name",l.notes="Some notes about this item.",l.favorite=!1,l.fields=[],l.login=null,l.secureNote=null,l.card=null,l.identity=null,l},n.toView=function(n,l){switch(void 0===l&&(l=new u.CipherView),l.type=n.type,l.folderId=n.folderId,null==l.organizationId&&(l.organizationId=n.organizationId),l.name=n.name,l.notes=n.notes,l.favorite=n.favorite,null!=n.fields&&(l.fields=n.fields.map(function(n){return o.Field.toView(n)})),n.type){case t.CipherType.Login:l.login=a.Login.toView(n.login);break;case t.CipherType.SecureNote:l.secureNote=s.SecureNote.toView(n.secureNote);break;case t.CipherType.Card:l.card=r.Card.toView(n.card);break;case t.CipherType.Identity:l.identity=i.Identity.toView(n.identity)}return l},n.prototype.build=function(n){switch(this.organizationId=n.organizationId,this.folderId=n.folderId,this.type=n.type,this.name=n.name,this.notes=n.notes,this.favorite=n.favorite,null!=n.fields&&(this.fields=n.fields.map(function(n){return new o.Field(n)})),n.type){case t.CipherType.Login:this.login=new a.Login(n.login);break;case t.CipherType.SecureNote:this.secureNote=new s.SecureNote(n.secureNote);break;case t.CipherType.Card:this.card=new r.Card(n.card);break;case t.CipherType.Identity:this.identity=new i.Identity(n.identity)}},n}();l.Cipher=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(90),u=function(){function n(n){null!=n&&(this.cardholderName=n.cardholderName,this.brand=n.brand,this.number=n.number,this.expMonth=n.expMonth,this.expYear=n.expYear,this.code=n.code)}return n.template=function(){var l=new n;return l.cardholderName="John Doe",l.brand="visa",l.number="4242424242424242",l.expMonth="04",l.expYear="2023",l.code="123",l},n.toView=function(n,l){return void 0===l&&(l=new t.CardView),l.cardholderName=n.cardholderName,l.brand=n.brand,l.number=n.number,l.expMonth=n.expMonth,l.expYear=n.expYear,l.code=n.code,l},n}();l.Card=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(195),u=e(196),r=function(){function n(n){null!=n&&(this.name=n.name,this.value=n.value,this.type=n.type)}return n.template=function(){var l=new n;return l.name="Field name",l.value="Some value",l.type=t.FieldType.Text,l},n.toView=function(n,l){return void 0===l&&(l=new u.FieldView),l.type=n.type,l.value=n.value,l.name=n.name,l},n}();l.Field=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(171),u=function(){function n(n){null!=n&&(this.title=n.title,this.firstName=n.firstName,this.middleName=n.middleName,this.lastName=n.lastName,this.address1=n.address1,this.address2=n.address2,this.address3=n.address3,this.city=n.city,this.state=n.state,this.postalCode=n.postalCode,this.country=n.country,this.company=n.company,this.email=n.email,this.phone=n.phone,this.ssn=n.ssn,this.username=n.username,this.passportNumber=n.passportNumber,this.licenseNumber=n.licenseNumber)}return n.template=function(){var l=new n;return l.title="Mr",l.firstName="John",l.middleName="William",l.lastName="Doe",l.address1="123 Any St",l.address2="Apt #123",l.address3=null,l.city="New York",l.state="NY",l.postalCode="10001",l.country="US",l.company="Acme Inc.",l.email="john@company.com",l.phone="5555551234",l.ssn="000-123-4567",l.username="jdoe",l.passportNumber="US-123456789",l.licenseNumber="D123-12-123-12333",l},n.toView=function(n,l){return void 0===l&&(l=new t.IdentityView),l.title=n.title,l.firstName=n.firstName,l.middleName=n.middleName,l.lastName=n.lastName,l.address1=n.address1,l.address2=n.address2,l.address3=n.address3,l.city=n.city,l.state=n.state,l.postalCode=n.postalCode,l.country=n.country,l.company=n.company,l.email=n.email,l.phone=n.phone,l.ssn=n.ssn,l.username=n.username,l.passportNumber=n.passportNumber,l.licenseNumber=n.licenseNumber,l},n}();l.Identity=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(1010),u=e(146),r=function(){function n(n){null!=n&&(null!=n.uris&&(this.uris=n.uris.map(function(n){return new t.LoginUri(n)})),this.username=n.username,this.password=n.password,this.totp=n.totp)}return n.template=function(){var l=new n;return l.uris=[],l.username="jdoe",l.password="myp@ssword123",l.totp="JBSWY3DPEHPK3PXP",l},n.toView=function(n,l){return void 0===l&&(l=new u.LoginView),null!=n.uris&&(l.uris=n.uris.map(function(n){return t.LoginUri.toView(n)})),l.username=n.username,l.password=n.password,l.totp=n.totp,l},n}();l.Login=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(235),u=function(){function n(n){this.match=null,null!=n&&(this.uri=n.uri,this.match=n.match)}return n.template=function(){var l=new n;return l.uri="https://google.com",l.match=null,l},n.toView=function(n,l){return void 0===l&&(l=new t.LoginUriView),l.uri=n.uri,l.match=n.match,l},n}();l.LoginUri=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(109),u=e(91),r=function(){function n(n){null!=n&&(this.type=n.type)}return n.template=function(){var l=new n;return l.type=t.SecureNoteType.Generic,l},n.toView=function(n,l){return void 0===l&&(l=new u.SecureNoteView),l.type=n.type,l},n}();l.SecureNote=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(148),u=function(){function n(){}return n.template=function(){var l=new n;return l.organizationId="00000000-0000-0000-0000-000000000000",l.name="Collection name",l.externalId=null,l},n.toView=function(n,l){return void 0===l&&(l=new t.CollectionView),l.name=n.name,l.externalId=n.externalId,null==l.organizationId&&(l.organizationId=n.organizationId),l},n.prototype.build=function(n){this.organizationId=n.organizationId,this.name=n.name,this.externalId=n.externalId},n}();l.Collection=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(147),u=function(){function n(){}return n.template=function(){var l=new n;return l.name="Folder name",l},n.toView=function(n,l){return void 0===l&&(l=new t.FolderView),l.name=n.name,l},n.prototype.build=function(n){this.name=n.name},n}();l.Folder=u},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&(r=Math.floor(t.ciphers.length/2),o=t.ciphers.length-1,this.badData(t.ciphers[0])&&this.badData(t.ciphers[r])&&this.badData(t.ciphers[o]))?[2,new Error(this.i18nService.t("importFormatError"))]:[4,this.postImport(t,e)]:[3,3];case 2:return u.sent(),[2,null];case 3:return[2,new Error(this.i18nService.t("importFormatError"))]}})})},n.prototype.getImporter=function(n,l){void 0===l&&(l=!1);var e=this.getImporterInstance(n);return null==e?null:(e.organization=l,e)},n.prototype.getImporterInstance=function(n){if(null==n||""===n)return null;switch(n){case"bitwardencsv":return new g.BitwardenCsvImporter;case"bitwardenjson":return new m.BitwardenJsonImporter;case"lastpasscsv":case"passboltcsv":return new N.LastPassCsvImporter;case"keepassxcsv":return new O.KeePassXCsvImporter;case"aviracsv":return new h.AviraCsvImporter;case"blurcsv":return new y.BlurCsvImporter;case"safeincloudxml":return new H.SafeInCloudXmlImporter;case"padlockcsv":return new D.PadlockCsvImporter;case"keepass2xml":return new P.KeePass2XmlImporter;case"chromecsv":case"operacsv":case"vivaldicsv":return new C.ChromeCsvImporter;case"firefoxcsv":return new I.FirefoxCsvImporter;case"upmcsv":return new X.UpmCsvImporter;case"saferpasscsv":return new $.SaferPassCsvImporter;case"meldiumcsv":return new E.MeldiumCsvImporter;case"1password1pif":return new x.OnePassword1PifImporter;case"1passwordwincsv":return new M.OnePasswordWinCsvImporter;case"keepercsv":return new T.KeeperCsvImporter;case"passworddragonxml":return new G.PasswordDragonXmlImporter;case"enpasscsv":return new S.EnpassCsvImporter;case"enpassjson":return new _.EnpassJsonImporter;case"pwsafexml":return new q.PasswordSafeXmlImporter;case"dashlanejson":return new w.DashlaneJsonImporter;case"msecurecsv":return new V.MSecureCsvImporter;case"stickypasswordxml":return new Y.StickyPasswordXmlImporter;case"truekeycsv":return new J.TrueKeyCsvImporter;case"clipperzhtml":return new b.ClipperzHtmlImporter;case"roboformcsv":return new K.RoboFormCsvImporter;case"ascendocsv":return new f.AscendoCsvImporter;case"passwordbossjson":return new j.PasswordBossJsonImporter;case"zohovaultcsv":return new Z.ZohoVaultCsvImporter;case"splashidcsv":return new W.SplashIdCsvImporter;case"passkeepcsv":return new U.PassKeepCsvImporter;case"gnomejson":return new k.GnomeJsonImporter;case"passwordagentcsv":return new z.PasswordAgentCsvImporter;case"passpackcsv":return new L.PasspackCsvImporter;case"passmanjson":return new F.PassmanJsonImporter;case"avastcsv":return new v.AvastCsvImporter;case"fsecurefsk":return new R.FSecureFskImporter;case"kasperskytxt":return new A.KasperskyTxtImporter;case"remembearcsv":return new B.RememBearCsvImporter;default:return null}},n.prototype.postImport=function(n,l){return void 0===l&&(l=null),t(this,void 0,void 0,function(){var e,t,r,o,f;return u(this,function(u){switch(u.label){case 0:if(null!=l)return[3,10];e=new c.ImportCiphersRequest,o=0,u.label=1;case 1:return o2&&n.length%2==0)for(var u=0;u-1?t.login.password=l.getValueOrDefault(r):null==t.login.username&&l.usernameFieldNames.indexOf(i)>-1?t.login.username=l.getValueOrDefault(r):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(i)>-1?t.login.uris=l.makeUriArray(r):l.processKvp(t,o,r)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.AscendoCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name),t.login.uris=l.makeUriArray(n.web),t.login.password=l.getValueOrDefault(n.password),t.login.username=l.getValueOrDefault(n.login),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.AvastCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,l.getValueOrDefault(l.nameFromUrl(n.website),"--")),t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.username)&&!l.isNullOrWhitespace(n.secondary_username)?t.login.username=n.secondary_username:(t.login.username=l.getValueOrDefault(n.username),t.notes=l.getValueOrDefault(n.secondary_username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.AviraCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(136),a=e(148),s=e(196),c=e(146),d=e(91),p=e(39),f=e(195),v=e(109),h=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.organization&&!l.isNullOrWhitespace(n.collections)?n.collections.split(",").forEach(function(n){for(var l=!0,t=e.collections.length,u=0;uo+2&&(h.value=u[r].substr(o+2)),t.fields.push(h)}}switch(null!=n.type?n.type.toLowerCase():null){case"note":t.type=p.CipherType.SecureNote,t.secureNote=new d.SecureNoteView,t.secureNote.type=v.SecureNoteType.Generic;break;default:t.type=p.CipherType.Login,t.login=new c.LoginView,t.login.totp=l.getValueOrDefault(n.login_totp||n.totp),t.login.username=l.getValueOrDefault(n.login_username||n.username),t.login.password=l.getValueOrDefault(n.login_password||n.password);var g=l.parseSingleRowCsv(n.login_uri||n.uri);t.login.uris=l.makeUriArray(g)}e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.BitwardenCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(656),a=e(657),s=e(658),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);if(null==t||null==t.items||0===t.items.length)return e.success=!1,e;var u=new Map;return this.organization&&null!=t.collections?t.collections.forEach(function(n){var l=a.CollectionWithId.toView(n);null!=l&&(l.id=null,l.organizationId=null,u.set(n.id,e.collections.length),e.collections.push(l))}):this.organization||null==t.folders||t.folders.forEach(function(n){var l=s.FolderWithId.toView(n);null!=l&&(l.id=null,u.set(n.id,e.folders.length),e.folders.push(l))}),t.items.forEach(function(n){var t=i.CipherWithIds.toView(n);t.id=null,t.folderId=null,t.organizationId=null,t.collectionIds=null,!l.organization&&null!=n.folderId&&u.has(n.folderId)?e.folderRelationships.push([e.ciphers.length,u.get(n.folderId)]):l.organization&&null!=n.collectionIds&&n.collectionIds.forEach(function(n){u.has(n)&&e.collectionRelationships.push([e.ciphers.length,u.get(n)])}),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e},l}(r.BaseImporter);l.BitwardenJsonImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){"null"===n.label&&(n.label=null);var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.label,l.getValueOrDefault(l.nameFromUrl(n.domain),"--")),t.login.uris=l.makeUriArray(n.domain),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.email)&&!l.isNullOrWhitespace(n.username)?t.login.username=n.username:(t.login.username=l.getValueOrDefault(n.email),t.notes=l.getValueOrDefault(n.username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.BlurCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.ChromeCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("textarea");return null==u||this.isNullOrWhitespace(u.textContent)?(e.errorMessage="Missing textarea.",e.success=!1,e):(JSON.parse(u.textContent).forEach(function(n){var t=l.initLoginCipher();if(l.isNullOrWhitespace(n.label)||(t.name=n.label.split(" ")[0]),null==n.data||l.isNullOrWhitespace(n.data.notes)||(t.notes=n.data.notes.split("\\n").join("\n")),null!=n.currentVersion&&null!=n.currentVersion.fields)for(var u in n.currentVersion.fields)if(n.currentVersion.fields.hasOwnProperty(u)){var r=n.currentVersion.fields[u];switch(null!=r.actionType?r.actionType.toLowerCase():null){case"password":t.login.password=l.getValueOrDefault(r.value);break;case"email":case"username":case"user":case"name":t.login.username=l.getValueOrDefault(r.value);break;case"url":t.login.uris=l.makeUriArray(r.value);break;default:var o=null!=r.label?r.label.toLowerCase():null;null==t.login.password&&l.passwordFieldNames.indexOf(o)>-1?t.login.password=l.getValueOrDefault(r.value):null==t.login.username&&l.usernameFieldNames.indexOf(o)>-1?t.login.username=l.getValueOrDefault(r.value):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(o)>-1?t.login.uris=l.makeUriArray(r.value):l.processKvp(t,r.label,r.value)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.ClipperzHtmlImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(90),a=e(136),s=e(171),c=e(91),d=e(39),p=e(109),f=new Set(["ADDRESS","AUTHENTIFIANT","BANKSTATEMENT","IDCARD","IDENTITY","PAYMENTMEANS_CREDITCARD","PAYMENTMEAN_PAYPAL","EMAIL"]),v=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){this.result=new o.ImportResult;var l=JSON.parse(n);if(null==l||0===l.length)return this.result.success=!1,this.result;for(var e in null!=l.ADDRESS&&this.processAddress(l.ADDRESS),null!=l.AUTHENTIFIANT&&this.processAuth(l.AUTHENTIFIANT),null!=l.BANKSTATEMENT&&this.processNote(l.BANKSTATEMENT,"BankAccountName"),null!=l.IDCARD&&this.processNote(l.IDCARD,"Fullname"),null!=l.PAYMENTMEANS_CREDITCARD&&this.processCard(l.PAYMENTMEANS_CREDITCARD),null!=l.IDENTITY&&this.processIdentity(l.IDENTITY),l)l.hasOwnProperty(e)&&!f.has(e)&&this.processNote(l[e],null,"Generic Note");return this.result.success=!0,this.result},l.prototype.processAuth=function(n){var l=this;n.forEach(function(n){var e=l.initLoginCipher();e.name=l.getValueOrDefault(n.title),e.login.username=l.getValueOrDefault(n.login,l.getValueOrDefault(n.secondaryLogin)),l.isNullOrWhitespace(e.login.username)?e.login.username=l.getValueOrDefault(n.email):l.isNullOrWhitespace(n.email)||(e.notes="Email: "+n.email+"\n"),e.login.password=l.getValueOrDefault(n.password),e.login.uris=l.makeUriArray(n.domain),e.notes+=l.getValueOrDefault(n.note,""),l.convertToNoteIfNeeded(e),l.cleanupCipher(e),l.result.ciphers.push(e)})},l.prototype.processIdentity=function(n){var l=this;n.forEach(function(n){var e=new a.CipherView;e.identity=new s.IdentityView,e.type=d.CipherType.Identity,e.name=l.getValueOrDefault(n.fullName,"");var t=e.name.split(" ");t.length>0&&(e.identity.firstName=l.getValueOrDefault(t[0])),2===t.length?e.identity.lastName=l.getValueOrDefault(t[1]):3===t.length&&(e.identity.middleName=l.getValueOrDefault(t[1]),e.identity.lastName=l.getValueOrDefault(t[2])),e.identity.username=l.getValueOrDefault(n.pseudo),l.cleanupCipher(e),l.result.ciphers.push(e)})},l.prototype.processAddress=function(n){var l=this;n.forEach(function(n){var e=new a.CipherView;e.identity=new s.IdentityView,e.type=d.CipherType.Identity,e.name=l.getValueOrDefault(n.addressName),e.identity.address1=l.getValueOrDefault(n.addressFull),e.identity.city=l.getValueOrDefault(n.city),e.identity.state=l.getValueOrDefault(n.state),e.identity.postalCode=l.getValueOrDefault(n.zipcode),e.identity.country=l.getValueOrDefault(n.country),null!=e.identity.country&&(e.identity.country=e.identity.country.toUpperCase()),l.cleanupCipher(e),l.result.ciphers.push(e)})},l.prototype.processCard=function(n){var l=this;n.forEach(function(n){var e=new a.CipherView;e.card=new i.CardView,e.type=d.CipherType.Card,e.name=l.getValueOrDefault(n.bank),e.card.number=l.getValueOrDefault(n.cardNumber),e.card.brand=l.getCardBrand(e.card.number),e.card.cardholderName=l.getValueOrDefault(n.owner),l.isNullOrWhitespace(e.card.brand)||(l.isNullOrWhitespace(e.name)?e.name=e.card.brand:e.name+=" - "+e.card.brand),l.cleanupCipher(e),l.result.ciphers.push(e)})},l.prototype.processNote=function(n,l,e){var t=this;void 0===e&&(e=null),n.forEach(function(n){var u=new a.CipherView;for(var r in u.secureNote=new c.SecureNoteView,u.type=d.CipherType.SecureNote,u.secureNote.type=p.SecureNoteType.Generic,u.name=null!=e?e:t.getValueOrDefault(n[l]),n)n.hasOwnProperty(r)&&r!==l&&t.processKvp(u,r,n[r].toString());t.cleanupCipher(u),t.result.ciphers.push(u)})},l}(r.BaseImporter);l.DashlaneJsonImporter=v},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(39),a=e(109),s=e(90),c=e(91),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=!0;return t.forEach(function(n){if(n.length<2||u&&("Title"===n[0]||"title"===n[0]))u=!1;else{var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),2!==n.length&&(l.containsField(n,"username")||l.containsField(n,"password")||l.containsField(n,"email")||l.containsField(n,"url"))||(t.type=i.CipherType.SecureNote,t.secureNote=new c.SecureNoteView,t.secureNote.type=a.SecureNoteType.Generic),l.containsField(n,"cardholder")&&l.containsField(n,"number")&&l.containsField(n,"expiry date")&&(t.type=i.CipherType.Card,t.card=new s.CardView),n.length>2&&n.length%2==0)for(var r=0;r0},l}(r.BaseImporter);l.EnpassCsvImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(90),a=e(39),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);return null==t||null==t.items||0===t.items.length?(e.success=!1,e):(t.items.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title),t.favorite=n.favorite>0,null!=n.template_type&&null!=n.fields&&n.fields.length>0&&(0===n.template_type.indexOf("login.")||0===n.template_type.indexOf("password.")?l.processLogin(t,n.fields):0===n.template_type.indexOf("creditcard.")?l.processCard(t,n.fields):n.template_type.indexOf("identity.")<0&&n.fields.some(function(n){return"password"===n.type&&!l.isNullOrWhitespace(n.value)})?l.processLogin(t,n.fields):l.processNote(t,n.fields)),t.notes+="\n"+l.getValueOrDefault(n.note,""),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l.prototype.processLogin=function(n,l){var e=this,t=[];l.forEach(function(l){e.isNullOrWhitespace(l.value)||"section"===l.type||("username"!==l.type&&"email"!==l.type||!e.isNullOrWhitespace(n.login.username)?"password"===l.type&&e.isNullOrWhitespace(n.login.password)?n.login.password=l.value:"totp"===l.type&&e.isNullOrWhitespace(n.login.totp)?n.login.totp=l.value:"url"===l.type?t.push(l.value):e.processKvp(n,l.label,l.value):n.login.username=l.value)}),n.login.uris=this.makeUriArray(t)},l.prototype.processCard=function(n,l){var e=this;n.card=new i.CardView,n.type=a.CipherType.Card,l.forEach(function(l){e.isNullOrWhitespace(l.value)||"section"===l.type||"ccType"===l.type||("ccName"===l.type&&e.isNullOrWhitespace(n.card.cardholderName)?n.card.cardholderName=l.value:"ccNumber"===l.type&&e.isNullOrWhitespace(n.card.number)?(n.card.number=l.value,n.card.brand=e.getCardBrand(n.card.number)):"ccCvc"===l.type&&e.isNullOrWhitespace(n.card.code)?n.card.code=l.value:"ccExpiry"===l.type&&e.isNullOrWhitespace(n.card.expYear)&&e.setCardExpiration(n,l.value)||e.processKvp(n,l.label,l.value))})},l.prototype.processNote=function(n,l){var e=this;l.forEach(function(l){e.isNullOrWhitespace(l.value)||"section"===l.type||e.processKvp(n,l.label,l.value)})},l}(r.BaseImporter);l.EnpassJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.hostname),"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.hostname),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.FirefoxCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(90),a=e(39),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=new o.ImportResult,e=JSON.parse(n);if(null==e||null==e.data)return l.success=!1,l;for(var t in e.data)if(e.data.hasOwnProperty(t)){var u=e.data[t],r=this.initLoginCipher();if(r.name=this.getValueOrDefault(u.service),r.notes=this.getValueOrDefault(u.notes),"website"===u.style)r.login.username=this.getValueOrDefault(u.username),r.login.password=this.getValueOrDefault(u.password),r.login.uris=this.makeUriArray(u.url);else{if("creditcard"!==u.style)continue;r.type=a.CipherType.Card,r.card=new i.CardView,r.card.cardholderName=this.getValueOrDefault(u.username),r.card.number=this.getValueOrDefault(u.creditNumber),r.card.brand=this.getCardBrand(r.card.number),r.card.code=this.getValueOrDefault(u.creditCvv),this.isNullOrWhitespace(u.creditExpiry)||this.setCardExpiration(r,u.creditExpiry)||this.processKvp(r,"Expiration",u.creditExpiry),this.isNullOrWhitespace(u.password)||this.processKvp(r,"PIN",u.password)}this.convertToNoteIfNeeded(r),this.cleanupCipher(r),l.ciphers.push(r)}return l.success=!0,l},l}(r.BaseImporter);l.FSecureFskImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);if(null==t||0===Object.keys(t).length)return e.success=!1,e;var u=function(n){if(!t.hasOwnProperty(n)||r.isNullOrWhitespace(n)||0===t[n].length)return"continue";t[n].forEach(function(t){if(!l.isNullOrWhitespace(t.display_name)&&0===t.display_name.indexOf("http")){l.processFolder(e,n);var u=l.initLoginCipher();if(u.name=t.display_name.replace("http://","").replace("https://",""),u.name.length>30&&(u.name=u.name.substring(0,30)),u.login.password=l.getValueOrDefault(t.secret),u.login.uris=l.makeUriArray(t.display_name),null!=t.attributes)for(var r in u.login.username=null!=t.attributes?l.getValueOrDefault(t.attributes.username_value):null,t.attributes)t.attributes.hasOwnProperty(r)&&"username_value"!==r&&"xdg:schema"!==r&&l.processKvp(u,r,t.attributes[r]);l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}})},r=this;for(var i in t)u(i);return this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.GnomeJsonImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l,e,t,u,r=this,i=new o.ImportResult,a=this.splitNewLine(n).join("\n");-1!==a.indexOf("Notes\n\n")&&((u=a.split("Notes\n\n")).length>1&&(a=u[0],l=u[1]));-1!==a.indexOf("Applications\n\n")&&((u=a.split("Applications\n\n")).length>1&&(a=u[0],e=u[1]));0===a.indexOf("Websites\n\n")&&((u=a.split("Websites\n\n")).length>1&&(a=u[0],t=u[1]));var s=this.parseDataCategory(l),c=this.parseDataCategory(e),d=this.parseDataCategory(t);return s.forEach(function(n){var l=r.initLoginCipher();l.name=r.getValueOrDefault(n.get("Name")),l.notes=r.getValueOrDefault(n.get("Text")),r.cleanupCipher(l),i.ciphers.push(l)}),d.concat(c).forEach(function(n){var l=r.initLoginCipher(),e=n.has("Website name")?"Website name":"Application";l.name=r.getValueOrDefault(n.get(e),""),r.isNullOrWhitespace(n.get("Login name"))||(r.isNullOrWhitespace(l.name)||(l.name+=": "),l.name+=n.get("Login name")),l.notes=r.getValueOrDefault(n.get("Comment")),n.has("Website URL")&&(l.login.uris=r.makeUriArray(n.get("Website URL"))),l.login.username=r.getValueOrDefault(n.get("Login")),l.login.password=r.getValueOrDefault(n.get("Password")),r.cleanupCipher(l),i.ciphers.push(l)}),i.success=!0,i},l.prototype.parseDataCategory=function(n){if(this.isNullOrWhitespace(n)||-1===n.indexOf("\n---\n"))return[];var l=[];return n.split("\n---\n").forEach(function(n){if(-1!==n.indexOf("\n")){var e,t,u=new Map;n.split("\n").forEach(function(n){if(null==e){var l,r,o=n.indexOf(":");-1!==o&&(l=n.substring(0,o),n.length>o+1&&(r=n.substring(o+2)),null!=l&&u.set(l,r),"Comment"!==l&&"Text"!==l||(e=r,t=l))}else e+="\n"+n}),null!=e&&null!=t&&u.set(t,e),0!==u.size&&l.push(u)}}),l},l}(r.BaseImporter);l.KasperskyTxtImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(147),a=function(n){function l(){var l=null!==n&&n.apply(this,arguments)||this;return l.result=new o.ImportResult,l}return u(l,n),l.prototype.parse=function(n){var l=this.parseXml(n);if(null==l)return this.result.success=!1,this.result;var e=l.querySelector("KeePassFile > Root > Group");return null==e?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,this.result):(this.traverse(e,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,this.result)},l.prototype.traverse=function(n,l,e){var t=this,u=this.result.folders.length,r=e;if(!l){""!==r&&(r+="/");var o=this.querySelectorDirectChild(n,"Name");r+=null==o?"-":o.textContent;var a=new i.FolderView;a.name=r,this.result.folders.push(a)}this.querySelectorAllDirectChild(n,"Entry").forEach(function(n){var e=t.result.ciphers.length,r=t.initLoginCipher();t.querySelectorAllDirectChild(n,"String").forEach(function(n){var l=t.querySelectorDirectChild(n,"Value"),e=null!=l?l.textContent:null;if(!t.isNullOrWhitespace(e)){var u=t.querySelectorDirectChild(n,"Key"),o=null!=u?u.textContent:null;"URL"===o?r.login.uris=t.makeUriArray(e):"UserName"===o?r.login.username=e:"Password"===o?r.login.password=e:"Title"===o?r.name=e:"Notes"===o?r.notes+=e+"\n":t.processKvp(r,o,e)}}),t.cleanupCipher(r),t.result.ciphers.push(r),l||t.result.folderRelationships.push([e,u])}),this.querySelectorAllDirectChild(n,"Group").forEach(function(n){t.traverse(n,!1,r)})},l}(r.BaseImporter);l.KeePass2XmlImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.Title)){n.Group=!l.isNullOrWhitespace(n.Group)&&n.Group.startsWith("Root/")?n.Group.replace("Root/",""):n.Group;var t=l.isNullOrWhitespace(n.Group)?null:n.Group;l.processFolder(e,t);var u=l.initLoginCipher();u.notes=l.getValueOrDefault(n.Notes),u.name=l.getValueOrDefault(n.Title,"--"),u.login.username=l.getValueOrDefault(n.Username),u.login.password=l.getValueOrDefault(n.Password),u.login.uris=l.makeUriArray(n.URL),l.cleanupCipher(u),e.ciphers.push(u)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(r.BaseImporter);l.KeePassXCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<6)){l.processFolder(e,n[0]);var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[5])+"\n",t.name=l.getValueOrDefault(n[1],"--"),t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),n.length>7)for(var u=7;u-1){var e=n.ccexp.split("-");e.length>1&&(l.expYear=e[0],l.expMonth=e[1],2===l.expMonth.length&&"0"===l.expMonth[0]&&(l.expMonth=l.expMonth[1]))}return l},l.prototype.parseIdentity=function(n){var l=new c.IdentityView;return l.title=this.getValueOrDefault(n.title),l.firstName=this.getValueOrDefault(n.firstname),l.middleName=this.getValueOrDefault(n.middlename),l.lastName=this.getValueOrDefault(n.lastname),l.username=this.getValueOrDefault(n.username),l.company=this.getValueOrDefault(n.company),l.ssn=this.getValueOrDefault(n.ssn),l.address1=this.getValueOrDefault(n.address1),l.address2=this.getValueOrDefault(n.address2),l.address3=this.getValueOrDefault(n.address3),l.city=this.getValueOrDefault(n.city),l.state=this.getValueOrDefault(n.state),l.postalCode=this.getValueOrDefault(n.zip),l.country=this.getValueOrDefault(n.country),l.email=this.getValueOrDefault(n.email),l.phone=this.getValueOrDefault(n.phone),this.isNullOrWhitespace(l.title)||(l.title=l.title.charAt(0).toUpperCase()+l.title.slice(1)),l},l.prototype.parseSecureNote=function(n,l){var e=this.splitNewLine(n.extra),t=!1;if(e.length){var u=e[0].split(":");if(u.length>1&&"NoteType"===u[0]&&("Credit Card"===u[1]||"Address"===u[1])){if("Credit Card"===u[1]){var r=this.parseSecureNoteMapping(e,{Number:"number","Name on Card":"cardholderName","Security Code":"code"});l.type=f.CipherType.Card,l.card=r[0],l.notes=r[1]}else if("Address"===u[1]){r=this.parseSecureNoteMapping(e,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});l.type=f.CipherType.Identity,l.identity=r[0],l.notes=r[1]}t=!0}}t||(l.secureNote=new p.SecureNoteView,l.secureNote.type=v.SecureNoteType.Generic,l.notes=this.getValueOrDefault(n.extra))},l.prototype.parseSecureNoteMapping=function(n,l){var e=this,t=null,u={};return n.forEach(function(n){if(!e.isNullOrWhitespace(n)){var r=null,o=null,i=n.indexOf(":");-1===i?r=n:(r=n.substring(0,i),n.length>i&&(o=n.substring(i+1))),e.isNullOrWhitespace(r)||e.isNullOrWhitespace(o)||"NoteType"===r||("Notes"===r?e.isNullOrWhitespace(t)?t=o:t+="\n"+o:l.hasOwnProperty(r)?u[l[r]]=o:(e.isNullOrWhitespace(t)?t="":t+="\n",t+=r+": "+o))}}),[u,t]},l}(r.BaseImporter);l.LastPassCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.DisplayName,"--"),t.notes=l.getValueOrDefault(n.Notes),t.login.username=l.getValueOrDefault(n.UserName),t.login.password=l.getValueOrDefault(n.Password),t.login.uris=l.makeUriArray(n.Url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.MeldiumCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(39),a=e(109),s=e(91),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){var t="Unassigned"!==l.getValueOrDefault(n[0],"Unassigned")?n[0]:null;l.processFolder(e,t);var u=l.initLoginCipher();if(u.name=l.getValueOrDefault(n[2],"--"),"Web Logins"===n[1])u.login.uris=l.makeUriArray(n[4]),u.login.username=l.getValueOrDefault(n[5]),u.login.password=l.getValueOrDefault(n[6]),u.notes=l.isNullOrWhitespace(n[3])?null:n[3].split("\\n").join("\n");else if(n.length>3){u.type=i.CipherType.SecureNote,u.secureNote=new s.SecureNoteView,u.secureNote.type=a.SecureNoteType.Generic;for(var r=3;r0&&(l.login.uris=this.makeUriArray(t))}null!=n.secureContents.fields&&this.parseFields(n.secureContents.fields,l,"designation","value","name"),null!=n.secureContents.sections&&n.secureContents.sections.forEach(function(n){null!=n.fields&&e.parseFields(n.fields,l,"n","v","t")})}},l.prototype.parseFields=function(n,l,e,t,u){var r=this;n.forEach(function(n){if(null!=n[t]&&""!==n[t].toString().trim()){var o=n[t].toString(),i=null!=n[e]?n[e].toString():null;if(l.type===s.CipherType.Login){if(r.isNullOrWhitespace(l.login.username)&&"username"===i)return void(l.login.username=o);if(r.isNullOrWhitespace(l.login.password)&&"password"===i)return void(l.login.password=o);if(r.isNullOrWhitespace(l.login.totp)&&null!=i&&i.startsWith("TOTP_"))return void(l.login.totp=o)}else if(l.type===s.CipherType.Card){if(r.isNullOrWhitespace(l.card.number)&&"ccnum"===i)return l.card.number=o,void(l.card.brand=r.getCardBrand(o));if(r.isNullOrWhitespace(l.card.code)&&"cvv"===i)return void(l.card.code=o);if(r.isNullOrWhitespace(l.card.cardholderName)&&"cardholder"===i)return void(l.card.cardholderName=o);if(r.isNullOrWhitespace(l.card.expiration)&&"expiry"===i&&6===o.length)return l.card.expMonth=o.substr(4,2),"0"===l.card.expMonth[0]&&(l.card.expMonth=l.card.expMonth.substr(1,1)),void(l.card.expYear=o.substr(0,4));if("type"===i)return}var a=r.isNullOrWhitespace(n[u])?"no_name":n[u];r.processKvp(l,a,o)}})},l}(r.BaseImporter);l.OnePassword1PifImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(39),a=e(1041),s=["ainfo","autosubmit","notesPlain","ps","scope","tags","title","uuid"],c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.title)){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.notesPlain,"")+"\n",l.isNullOrWhitespace(n.number)||l.isNullOrWhitespace(n["expiry date"])||(t.type=i.CipherType.Card,t.card=new a.CardView);var u=null;for(var r in n)if(n.hasOwnProperty(r)&&!l.isNullOrWhitespace(n[r])){if(t.type===i.CipherType.Login){if(l.isNullOrWhitespace(t.login.password)&&"password"===r){t.login.password=n[r];continue}if(l.isNullOrWhitespace(t.login.username)&&"username"===r){t.login.username=n[r];continue}if((null==t.login.uris||0===t.login.uri.length)&&"urls"===r){var o=n[r].split(l.newLineRegex);t.login.uris=l.makeUriArray(o);continue}}else if(t.type===i.CipherType.Card){if(l.isNullOrWhitespace(t.card.number)&&"number"===r){t.card.number=n[r],t.card.brand=l.getCardBrand(n.number);continue}if(l.isNullOrWhitespace(t.card.code)&&"verification number"===r){t.card.code=n[r];continue}if(l.isNullOrWhitespace(t.card.cardholderName)&&"cardholder name"===r){t.card.cardholderName=n[r];continue}if(l.isNullOrWhitespace(t.card.expiration)&&"expiry date"===r&&6===n[r].length){t.card.expMonth=n[r].substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),t.card.expYear=n[r].substr(0,4);continue}if("type"===r)continue}-1!==s.indexOf(r)||r.startsWith("section:")||(null==u&&"email"===r&&(u=n[r]),l.processKvp(t,r,n[r]))}t.type===i.CipherType.Login&&!l.isNullOrWhitespace(u)&&l.isNullOrWhitespace(t.login.username)&&-1===u.indexOf("://")&&(t.login.username=u),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.OnePasswordWinCsvImporter=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(593);l.AttachmentView=t.AttachmentView;var u=e(90);l.CardView=u.CardView;var r=e(136);l.CipherView=r.CipherView;var o=e(196);l.FieldView=o.FieldView;var i=e(171);l.IdentityView=i.IdentityView;var a=e(235);l.LoginUriView=a.LoginUriView;var s=e(146);l.LoginView=s.LoginView;var c=e(91);l.SecureNoteView=c.SecureNoteView;var d=e(1042);l.View=d.View},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.View=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(148),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=null;return t.forEach(function(n){if(null!=u){if(!(n.length<2||n.length!==u.length)){if(!l.isNullOrWhitespace(n[1]))if(l.organization){(t=n[1].split(",")).forEach(function(n){n=n.trim();for(var l=!0,t=e.collections.length,u=0;u0?t[0].trim():null;l.processFolder(e,r)}var o=l.initLoginCipher();o.name=l.getValueOrDefault(n[0],"--");for(var a=2;a-1?o.login.username=n[a]:l.passwordFieldNames.indexOf(s)>-1?o.login.password=n[a]:l.uriFieldNames.indexOf(s)>-1?o.login.uris=l.makeUriArray(n[a]):l.processKvp(o,u[a],n[a]))}l.cleanupCipher(o),e.ciphers.push(o)}}else u=n.map(function(n){return n})}),e.success=!0,e},l}(r.BaseImporter);l.PadlockCsvImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.processFolder(e,l.getValue("category",n));var t=l.initLoginCipher();t.notes=l.getValue("description",n),t.name=l.getValueOrDefault(l.getValue("title",n),"--"),t.login.username=l.getValue("username",n),t.login.password=l.getValue("password",n),t.login.uris=l.makeUriArray(l.getValue("site",n)),l.processKvp(t,"Password 2",l.getValue("password2",n)),l.cleanupCipher(t),e.ciphers.push(t)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.getValue=function(n,l){return this.getValueOrDefault(l[n],this.getValueOrDefault(l[" "+n]))},l}(r.BaseImporter);l.PassKeepCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);return null==t||0===t.length?(e.success=!1,e):(t.forEach(function(n){if(null!=n.tags&&n.tags.length>0){var t=n.tags[0].text;l.processFolder(e,t)}var u=l.initLoginCipher();u.name=n.label,u.login.username=l.getValueOrDefault(n.username),l.isNullOrWhitespace(u.login.username)?u.login.username=l.getValueOrDefault(n.email):l.isNullOrWhitespace(n.email)||(u.notes="Email: "+n.email+"\n"),u.login.password=l.getValueOrDefault(n.password),u.login.uris=l.makeUriArray(n.url),u.notes+=l.getValueOrDefault(n.description,""),null!=n.otp&&(u.login.totp=l.getValueOrDefault(n.otp.secret)),null!=n.custom_fields&&n.custom_fields.forEach(function(n){switch(n.field_type){case"text":case"password":l.processKvp(u,n.label,n.value)}}),l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(r.BaseImporter);l.PassmanJsonImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(148),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.isNullOrWhitespace(n.Tags)?null:JSON.parse(n.Tags),u=null!=t&&null!=t.tags&&t.tags.length>0?t.tags.map(function(n){try{var e=JSON.parse(n);return l.getValueOrDefault(e.tag)}catch(n){}return null}).filter(function(n){return!l.isNullOrWhitespace(n)}):null;l.organization&&null!=u&&u.length>0?u.forEach(function(n){for(var l=!0,t=e.collections.length,u=0;u0&&l.processFolder(e,u[0]);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n.Notes,""),r.notes+="\n\n"+l.getValueOrDefault(n["Shared Notes"],"")+"\n",r.name=l.getValueOrDefault(n["Entry Name"],"--"),r.login.username=l.getValueOrDefault(n["User ID"]),r.login.password=l.getValueOrDefault(n.Password),r.login.uris=l.makeUriArray(n.URL),null!=n.__parsed_extra&&n.__parsed_extra.length>0&&n.__parsed_extra.forEach(function(n){l.isNullOrWhitespace(n)||(r.notes+="\n"+n)});var o=l.isNullOrWhitespace(n["Extra Fields"])?null:JSON.parse(n["Extra Fields"]),a=null!=o&&null!=o.extraFields&&o.extraFields.length>0?o.extraFields.map(function(n){try{return JSON.parse(n)}catch(n){}return null}):null;null!=a&&a.forEach(function(n){null!=n&&l.processKvp(r,n.name,n.data)}),l.cleanupCipher(r),e.ciphers.push(r)}),e.success=!0,e)},l}(r.BaseImporter);l.PasspackCsvImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<9)){var t=l.getValueOrDefault(n[8],"(None)"),u="(None)"!==t?t.split("\\").join("/"):null;l.processFolder(e,u);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n[3]),r.name=l.getValueOrDefault(n[0],"--"),r.login.username=l.getValueOrDefault(n[1]),r.login.password=l.getValueOrDefault(n[2]),r.login.uris=l.makeUriArray(n[4]),l.convertToNoteIfNeeded(r),l.cleanupCipher(r),e.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(r.BaseImporter);l.PasswordAgentCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(90),a=e(39),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=JSON.parse(n);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name,"--"),t.login.uris=l.makeUriArray(n.login_url),null!=n.identifiers){for(var u in l.isNullOrWhitespace(n.identifiers.notes)||(t.notes=n.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===n.type&&(t.card=new i.CardView,t.type=a.CipherType.Card),n.identifiers)if(n.identifiers.hasOwnProperty(u)){var r=n.identifiers[u],o=null!=r?r.toString():null;if(!l.isNullOrWhitespace(o)&&"notes"!==u&&"ignoreItemInSecurityScore"!==u){if(t.type===a.CipherType.Card){if("cardNumber"===u){t.card.number=o,t.card.brand=l.getCardBrand(o);continue}if("nameOnCard"===u){t.card.cardholderName=o;continue}if("security_code"===u){t.card.code=o;continue}if("expires"===u){try{var s=new Date(o);t.card.expYear=s.getFullYear().toString(),t.card.expMonth=(s.getMonth()+1).toString()}catch(n){}continue}if("cardType"===u)continue}else{if("username"===u){t.login.username=o;continue}if("password"===u){t.login.password=o;continue}if((null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(u)>-1){t.login.uris=l.makeUriArray(o);continue}}l.processKvp(t,u,o)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.PasswordBossJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("PasswordManager > record");return Array.from(u).forEach(function(n){var t=l.querySelectorDirectChild(n,"Category"),u=null==t||l.isNullOrWhitespace(t.textContent)||"Unfiled"===t.textContent?null:t.textContent;l.processFolder(e,u);var r=l.querySelectorDirectChild(n,"Account-Name"),o=l.querySelectorDirectChild(n,"User-Id"),i=l.querySelectorDirectChild(n,"Password"),a=l.querySelectorDirectChild(n,"URL"),s=l.querySelectorDirectChild(n,"Notes"),c=l.initLoginCipher();c.name=null!=r?l.getValueOrDefault(r.textContent,"--"):"--",c.notes=null!=s?l.getValueOrDefault(s.textContent):"",c.login.username=null!=o?l.getValueOrDefault(o.textContent):null,c.login.password=null!=i?l.getValueOrDefault(i.textContent):null,c.login.uris=null!=a?l.makeUriArray(a.textContent):null;for(var d=[],p=1;p<=10;p++)d.push("Attribute-"+p);l.querySelectorAllDirectChild(n,d.join(",")).forEach(function(n){l.isNullOrWhitespace(n.textContent)||"null"===n.textContent||l.processKvp(c,n.tagName,n.textContent)}),l.cleanupCipher(c),e.ciphers.push(c)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.PasswordDragonXmlImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("passwordsafe");if(null==u)return e.errorMessage="Missing `passwordsafe` node.",e.success=!1,e;var r=u.getAttribute("delimiter"),i=t.querySelectorAll("passwordsafe > entry");return Array.from(i).forEach(function(n){var t=l.querySelectorDirectChild(n,"group"),u=null==t||l.isNullOrWhitespace(t.textContent)?null:t.textContent.split(".").join("/");l.processFolder(e,u);var o=l.querySelectorDirectChild(n,"title"),i=l.querySelectorDirectChild(n,"username"),a=l.querySelectorDirectChild(n,"email"),s=l.querySelectorDirectChild(n,"password"),c=l.querySelectorDirectChild(n,"url"),d=l.querySelectorDirectChild(n,"notes"),p=l.initLoginCipher();p.name=null!=o?l.getValueOrDefault(o.textContent,"--"):"--",p.notes=null!=d?l.getValueOrDefault(d.textContent,"").split(r).join("\n"):null,p.login.username=null!=i?l.getValueOrDefault(i.textContent):null,p.login.password=null!=s?l.getValueOrDefault(s.textContent):null,p.login.uris=null!=c?l.makeUriArray(c.textContent):null,l.isNullOrWhitespace(p.login.username)&&null!=a?p.login.username=l.getValueOrDefault(a.textContent):null==a||l.isNullOrWhitespace(a.textContent)||(p.notes=l.isNullOrWhitespace(p.notes)?"Email: "+a.textContent:p.notes+"\nEmail: "+a.textContent),l.cleanupCipher(p),e.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.PasswordSafeXmlImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(39),i=e(31),a=e(90),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if("true"!==n.trash){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name),t.notes=l.getValueOrDefault(n.notes),"LoginItem"===n.type)t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),t.login.username=l.getValueOrDefault(n.username);else if("CreditCardItem"===n.type){t.type=o.CipherType.Card,t.card=new a.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),t.card.code=l.getValueOrDefault(n.verification);try{var u=l.getValueOrDefault(n.expiryMonth);if(null!=u){var r=parseInt(u,null);null!=r&&r>=1&&r<=12&&(t.card.expMonth=r.toString())}}catch(n){}try{var i=l.getValueOrDefault(n.expiryYear);if(null!=i){var s=parseInt(i,null);null!=s&&(t.card.expYear=s.toString())}}catch(n){}var c=l.getValueOrDefault(n.pin);null!=c&&l.processKvp(t,"PIN",c);var d=l.getValueOrDefault(n.zipCode);null!=d&&l.processKvp(t,"Zip Code",d)}l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.RememBearCsvImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);if(null==t)return e.success=!1,e;var u=1;return t.forEach(function(n){var r=!l.isNullOrWhitespace(n.Folder)&&n.Folder.startsWith("/")?n.Folder.replace("/",""):n.Folder,o=l.isNullOrWhitespace(r)?null:r;l.processFolder(e,o);var i=l.initLoginCipher();if(i.notes=l.getValueOrDefault(n.Note),i.name=l.getValueOrDefault(n.Name,"--"),i.login.username=l.getValueOrDefault(n.Login),i.login.password=l.getValueOrDefault(n.Pwd),i.login.uris=l.makeUriArray(n.Url),!l.isNullOrWhitespace(n.Rf_fields)){var a=[n.Rf_fields];null!=n.__parsed_extra&&n.__parsed_extra.length>0&&(a=a.concat(n.__parsed_extra)),a.forEach(function(n){var e=n.split(":");if(!(e.length<3)){var t="-no-name-"===e[0]?null:e[0],u=4===e.length&&"rck"===e[2]?e[1]:e[2];l.processKvp(i,t,u)}})}l.cleanupCipher(i),u===t.length&&"--"===i.name&&l.isNullOrWhitespace(i.login.password)||(e.ciphers.push(i),u++)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.RoboFormCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(147),a=e(91),s=e(39),c=e(109),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;if(null==t.querySelector("database"))return e.errorMessage="Missing `database` node.",e.success=!1,e;var u=new Map;return Array.from(t.querySelectorAll("database > label")).forEach(function(n){var t=n.getAttribute("name"),r=n.getAttribute("id");if(!l.isNullOrWhitespace(t)&&!l.isNullOrWhitespace(r)){u.set(r,e.folders.length);var o=new i.FolderView;o.name=t,e.folders.push(o)}}),Array.from(t.querySelectorAll("database > card")).forEach(function(n){if("true"!==n.getAttribute("template")){var t=l.querySelectorDirectChild(n,"label_id");if(null!=t){var r=t.textContent;!l.isNullOrWhitespace(r)&&u.has(r)&&e.folderRelationships.push([e.ciphers.length,u.get(r)])}var o=l.initLoginCipher();o.name=l.getValueOrDefault(n.getAttribute("title"),"--"),"note"===n.getAttribute("type")?(o.type=s.CipherType.SecureNote,o.secureNote=new a.SecureNoteView,o.secureNote.type=c.SecureNoteType.Generic):Array.from(l.querySelectorAllDirectChild(n,"field")).forEach(function(n){var e=n.textContent;if(!l.isNullOrWhitespace(e)){var t=n.getAttribute("name"),u=l.getValueOrDefault(n.getAttribute("type"),"").toLowerCase();"login"===u?o.login.username=e:"password"===u?o.login.password=e:"notes"===u?o.notes+=e+"\n":"weblogin"===u||"website"===u?o.login.uris=l.makeUriArray(e):l.processKvp(o,t,e)}}),Array.from(l.querySelectorAllDirectChild(n,"notes")).forEach(function(n){o.notes+=n.textContent+"\n"}),l.cleanupCipher(o),e.ciphers.push(o)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(r.BaseImporter);l.SafeInCloudXmlImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.url),"--"),t.notes=l.getValueOrDefault(n.notes),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.SaferPassCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){l.processFolder(e,l.getValueOrDefault(n[n.length-1]));var t=l.initLoginCipher();t.notes=l.getValueOrDefault(n[n.length-2],""),t.name=l.getValueOrDefault(n[1],"--"),"Web Logins"===n[0]||"Servers"===n[0]||"Email Accounts"===n[0]?(t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),l.parseFieldsToNotes(t,5,n)):l.parseFieldsToNotes(t,2,n),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseFieldsToNotes=function(n,l,e){for(var t=l;t Database > Logins > Login");return Array.from(u).forEach(function(n){var u=n.getAttribute("ID");if(!l.isNullOrWhitespace(u)){var r=n.getAttribute("Name"),o=n.getAttribute("Password"),i=null,a=null,s=null,c=null,d=null,p=t.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+u+'"]');if(null!=p){var f=p.parentElement.parentElement;null!=f&&(i=f.getAttribute("Name"),a=f.getAttribute("Link"),c=f.getAttribute("ParentID"),s=f.getAttribute("Comments"),l.isNullOrWhitespace(s)||(s=s.split("/n").join("\n")))}l.isNullOrWhitespace(c)||(d=l.buildGroupText(t,c,""),l.processFolder(e,d));var v=l.initLoginCipher();v.name=l.getValueOrDefault(i,"--"),v.notes=l.getValueOrDefault(s),v.login.username=l.getValueOrDefault(r),v.login.password=l.getValueOrDefault(o),v.login.uris=l.makeUriArray(a),l.cleanupCipher(v),e.ciphers.push(v)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l.prototype.buildGroupText=function(n,l,e){var t=n.querySelector('root > Database > Groups > Group[ID="'+l+'"]');return null==t?e:(this.isNullOrWhitespace(e)||(e="/"+e),e=t.getAttribute("Name")+e,this.buildGroupText(n,t.getAttribute("ParentID"),e))},l}(r.BaseImporter);l.StickyPasswordXmlImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=e(90),a=e(91),s=e(39),c=e(109),d=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],p=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.favorite="true"===l.getValueOrDefault(n.favorite,"").toLowerCase(),t.name=l.getValueOrDefault(n.name,"--"),t.notes=l.getValueOrDefault(n.memo,""),t.login.username=l.getValueOrDefault(n.login),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),"login"!==n.kind&&(t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.note,"")),"cc"===n.kind){if(t.type=s.CipherType.Card,t.card=new i.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),!l.isNullOrWhitespace(n.expiryDate))try{var u=new Date(n.expiryDate);t.card.expYear=u.getFullYear().toString(),t.card.expMonth=(u.getMonth()+1).toString()}catch(n){}}else if("login"!==n.kind)for(var r in t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=c.SecureNoteType.Generic,l.isNullOrWhitespace(t.notes)||(t.notes=l.getValueOrDefault(n.document_content,"")),n)n.hasOwnProperty(r)&&d.indexOf(r.toLowerCase())<0&&!l.isNullOrWhitespace(n[r])&&l.processKvp(t,r,n[r]);l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(r.BaseImporter);l.TrueKeyCsvImporter=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(5===n.length){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n[0],"--"),t.notes=l.getValueOrDefault(n[4]),t.login.username=l.getValueOrDefault(n[1]),t.login.password=l.getValueOrDefault(n[2]),t.login.uris=l.makeUriArray(n[3]),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(r.BaseImporter);l.UpmCsvImporter=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=function(n,l){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])})(n,l)},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var r=e(30),o=e(31),i=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new o.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n["Secret Name"])){l.processFolder(e,l.getValueOrDefault(n.ChamberName));var t=l.initLoginCipher();t.favorite="1"===l.getValueOrDefault(n.Favorite,"0"),t.notes=l.getValueOrDefault(n.Notes),t.name=l.getValueOrDefault(n["Secret Name"],"--"),t.login.uris=l.makeUriArray(n["Secret URL"]),l.parseData(t,n.SecretData),l.parseData(t,n.CustomData),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseData=function(n,l){var e=this;this.isNullOrWhitespace(l)||this.splitNewLine(l).forEach(function(l){var t=l.indexOf(":");if(!(t<0)){var u=l.substring(0,t),r=l.length>t?l.substring(t+1):null;if(!e.isNullOrWhitespace(u)&&!e.isNullOrWhitespace(r)&&"SecretType"!==u){var o=u.toLowerCase();null==n.login.username&&e.usernameFieldNames.indexOf(o)>-1?n.login.username=r:null==n.login.password&&e.passwordFieldNames.indexOf(o)>-1?n.login.password=r:e.processKvp(n,u,r)}}})},l}(r.BaseImporter);l.ZohoVaultCsvImporter=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]"))},n.prototype.indexCiphers=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return this.indexing?[2]:(console.time("search indexing"),this.indexing=!0,this.index=null,(n=new r.Builder).ref("id"),n.field("shortid",{boost:100,extractor:function(n){return n.id.substr(0,8)}}),n.field("name",{boost:10}),n.field("subtitle",{boost:5,extractor:function(n){return null!=n.subTitle&&n.type===o.CipherType.Card?n.subTitle.replace(/\*/g,""):n.subTitle}}),n.field("notes"),n.field("login.username",{extractor:function(n){return n.type===o.CipherType.Login&&null!=n.login?n.login.username:null}}),n.field("login.uris",{boost:2,extractor:function(n){return l.uriExtractor(n)}}),n.field("fields",{extractor:function(n){return l.fieldExtractor(n,!1)}}),n.field("fields_joined",{extractor:function(n){return l.fieldExtractor(n,!0)}}),n.field("attachments",{extractor:function(n){return l.attachmentExtractor(n,!1)}}),n.field("attachments_joined",{extractor:function(n){return l.attachmentExtractor(n,!0)}}),n.field("organizationid",{extractor:function(n){return n.organizationId}}),[4,this.cipherService.getAllDecrypted()]);case 1:return e.sent().forEach(function(l){return n.add(l)}),this.index=n.build(),this.indexing=!1,console.timeEnd("search indexing"),[2]}})})},n.prototype.searchCiphers=function(n,l,e){return void 0===l&&(l=null),void 0===e&&(e=null),t(this,void 0,void 0,function(){var t,o,i,a,s;return u(this,function(u){switch(u.label){case 0:return t=[],null!=n&&(n=n.trim().toLowerCase()),""===n&&(n=null),null!=e?[3,2]:[4,this.cipherService.getAllDecrypted()];case 1:e=u.sent(),u.label=2;case 2:if(null!=l&&(e=e.filter(l)),!this.isSearchable(n))return[2,e];if(null==(o=this.getIndexForSearch()))return[2,this.searchCiphersBasic(e,n)];if(i=new Map,e.forEach(function(n){return i.set(n.id,n)}),a=null,null!=n&&n.length>1&&0===n.indexOf(">"))try{a=o.search(n.substr(1).trim())}catch(n){}else s=r.Query.wildcard.LEADING|r.Query.wildcard.TRAILING,a=o.query(function(l){r.tokenizer(n).forEach(function(n){var e=n.toString();l.term(e,{fields:["name"],wildcard:s}),l.term(e,{fields:["subtitle"],wildcard:s}),l.term(e,{fields:["login.uris"],wildcard:s}),l.term(e,{})})});return null!=a&&a.forEach(function(n){i.has(n.ref)&&t.push(i.get(n.ref))}),[2,t]}})})},n.prototype.searchCiphersBasic=function(n,l){var e=this;return l=l.trim().toLowerCase(),n.filter(function(n){return null!=n.name&&n.name.toLowerCase().indexOf(l)>-1||!e.onlySearchName&&(!!(l.length>=8&&n.id.startsWith(l))||(null!=n.subTitle&&n.subTitle.toLowerCase().indexOf(l)>-1||!!(n.login&&null!=n.login.uri&&n.login.uri.toLowerCase().indexOf(l)>-1)))})},n.prototype.getIndexForSearch=function(){return this.index},n.prototype.fieldExtractor=function(n,l){if(!n.hasFields)return null;var e=[];return n.fields.forEach(function(n){null!=n.name&&e.push(n.name),n.type===a.FieldType.Text&&null!=n.value&&e.push(n.value)}),0===(e=e.filter(function(n){return""!==n.trim()})).length?null:l?e.join(" "):e},n.prototype.attachmentExtractor=function(n,l){if(!n.hasAttachments)return null;var e=[];return n.attachments.forEach(function(n){null!=n&&null!=n.fileName&&(l&&n.fileName.indexOf(".")>-1?e.push(n.fileName.substr(0,n.fileName.lastIndexOf("."))):e.push(n.fileName))}),0===(e=e.filter(function(n){return""!==n.trim()})).length?null:l?e.join(" "):e},n.prototype.uriExtractor=function(n){if(n.type!==o.CipherType.Login||null==n.login||!n.login.hasUris)return null;var l=[];return n.login.uris.forEach(function(n){if(null!=n.uri&&""!==n.uri)if(null==n.hostname){var e=n.uri;if(n.match!==s.UriMatchType.RegularExpression){var t=e.indexOf("://");t>-1&&(e=e.substr(t+3));var u=e.search(/\?|&|#/);u>-1&&(e=e.substring(0,u))}l.push(e)}else l.push(n.hostname)}),l.length>0?l:null},n}();l.SearchService=c},,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,r){function o(n){try{a(t.next(n))}catch(n){r(n)}}function i(n){try{a(t.throw(n))}catch(n){r(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(o,i)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,r,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return r={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function i(r){return function(i){return function(r){if(e)throw new TypeError("Generator is already executing.");for(;o;)try{if(e=1,t&&(u=2&r[0]?t.return:r[0]?t.throw||((u=t.return)&&u.call(t),0):t.next)&&!(u=u.call(t,r[1])).done)return u;switch(t=0,u&&(r=[2&r[0],u.value]),r[0]){case 0:case 1:u=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,t=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===r[0]||2===r[0])){o=0;continue}if(3===r[0]&&(!u||r[1]>u[0]&&r[1]-1||e.indexOf(" Version/9.")>-1)}return n.prototype.pbkdf2=function(n,l,e,i){return t(this,void 0,void 0,function(){var t,a,s,c,d,p,f,v,h;return u(this,function(u){switch(u.label){case 0:return this.isEdge||this.isIE||this.isOldSafari?(t="sha256"===e?32:64,a=this.toByteString(n),s=this.toByteString(l),c=r.pbkdf2(a,s,i,t,e),[2,o.Utils.fromByteStringToArray(c).buffer]):(d="sha256"===e?256:512,p=this.toBuf(n),f=this.toBuf(l),v={name:"PBKDF2",salt:f,iterations:i,hash:{name:this.toWebCryptoAlgorithm(e)}},[4,this.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveBits"])]);case 1:return h=u.sent(),[4,this.subtle.deriveBits(v,h,d)];case 2:return[2,u.sent()]}})})},n.prototype.hash=function(n,l){return t(this,void 0,void 0,function(){var e,t,i;return u(this,function(u){switch(u.label){case 0:return(this.isEdge||this.isIE)&&"sha1"===l||"md5"===l?(e="md5"===l?r.md.md5.create():r.md.sha1.create(),t=this.toByteString(n),e.update(t,"raw"),[2,o.Utils.fromByteStringToArray(e.digest().data).buffer]):(i=this.toBuf(n),[4,this.subtle.digest({name:this.toWebCryptoAlgorithm(l)},i)]);case 1:return[2,u.sent()]}})})},n.prototype.hmac=function(n,l,e){return t(this,void 0,void 0,function(){var t,i,a,s,c;return u(this,function(u){switch(u.label){case 0:return this.isIE&&"sha512"===e?(t=r.hmac.create(),i=this.toByteString(l),a=this.toByteString(n),t.start(e,i),t.update(a,"raw"),[2,o.Utils.fromByteStringToArray(t.digest().data).buffer]):(s={name:"HMAC",hash:{name:this.toWebCryptoAlgorithm(e)}},[4,this.subtle.importKey("raw",l,s,!1,["sign"])]);case 1:return c=u.sent(),[4,this.subtle.sign(s,c,n)];case 2:return[2,u.sent()]}})})},n.prototype.compare=function(n,l){return t(this,void 0,void 0,function(){var e,t,r,o,i,a,s,c;return u(this,function(u){switch(u.label){case 0:return[4,this.randomBytes(32)];case 1:return e=u.sent(),t={name:"HMAC",hash:{name:"SHA-256"}},[4,this.subtle.importKey("raw",e,t,!1,["sign"])];case 2:return r=u.sent(),[4,this.subtle.sign(t,r,n)];case 3:return o=u.sent(),[4,this.subtle.sign(t,r,l)];case 4:if(i=u.sent(),o.byteLength!==i.byteLength)return[2,!1];for(a=new Uint8Array(o),s=new Uint8Array(i),c=0;c string;\r\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport abstract class ApiService {\n urlsSet: boolean;\n apiBaseUrl: string;\n identityBaseUrl: string;\n\n setUrls: (urls: EnvironmentUrls) => void;\n postIdentityToken: (request: TokenRequest) => Promise;\n refreshIdentityToken: () => Promise;\n\n getProfile: () => Promise;\n getUserBilling: () => Promise;\n getUserSubscription: () => Promise;\n putProfile: (request: UpdateProfileRequest) => Promise;\n postPrelogin: (request: PreloginRequest) => Promise;\n postEmailToken: (request: EmailTokenRequest) => Promise;\n postEmail: (request: EmailRequest) => Promise;\n postPassword: (request: PasswordRequest) => Promise;\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\n getAccountRevisionDate: () => Promise;\n postPasswordHint: (request: PasswordHintRequest) => Promise;\n postRegister: (request: RegisterRequest) => Promise;\n postPremium: (data: FormData) => Promise;\n postReinstatePremium: () => Promise;\n postCancelPremium: () => Promise;\n postAccountStorage: (request: StorageRequest) => Promise;\n postAccountPayment: (request: PaymentRequest) => Promise;\n postAccountLicense: (data: FormData) => Promise;\n postAccountKey: (request: UpdateKeyRequest) => Promise;\n postAccountKeys: (request: KeysRequest) => Promise;\n postAccountVerifyEmail: () => Promise;\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\n postAccountKdf: (request: KdfRequest) => Promise;\n\n getFolder: (id: string) => Promise;\n postFolder: (request: FolderRequest) => Promise;\n putFolder: (id: string, request: FolderRequest) => Promise;\n deleteFolder: (id: string) => Promise;\n\n getCipher: (id: string) => Promise;\n getCipherAdmin: (id: string) => Promise;\n getCiphersOrganization: (organizationId: string) => Promise>;\n postCipher: (request: CipherRequest) => Promise;\n postCipherCreate: (request: CipherCreateRequest) => Promise;\n postCipherAdmin: (request: CipherCreateRequest) => Promise;\n putCipher: (id: string, request: CipherRequest) => Promise;\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\n deleteCipher: (id: string) => Promise;\n deleteCipherAdmin: (id: string) => Promise;\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\n postPurgeCiphers: (request: PasswordVerificationRequest, organizationId?: string) => Promise;\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\n\n postCipherAttachment: (id: string, data: FormData) => Promise;\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\n organizationId: string) => Promise;\n\n getCollectionDetails: (organizationId: string, id: string) => Promise;\n getUserCollections: () => Promise>;\n getCollections: (organizationId: string) => Promise>;\n getCollectionUsers: (organizationId: string, id: string) => Promise;\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\n putCollectionUsers: (organizationId: string, id: string, request: SelectionReadOnlyRequest[]) => Promise;\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\n deleteCollection: (organizationId: string, id: string) => Promise;\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getGroupDetails: (organizationId: string, id: string) => Promise;\n getGroups: (organizationId: string) => Promise>;\n getGroupUsers: (organizationId: string, id: string) => Promise;\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\n putGroupUsers: (organizationId: string, id: string, request: string[]) => Promise;\n deleteGroup: (organizationId: string, id: string) => Promise;\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getOrganizationUser: (organizationId: string, id: string) => Promise;\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\n getOrganizationUsers: (organizationId: string) => Promise>;\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\n postOrganizationUserAccept: (organizationId: string, id: string,\n request: OrganizationUserAcceptRequest) => Promise;\n postOrganizationUserConfirm: (organizationId: string, id: string,\n request: OrganizationUserConfirmRequest) => Promise;\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\n putOrganizationUserGroups: (organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest) => Promise;\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\n\n getSync: () => Promise;\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\n\n getSettingsDomains: () => Promise;\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\n\n getTwoFactorProviders: () => Promise>;\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorOrganizationDuo: (organizationId: string,\n request: PasswordVerificationRequest) => Promise;\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2fChallenge: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\n putTwoFactorAuthenticator: (\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorOrganizationDuo: (organizationId: string,\n request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\n deleteTwoFactorU2f: (request: UpdateTwoFactorU2fDeleteRequest) => Promise;\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\n putTwoFactorOrganizationDisable: (organizationId: string,\n request: TwoFactorProviderRequest) => Promise;\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\n\n getOrganization: (id: string) => Promise;\n getOrganizationBilling: (id: string) => Promise;\n getOrganizationSubscription: (id: string) => Promise;\n getOrganizationLicense: (id: string, installationId: string) => Promise;\n postOrganization: (request: OrganizationCreateRequest) => Promise;\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\n postLeaveOrganization: (id: string) => Promise;\n postOrganizationLicense: (data: FormData) => Promise;\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\n postOrganizationApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\n postOrganizationCancel: (id: string) => Promise;\n postOrganizationReinstate: (id: string) => Promise;\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\n\n getEvents: (start: string, end: string, token: string) => Promise>;\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\n getEventsOrganization: (id: string, start: string, end: string,\n token: string) => Promise>;\n getEventsOrganizationUser: (organizationId: string, id: string,\n start: string, end: string, token: string) => Promise>;\n\n getUserPublicKey: (id: string) => Promise;\n\n getHibpBreach: (username: string) => Promise;\n\n postBitPayInvoice: (request: BitPayInvoiceRequest) => Promise;\n\n getActiveBearerToken: () => Promise;\n fetch: (request: Request) => Promise;\n}\n","import { DeviceType } from '../enums/deviceType';\r\n\r\nexport abstract class PlatformUtilsService {\r\n identityClientId: string;\r\n getDevice: () => DeviceType;\r\n getDeviceString: () => string;\r\n isFirefox: () => boolean;\r\n isChrome: () => boolean;\r\n isEdge: () => boolean;\r\n isOpera: () => boolean;\r\n isVivaldi: () => boolean;\r\n isSafari: () => boolean;\r\n isIE: () => boolean;\r\n isMacAppStore: () => boolean;\r\n analyticsId: () => string;\r\n isViewOpen: () => boolean;\r\n lockTimeout: () => number;\r\n launchUri: (uri: string, options?: any) => void;\r\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\r\n getApplicationVersion: () => string;\r\n supportsU2f: (win: Window) => boolean;\r\n supportsDuo: () => boolean;\r\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\r\n options?: any) => void;\r\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\r\n type?: string) => Promise;\r\n eventTrack: (action: string, label?: string, options?: any) => void;\r\n isDev: () => boolean;\r\n isSelfHost: () => boolean;\r\n copyToClipboard: (text: string, options?: any) => void;\r\n readFromClipboard: (options?: any) => Promise;\r\n}\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\r\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\r\n@Pipe({\n name: 'i18n',\n})\r\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\r\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.i18nService.t(id, p1, p2, p3);\r\n }\r\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class UserService {\n setInformation: (userId: string, email: string, kdf: KdfType, kdfIterations: number) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n getKdf: () => Promise;\n getKdfIterations: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n canAccessPremium: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { ErrorResponse } from '../../models/response/errorResponse';\n\n@Injectable()\nexport class ValidationService {\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n let errors: string[] = [];\n\n if (data != null && typeof data === 'string') {\n errors.push(data);\n } else if (data == null || typeof data !== 'object') {\n errors.push(defaultErrorMessage);\n } else if (data.validationErrors != null) {\n errors = errors.concat((data as ErrorResponse).getAllMessages());\n } else {\n errors.push(data.message ? data.message : defaultErrorMessage);\n }\n\n if (errors.length === 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors[0]);\n } else if (errors.length > 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors, {\n timeout: 5000 * errors.length,\n });\n }\n\n return errors;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\r\n\r\n@Directive({\r\n selector: '[appApiAction]',\r\n})\r\nexport class ApiActionDirective implements OnChanges {\r\n @Input() appApiAction: Promise;\n\n constructor(private el: ElementRef, private validationService: ValidationService) { }\n\n ngOnChanges(changes: any) {\n if (this.appApiAction == null || this.appApiAction.then == null) {\r\n return;\r\n }\n\n this.el.nativeElement.loading = true;\n\r\n this.appApiAction.then((response: any) => {\n this.el.nativeElement.loading = false;\n }, (e: any) => {\n this.el.nativeElement.loading = false;\n this.validationService.showError(e);\n });\r\n }\r\n}\n","export abstract class MessagingService {\r\n send: (subscriber: string, arg?: any) => void;\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class CryptoService {\n setKey: (key: SymmetricCryptoKey) => Promise;\n setKeyHash: (keyHash: string) => Promise<{}>;\n setEncKey: (encKey: string) => Promise<{}>;\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\n getKey: () => Promise;\n getKeyHash: () => Promise;\n getEncKey: () => Promise;\n getPublicKey: () => Promise;\n getPrivateKey: () => Promise;\n getFingerprint: (userId: string, publicKey?: ArrayBuffer) => Promise;\n getOrgKeys: () => Promise>;\n getOrgKey: (orgId: string) => Promise;\n hasKey: () => Promise;\n hasEncKey: () => Promise;\n clearKey: () => Promise;\n clearKeyHash: () => Promise;\n clearEncKey: (memoryOnly?: boolean) => Promise;\n clearKeyPair: (memoryOnly?: boolean) => Promise;\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\n clearPinProtectedKey: () => Promise;\n clearKeys: () => Promise;\n toggleKey: () => Promise;\n makeKey: (password: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeKeyFromPin: (pin: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\n makePinKey: (pin: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n remakeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer) => Promise;\n decryptToBytes: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\n randomNumber: (min: number, max: number) => Promise;\n}\n","import { CipherType } from '../enums/cipherType';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { Field } from '../models/domain/field';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { AttachmentView } from '../models/view/attachmentView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FieldView } from '../models/view/fieldView';\r\n\r\nexport abstract class CipherService {\r\n decryptedCipherCache: CipherView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: CipherView, key?: SymmetricCryptoKey, originalCipher?: Cipher) => Promise;\r\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\r\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\r\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[]) => Promise;\r\n getAllFromApiForOrganization: (organizationId: string) => Promise;\r\n getLastUsedForUrl: (url: string) => Promise;\r\n updateLastUsedDate: (id: string) => Promise;\r\n saveNeverDomain: (domain: string) => Promise;\r\n saveWithServer: (cipher: Cipher) => Promise;\r\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\r\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\r\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\r\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\r\n admin?: boolean) => Promise;\r\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\r\n upsert: (cipher: CipherData | CipherData[]) => Promise;\r\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n deleteWithServer: (id: string) => Promise;\r\n deleteManyWithServer: (ids: string[]) => Promise;\r\n deleteAttachment: (id: string, attachmentId: string) => Promise;\r\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\r\n sortCiphersByLastUsed: (a: any, b: any) => number;\r\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\r\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-callout',\r\n templateUrl: 'callout.component.html',\r\n})\r\nexport class CalloutComponent implements OnInit {\r\n @Input() type = 'info';\r\n @Input() icon: string;\r\n @Input() title: string;\r\n\r\n calloutStyle: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnInit() {\r\n this.calloutStyle = this.type;\r\n\r\n if (this.type === 'warning' || this.type === 'danger') {\r\n if (this.type === 'danger') {\r\n this.calloutStyle = 'danger';\r\n }\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('warning');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-warning';\r\n }\r\n } else if (this.type === 'error') {\r\n this.calloutStyle = 'danger';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('error');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-bolt';\r\n }\r\n } else if (this.type === 'tip') {\r\n this.calloutStyle = 'success';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('tip');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-lightbulb-o';\r\n }\r\n }\r\n }\r\n}\r\n","
\n

\n \n {{title}}\n

\n \n
\n","import * as papa from 'papaparse';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { LoginUriView } from '../models/view/loginUriView';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport abstract class BaseImporter {\r\n organization = false;\r\n\r\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\r\n\r\n protected passwordFieldNames = [\r\n 'password', 'pass word', 'passphrase', 'pass phrase',\r\n 'pass', 'code', 'code word', 'codeword',\r\n 'secret', 'secret word', 'personpwd',\r\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\r\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\r\n 'p', 'serial', 'serial#', 'license key', 'reg #',\r\n\r\n // Non-English names\r\n 'passwort',\r\n ];\r\n\r\n protected usernameFieldNames = [\r\n 'user', 'name', 'user name', 'username', 'login name',\r\n 'email', 'e-mail', 'id', 'userid', 'user id',\r\n 'login', 'form_loginname', 'wpname', 'mail',\r\n 'loginid', 'login id', 'log', 'personlogin',\r\n 'first name', 'last name', 'card#', 'account #',\r\n 'member', 'member #',\r\n\r\n // Non-English names\r\n 'nom', 'benutzername',\r\n ];\r\n\r\n protected notesFieldNames = [\r\n 'note', 'notes', 'comment', 'comments', 'memo',\r\n 'description', 'free form', 'freeform',\r\n 'free text', 'freetext', 'free',\r\n\r\n // Non-English names\r\n 'kommentar',\r\n ];\r\n\r\n protected uriFieldNames: string[] = [\r\n 'url', 'hyper link', 'hyperlink', 'link',\r\n 'host', 'hostname', 'host name', 'server', 'address',\r\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\r\n 'web-site', 'uri',\r\n\r\n // Non-English names\r\n 'ort', 'adresse',\r\n ];\r\n\r\n protected parseXml(data: string): Document {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(data, 'application/xml');\r\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\r\n }\r\n\r\n protected parseCsv(data: string, header: boolean): any[] {\r\n data = this.splitNewLine(data).join('\\n').trim();\r\n const result = papa.parse(data, {\r\n header: header,\r\n encoding: 'UTF-8',\r\n skipEmptyLines: false,\r\n });\r\n if (result.errors != null && result.errors.length > 0) {\r\n result.errors.forEach((e) => {\r\n if (e.row != null) {\r\n // tslint:disable-next-line\r\n console.warn('Error parsing row ' + e.row + ': ' + e.message);\r\n }\r\n });\r\n }\r\n return result.data && result.data.length > 0 ? result.data : null;\r\n }\r\n\r\n protected parseSingleRowCsv(rowData: string) {\r\n if (this.isNullOrWhitespace(rowData)) {\r\n return null;\r\n }\r\n const parsedRow = this.parseCsv(rowData, false);\r\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\r\n return parsedRow[0];\r\n }\r\n return null;\r\n }\r\n\r\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\r\n if (uri == null) {\r\n return null;\r\n }\r\n\r\n if (typeof uri === 'string') {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(uri);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return null;\r\n }\r\n loginUri.match = null;\r\n return [loginUri];\r\n }\r\n\r\n if (uri.length > 0) {\r\n const returnArr: LoginUriView[] = [];\r\n uri.forEach((u) => {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(u);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return;\r\n }\r\n loginUri.match = null;\r\n returnArr.push(loginUri);\r\n });\r\n return returnArr.length === 0 ? null : returnArr;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected fixUri(uri: string) {\r\n if (uri == null) {\r\n return null;\r\n }\r\n uri = uri.toLowerCase().trim();\r\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\r\n uri = 'http://' + uri;\r\n }\r\n if (uri.length > 1000) {\r\n return uri.substring(0, 1000);\r\n }\r\n return uri;\r\n }\r\n\r\n protected nameFromUrl(url: string) {\r\n const hostname = Utils.getHostname(url);\r\n if (this.isNullOrWhitespace(hostname)) {\r\n return null;\r\n }\r\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\r\n }\r\n\r\n protected isNullOrWhitespace(str: string): boolean {\r\n return Utils.isNullOrWhitespace(str);\r\n }\r\n\r\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\r\n if (this.isNullOrWhitespace(str)) {\r\n return defaultValue;\r\n }\r\n return str;\r\n }\r\n\r\n protected splitNewLine(str: string): string[] {\r\n return str.split(this.newLineRegex);\r\n }\r\n\r\n // ref https://stackoverflow.com/a/5911300\r\n protected getCardBrand(cardNum: string) {\r\n if (this.isNullOrWhitespace(cardNum)) {\r\n return null;\r\n }\r\n\r\n // Visa\r\n let re = new RegExp('^4');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n // Mastercard\r\n // Updated for Mastercard 2017 BINs expansion\r\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\r\n .test(cardNum)) {\r\n return 'Mastercard';\r\n }\r\n\r\n // AMEX\r\n re = new RegExp('^3[47]');\r\n if (cardNum.match(re) != null) {\r\n return 'Amex';\r\n }\r\n\r\n // Discover\r\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\r\n if (cardNum.match(re) != null) {\r\n return 'Discover';\r\n }\r\n\r\n // Diners\r\n re = new RegExp('^36');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // Diners - Carte Blanche\r\n re = new RegExp('^30[0-5]');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // JCB\r\n re = new RegExp('^35(2[89]|[3-8][0-9])');\r\n if (cardNum.match(re) != null) {\r\n return 'JCB';\r\n }\r\n\r\n // Visa Electron\r\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected setCardExpiration(cipher: CipherView, expiration: string): boolean {\r\n if (!this.isNullOrWhitespace(expiration)) {\r\n const parts = expiration.split('/');\r\n if (parts.length === 2) {\r\n let month: string = null;\r\n let year: string = null;\r\n if (parts[0].length === 1 || parts[0].length === 2) {\r\n month = parts[0];\r\n if (month.length === 2 && month[0] === '0') {\r\n month = month.substr(1, 1);\r\n }\r\n }\r\n if (parts[1].length === 2 || parts[1].length === 4) {\r\n year = month.length === 2 ? '20' + parts[1] : parts[1];\r\n }\r\n if (month != null && year != null) {\r\n cipher.card.expMonth = month;\r\n cipher.card.expYear = year;\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n protected moveFoldersToCollections(result: ImportResult) {\r\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\r\n result.collections = result.folders.map((f) => {\r\n const collection = new CollectionView();\r\n collection.name = f.name;\r\n return collection;\r\n });\r\n result.folderRelationships = [];\r\n result.folders = [];\r\n }\r\n\r\n protected querySelectorDirectChild(parentEl: Element, query: string) {\r\n const els = this.querySelectorAllDirectChild(parentEl, query);\r\n return els.length === 0 ? null : els[0];\r\n }\r\n\r\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\r\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\r\n }\r\n\r\n protected initLoginCipher() {\r\n const cipher = new CipherView();\r\n cipher.favorite = false;\r\n cipher.notes = '';\r\n cipher.fields = [];\r\n cipher.login = new LoginView();\r\n cipher.type = CipherType.Login;\r\n return cipher;\r\n }\r\n\r\n protected cleanupCipher(cipher: CipherView) {\r\n if (cipher == null) {\r\n return;\r\n }\r\n if (cipher.type !== CipherType.Login) {\r\n cipher.login = null;\r\n }\r\n if (this.isNullOrWhitespace(cipher.name)) {\r\n cipher.name = '--';\r\n }\r\n if (this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes = null;\r\n } else {\r\n cipher.notes = cipher.notes.trim();\r\n }\r\n if (cipher.fields != null && cipher.fields.length === 0) {\r\n cipher.fields = null;\r\n }\r\n }\r\n\r\n protected processKvp(cipher: CipherView, key: string, value: string) {\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n if (this.isNullOrWhitespace(key)) {\r\n key = '';\r\n }\r\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\r\n if (cipher.notes == null) {\r\n cipher.notes = '';\r\n }\r\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\r\n } else {\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n const field = new FieldView();\r\n field.type = FieldType.Text;\r\n field.name = key;\r\n field.value = value;\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n protected processFolder(result: ImportResult, folderName: string) {\r\n let folderIndex = result.folders.length;\r\n const hasFolder = !this.isNullOrWhitespace(folderName);\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === folderName) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = folderName;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\r\n }\r\n }\r\n\r\n protected convertToNoteIfNeeded(cipher: CipherView) {\r\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\r\n this.isNullOrWhitespace(cipher.login.password) &&\r\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n }\r\n }\r\n}\r\n","import { CipherView } from '../view/cipherView';\nimport { CollectionView } from '../view/collectionView';\nimport { FolderView } from '../view/folderView';\n\nexport class ImportResult {\n success = false;\n errorMessage: string;\n ciphers: CipherView[] = [];\n folders: FolderView[] = [];\n folderRelationships: Array<[number, number]> = [];\n collections: CollectionView[] = [];\n collectionRelationships: Array<[number, number]> = [];\n}\n","export abstract class BaseResponse {\n protected response: any;\n\n constructor(response: any) {\n this.response = response;\n }\n\n protected getResponseProperty(propertyName: string, response: any = null, exactName = false): any {\n if (propertyName == null || propertyName === '') {\n throw new Error('propertyName must not be null/empty.');\n }\n if (response == null && this.response != null) {\n response = this.response;\n }\n if (response == null) {\n return null;\n }\n if (!exactName && response[propertyName] === undefined) {\n let otherCasePropertyName: string = null;\n if (propertyName.charAt(0) === propertyName.charAt(0).toUpperCase()) {\n otherCasePropertyName = propertyName.charAt(0).toLowerCase();\n } else {\n otherCasePropertyName = propertyName.charAt(0).toUpperCase();\n }\n if (propertyName.length > 1) {\n otherCasePropertyName += propertyName.slice(1);\n }\n\n propertyName = otherCasePropertyName;\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toLowerCase();\n }\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toUpperCase();\n }\n }\n return response[propertyName];\n }\n}\n","export abstract class StateService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n purge: () => Promise;\r\n}\r\n","import * as tldjs from 'tldjs';\r\n\r\nimport { I18nService } from '../abstractions/i18n.service';\r\n\r\n// tslint:disable-next-line\r\nconst nodeURL = typeof window === 'undefined' ? require('url') : null;\r\n\r\nexport class Utils {\r\n static inited = false;\r\n static isNativeScript = false;\r\n static isNode = false;\r\n static isBrowser = true;\r\n static isMobileBrowser = false;\r\n static global: any = null;\r\n static tldEndingRegex = /.*\\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/;\r\n\r\n static init() {\r\n if (Utils.inited) {\r\n return;\r\n }\r\n\r\n Utils.inited = true;\r\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\r\n (process as any).release.name === 'node';\r\n Utils.isBrowser = typeof window !== 'undefined';\r\n Utils.isNativeScript = !Utils.isNode && !Utils.isBrowser;\r\n Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);\r\n Utils.global = Utils.isNativeScript ? global : (Utils.isNode && !Utils.isBrowser ? global : window);\r\n }\r\n\r\n static fromB64ToArray(str: string): Uint8Array {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return new Uint8Array(Buffer.from(str, 'base64'));\r\n } else {\r\n const binaryString = window.atob(str);\r\n const bytes = new Uint8Array(binaryString.length);\r\n for (let i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n return bytes;\r\n }\r\n }\r\n\r\n static fromHexToArray(str: string): Uint8Array {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return new Uint8Array(Buffer.from(str, 'hex'));\r\n } else {\r\n const bytes = new Uint8Array(str.length / 2);\r\n for (let i = 0; i < str.length; i += 2) {\r\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\r\n }\r\n return bytes;\r\n }\r\n }\r\n\r\n static fromUtf8ToArray(str: string): Uint8Array {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return new Uint8Array(Buffer.from(str, 'utf8'));\r\n } else {\r\n const strUtf8 = unescape(encodeURIComponent(str));\r\n const arr = new Uint8Array(strUtf8.length);\r\n for (let i = 0; i < strUtf8.length; i++) {\r\n arr[i] = strUtf8.charCodeAt(i);\r\n }\r\n return arr;\r\n }\r\n }\r\n\r\n static fromByteStringToArray(str: string): Uint8Array {\r\n const arr = new Uint8Array(str.length);\r\n for (let i = 0; i < str.length; i++) {\r\n arr[i] = str.charCodeAt(i);\r\n }\r\n return arr;\r\n }\r\n\r\n static fromBufferToB64(buffer: ArrayBuffer): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(buffer).toString('base64');\r\n } else {\r\n let binary = '';\r\n const bytes = new Uint8Array(buffer);\r\n for (let i = 0; i < bytes.byteLength; i++) {\r\n binary += String.fromCharCode(bytes[i]);\r\n }\r\n return window.btoa(binary);\r\n }\r\n }\r\n\r\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(buffer).toString('utf8');\r\n } else {\r\n const bytes = new Uint8Array(buffer);\r\n const encodedString = String.fromCharCode.apply(null, bytes);\r\n return decodeURIComponent(escape(encodedString));\r\n }\r\n }\r\n\r\n static fromBufferToByteString(buffer: ArrayBuffer): string {\r\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\r\n }\r\n\r\n // ref: https://stackoverflow.com/a/40031979/1090359\r\n static fromBufferToHex(buffer: ArrayBuffer): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(buffer).toString('hex');\r\n } else {\r\n const bytes = new Uint8Array(buffer);\r\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\r\n }\r\n }\r\n\r\n static fromUrlB64ToUtf8(b64Str: string): string {\r\n let output = b64Str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0:\r\n break;\r\n case 2:\r\n output += '==';\r\n break;\r\n case 3:\r\n output += '=';\r\n break;\r\n default:\r\n throw new Error('Illegal base64url string!');\r\n }\r\n\r\n return Utils.fromB64ToUtf8(output);\r\n }\r\n\r\n static fromB64ToUtf8(b64Str: string): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(b64Str, 'base64').toString('utf8');\r\n } else {\r\n return decodeURIComponent(escape(window.atob(b64Str)));\r\n }\r\n }\r\n\r\n // ref: http://stackoverflow.com/a/2117523/1090359\r\n static newGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n // tslint:disable-next-line\r\n const r = Math.random() * 16 | 0;\r\n // tslint:disable-next-line\r\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n static getHostname(uriString: string): string {\r\n const url = Utils.getUrl(uriString);\r\n try {\r\n return url != null ? url.hostname : null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static getHost(uriString: string): string {\r\n const url = Utils.getUrl(uriString);\r\n try {\r\n return url != null ? url.host : null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static getDomain(uriString: string): string {\r\n if (uriString == null) {\r\n return null;\r\n }\r\n\r\n uriString = uriString.trim();\r\n if (uriString === '') {\r\n return null;\r\n }\r\n\r\n let httpUrl = uriString.startsWith('http://') || uriString.startsWith('https://');\r\n if (!httpUrl && uriString.indexOf('://') < 0 && Utils.tldEndingRegex.test(uriString)) {\r\n uriString = 'http://' + uriString;\r\n httpUrl = true;\r\n }\r\n\r\n if (httpUrl) {\r\n try {\r\n const url = Utils.getUrlObject(uriString);\r\n if (url.hostname === 'localhost' || Utils.validIpAddress(url.hostname)) {\r\n return url.hostname;\r\n }\r\n\r\n const urlDomain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(url.hostname) : null;\r\n return urlDomain != null ? urlDomain : url.hostname;\r\n } catch (e) { }\r\n }\r\n\r\n const domain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(uriString) : null;\r\n if (domain != null) {\r\n return domain;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n static getQueryParams(uriString: string): Map {\r\n const url = Utils.getUrl(uriString);\r\n if (url == null || url.search == null || url.search === '') {\r\n return null;\r\n }\r\n const map = new Map();\r\n const pairs = (url.search[0] === '?' ? url.search.substr(1) : url.search).split('&');\r\n pairs.forEach((pair) => {\r\n const parts = pair.split('=');\r\n if (parts.length < 1) {\r\n return;\r\n }\r\n map.set(decodeURIComponent(parts[0]).toLowerCase(), parts[1] == null ? '' : decodeURIComponent(parts[1]));\r\n });\r\n return map;\r\n }\r\n\r\n static getSortFunction(i18nService: I18nService, prop: string) {\r\n return (a: any, b: any) => {\r\n if (a[prop] == null && b[prop] != null) {\r\n return -1;\r\n }\r\n if (a[prop] != null && b[prop] == null) {\r\n return 1;\r\n }\r\n if (a[prop] == null && b[prop] == null) {\r\n return 0;\r\n }\r\n\r\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\r\n a[prop].localeCompare(b[prop]);\r\n };\r\n }\r\n\r\n static isNullOrWhitespace(str: string): boolean {\r\n return str == null || typeof str !== 'string' || str.trim() === '';\r\n }\r\n\r\n private static validIpAddress(ipString: string): boolean {\r\n // tslint:disable-next-line\r\n const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\r\n return ipRegex.test(ipString);\r\n }\r\n\r\n private static isMobile(win: Window) {\r\n let mobile = false;\r\n ((a) => {\r\n // tslint:disable-next-line\r\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\r\n mobile = true;\r\n }\r\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\r\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\r\n }\r\n\r\n private static getUrl(uriString: string): URL {\r\n if (uriString == null) {\r\n return null;\r\n }\r\n\r\n uriString = uriString.trim();\r\n if (uriString === '') {\r\n return null;\r\n }\r\n\r\n const hasProtocol = uriString.indexOf('://') > -1;\r\n if (!hasProtocol && uriString.indexOf('.') > -1) {\r\n uriString = 'http://' + uriString;\r\n } else if (!hasProtocol) {\r\n return null;\r\n }\r\n\r\n return Utils.getUrlObject(uriString);\r\n }\r\n\r\n private static getUrlObject(uriString: string): URL {\r\n try {\r\n if (nodeURL != null) {\r\n return nodeURL.URL ? new nodeURL.URL(uriString) : nodeURL.parse(uriString);\r\n } else if (typeof URL === 'function') {\r\n return new URL(uriString);\r\n } else if (window != null) {\r\n const anchor = window.document.createElement('a');\r\n anchor.href = uriString;\r\n return anchor as any;\r\n }\r\n } catch (e) { }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nUtils.init();\r\n","export enum CipherType {\r\n Login = 1,\r\n SecureNote = 2,\r\n Card = 3,\r\n Identity = 4,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopClick]',\r\n})\r\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.preventDefault();\r\n }\r\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nexport abstract class CollectionService {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: CollectionView) => Promise;\r\n decryptMany: (collections: Collection[]) => Promise;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n getAllNested: (collections?: CollectionView[]) => Promise>>;\r\n getNested: (id: string) => Promise>;\r\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\r\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n}\r\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport abstract class FolderService {\r\n decryptedFolderCache: FolderView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n getAllNested: () => Promise>>;\r\n getNested: (id: string) => Promise>;\r\n saveWithServer: (folder: Folder) => Promise;\r\n upsert: (folder: FolderData | FolderData[]) => Promise;\r\n replace: (folders: { [id: string]: FolderData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n deleteWithServer: (id: string) => Promise;\r\n}\r\n","export abstract class StorageService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n}\r\n","import { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\n\r\nexport abstract class PasswordGenerationService {\r\n generatePassword: (options: any) => Promise;\r\n generatePassphrase: (options: any) => Promise;\r\n getOptions: () => any;\r\n saveOptions: (options: any) => Promise;\r\n getHistory: () => Promise;\r\n addHistory: (password: string) => Promise;\r\n clear: () => Promise;\r\n passwordStrength: (password: string, userInputs?: string[]) => zxcvbn.ZXCVBNResult;\r\n}\r\n","import {\r\n SyncCipherNotification,\r\n SyncFolderNotification,\r\n} from '../models/response/notificationResponse';\r\n\r\nexport abstract class SyncService {\r\n syncInProgress: boolean;\r\n\r\n getLastSync: () => Promise;\r\n setLastSync: (date: Date) => Promise;\r\n fullSync: (forceSync: boolean) => Promise;\r\n syncUpsertFolder: (notification: SyncFolderNotification, isEdit: boolean) => Promise;\r\n syncDeleteFolder: (notification: SyncFolderNotification) => Promise;\r\n syncUpsertCipher: (notification: SyncCipherNotification, isEdit: boolean) => Promise;\r\n syncDeleteCipher: (notification: SyncFolderNotification) => Promise;\r\n}\r\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","export abstract class TokenService {\n token: string;\n decodedToken: any;\n refreshToken: string;\n setTokens: (accessToken: string, refreshToken: string) => Promise;\n setToken: (token: string) => Promise;\n getToken: () => Promise;\n setRefreshToken: (refreshToken: string) => Promise;\n getRefreshToken: () => Promise;\n setTwoFactorToken: (token: string, email: string) => Promise;\n getTwoFactorToken: (email: string) => Promise;\n clearTwoFactorToken: (email: string) => Promise;\n clearToken: () => Promise;\n decodeToken: () => any;\n getTokenExpirationDate: () => Date;\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\n tokenNeedsRefresh: (minutes?: number) => boolean;\n getUserId: () => string;\n getEmail: () => string;\n getEmailVerified: () => boolean;\n getName: () => string;\n getPremium: () => boolean;\n getIssuer: () => string;\n}\n","export abstract class EnvironmentService {\r\n baseUrl: string;\r\n webVaultUrl: string;\r\n apiUrl: string;\r\n identityUrl: string;\r\n iconsUrl: string;\r\n notificationsUrl: string;\r\n\r\n getWebVaultUrl: () => string;\r\n setUrlsFromStorage: () => Promise;\r\n setUrls: (urls: any) => Promise;\r\n}\r\n","export class ConstantsService {\r\n static readonly environmentUrlsKey: string = 'environmentUrls';\r\n static readonly disableGaKey: string = 'disableGa';\r\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\r\n static readonly disableChangedPasswordNotificationKey: string = 'disableChangedPasswordNotification';\r\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\r\n static readonly disableFaviconKey: string = 'disableFavicon';\r\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\r\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\r\n static readonly lockOptionKey: string = 'lockOption';\r\n static readonly lastActiveKey: string = 'lastActive';\r\n static readonly neverDomainsKey: string = 'neverDomains';\r\n static readonly installedVersionKey: string = 'installedVersion';\r\n static readonly localeKey: string = 'locale';\r\n static readonly themeKey: string = 'theme';\r\n static readonly collapsedGroupingsKey: string = 'collapsedGroupings';\r\n static readonly autoConfirmFingerprints: string = 'autoConfirmFingerprints';\r\n static readonly dontShowCardsCurrentTab: string = 'dontShowCardsCurrentTab';\r\n static readonly dontShowIdentitiesCurrentTab: string = 'dontShowIdentitiesCurrentTab';\r\n static readonly defaultUriMatch: string = 'defaultUriMatch';\r\n static readonly pinProtectedKey: string = 'pinProtectedKey';\r\n static readonly protectedPin: string = 'protectedPin';\r\n static readonly clearClipboardKey: string = 'clearClipboardKey';\r\n\r\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\r\n readonly disableGaKey: string = ConstantsService.disableGaKey;\r\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\r\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\r\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\r\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\r\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\r\n readonly lockOptionKey: string = ConstantsService.lockOptionKey;\r\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\r\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\r\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\r\n readonly localeKey: string = ConstantsService.localeKey;\r\n readonly themeKey: string = ConstantsService.themeKey;\r\n readonly collapsedGroupingsKey: string = ConstantsService.collapsedGroupingsKey;\r\n readonly autoConfirmFingerprints: string = ConstantsService.autoConfirmFingerprints;\r\n readonly dontShowCardsCurrentTab: string = ConstantsService.dontShowCardsCurrentTab;\r\n readonly dontShowIdentitiesCurrentTab: string = ConstantsService.dontShowIdentitiesCurrentTab;\r\n readonly defaultUriMatch: string = ConstantsService.defaultUriMatch;\r\n readonly pinProtectedKey: string = ConstantsService.pinProtectedKey;\r\n readonly protectedPin: string = ConstantsService.protectedPin;\r\n readonly clearClipboardKey: string = ConstantsService.clearClipboardKey;\r\n}\r\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (!Utils.isMobileBrowser && this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import { View } from './view';\r\n\r\nimport { Card } from '../domain/card';\r\n\r\nexport class CardView implements View {\r\n cardholderName: string = null;\r\n expMonth: string = null;\r\n expYear: string = null;\r\n code: string = null;\r\n\r\n // tslint:disable\r\n private _brand: string = null;\r\n private _number: string = null;\r\n private _subTitle: string = null;\r\n // tslint:enable\r\n\r\n constructor(c?: Card) {\r\n // ctor\r\n }\r\n\r\n get maskedCode(): string {\r\n return this.code != null ? '•'.repeat(this.code.length) : null;\r\n }\r\n\r\n get brand(): string {\r\n return this._brand;\r\n }\r\n set brand(value: string) {\r\n this._brand = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get number(): string {\r\n return this._number;\r\n }\r\n set number(value: string) {\r\n this._number = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null) {\r\n this._subTitle = this.brand;\r\n if (this.number != null && this.number.length >= 4) {\r\n if (this._subTitle != null && this._subTitle !== '') {\r\n this._subTitle += ', ';\r\n } else {\r\n this._subTitle = '';\r\n }\r\n\r\n // Show last 5 on amex, last 4 for all others\r\n const count = this.number.length >= 5 && this.number.match(new RegExp('^3[47]')) != null ? 5 : 4;\r\n this._subTitle += ('*' + this.number.substr(this.number.length - count));\r\n }\r\n }\r\n return this._subTitle;\r\n }\r\n\r\n get expiration(): string {\r\n if (!this.expMonth && !this.expYear) {\r\n return null;\r\n }\r\n\r\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\r\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\r\n return exp;\r\n }\r\n\r\n private formatYear(year: string): string {\r\n return year.length === 2 ? '20' + year : year;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { SecureNote } from '../domain/secureNote';\r\n\r\nexport class SecureNoteView implements View {\r\n type: SecureNoteType = null;\r\n\r\n constructor(n?: SecureNote) {\r\n if (!n) {\r\n return;\r\n }\r\n\r\n this.type = n.type;\r\n }\r\n\r\n get subTitle(): string {\r\n return null;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean) => Promise;\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logOut: (callback: Function) => void;\n getSupportedTwoFactorProviders: (win: Window) => any[];\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\n makePreloginKey: (masterPassword: string, email: string) => Promise;\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst IconMap: any = {\n 'fa-globe': String.fromCharCode(0xf0ac),\n 'fa-sticky-note-o': String.fromCharCode(0xf24a),\n 'fa-id-card-o': String.fromCharCode(0xf2c3),\n 'fa-credit-card': String.fromCharCode(0xf09d),\n 'fa-android': String.fromCharCode(0xf17b),\n 'fa-apple': String.fromCharCode(0xf179),\n};\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: CipherView;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(environmentService: EnvironmentService, protected stateService: StateService) {\n this.iconsUrl = environmentService.iconsUrl;\n if (!this.iconsUrl) {\n if (environmentService.baseUrl) {\n this.iconsUrl = environmentService.baseUrl + '/icons';\n } else {\n this.iconsUrl = 'https://icons.bitwarden.net';\n }\n }\n }\n\n async ngOnChanges() {\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\n this.load();\n }\n\n get iconCode(): string {\n return IconMap[this.icon];\n }\n\n protected load() {\n switch (this.cipher.type) {\n case CipherType.Login:\n this.icon = 'fa-globe';\n this.setLoginIcon();\n break;\n case CipherType.SecureNote:\n this.icon = 'fa-sticky-note-o';\n break;\n case CipherType.Card:\n this.icon = 'fa-credit-card';\n break;\n case CipherType.Identity:\n this.icon = 'fa-id-card-o';\n break;\n default:\n break;\n }\n }\n\n private setLoginIcon() {\n if (this.cipher.login.uri) {\n let hostnameUri = this.cipher.login.uri;\n let isWebsite = false;\n\n if (hostnameUri.indexOf('androidapp://') === 0) {\n this.icon = 'fa-android';\n this.image = null;\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\n this.icon = 'fa-apple';\n this.image = null;\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\n hostnameUri = 'http://' + hostnameUri;\n isWebsite = true;\n } else if (this.imageEnabled) {\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\n }\n\n if (this.imageEnabled && isWebsite) {\n try {\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\n this.fallbackImage = 'images/fa-globe.png';\n } catch (e) { }\n }\n } else {\n this.image = null;\n }\n }\n}\n","import { Injectable } from '@angular/core';\r\n\r\nimport { BroadcasterService as BaseBroadcasterService } from '../../services/broadcaster.service';\r\n\r\n@Injectable()\r\nexport class BroadcasterService extends BaseBroadcasterService {\r\n}\r\n","import * as jq from 'jquery';\n\nimport {\n Component,\n ComponentFactoryResolver,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent extends BaseModalComponent {\n el: any = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\n super(componentFactoryResolver);\n }\n\n ngOnDestroy() { /* Nothing */ }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n\n const modals = Array.from(document.querySelectorAll('.modal'));\n if (modals.length > 0) {\n this.el = jq(modals[0]);\n this.el.modal('show');\n\n this.el.on('show.bs.modal', () => {\n this.onShow.emit();\n });\n this.el.on('shown.bs.modal', () => {\n this.onShown.emit();\n if (!Utils.isMobileBrowser) {\n this.el.find('*[appAutoFocus]').focus();\n }\n });\n this.el.on('hide.bs.modal', () => {\n this.onClose.emit();\n });\n this.el.on('hidden.bs.modal', () => {\n this.onClosed.emit();\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n });\n }\n\n return componentRef.instance;\n }\n\n close() {\n if (this.el != null) {\n this.el.modal('hide');\n }\n }\n}\n","export enum TwoFactorProviderType {\r\n Authenticator = 0,\r\n Email = 1,\r\n Duo = 2,\r\n Yubikey = 3,\n U2f = 4,\r\n Remember = 5,\r\n OrganizationDuo = 6,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopProp]',\r\n})\r\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.stopPropagation();\r\n }\r\n}\n","
\r\n \"\"\r\n \r\n
\r\n","import { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class CryptoFunctionService {\n pbkdf2: (password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number) => Promise;\n hash: (value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5') => Promise;\n hmac: (value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512') => Promise;\n compare: (a: ArrayBuffer, b: ArrayBuffer) => Promise;\n hmacFast: (value: ArrayBuffer | string, key: ArrayBuffer | string, algorithm: 'sha1' | 'sha256' | 'sha512') =>\n Promise;\n compareFast: (a: ArrayBuffer | string, b: ArrayBuffer | string) => Promise;\n aesEncrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n aesDecryptFastParameters: (data: string, iv: string, mac: string, key: SymmetricCryptoKey) =>\n DecryptParameters;\n aesDecryptFast: (parameters: DecryptParameters) => Promise;\n aesDecrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaDecrypt: (data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaExtractPublicKey: (privateKey: ArrayBuffer) => Promise;\n rsaGenerateKeyPair: (length: 1024 | 2048 | 4096) => Promise<[ArrayBuffer, ArrayBuffer]>;\n randomBytes: (length: number) => Promise;\n}\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nexport default class Domain {\n protected buildDomainModel(domain: D, dataObj: any, map: any,\n alreadyEncrypted: boolean, notEncList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = dataObj[(map[prop] || prop)];\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\n (domain as any)[prop] = objProp ? objProp : null;\n } else {\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\n }\n }\n }\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = (domain as any)[(map[prop] || prop)];\n if (notCipherStringList.indexOf(prop) > -1) {\n (dataObj as any)[prop] = objProp != null ? objProp : null;\n } else {\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\n }\n }\n }\n\n protected async decryptObj(viewModel: T, map: any, orgId: string): Promise {\n const promises = [];\n const self: any = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp) {\n const p = Promise.resolve().then(() => {\n const mapProp = map[theProp] || theProp;\n if (self[mapProp]) {\n return self[mapProp].decrypt(orgId);\n }\n return null;\n }).then((val: any) => {\n (viewModel as any)[theProp] = val;\n });\n promises.push(p);\n })(prop);\n }\n\n await Promise.all(promises);\n return viewModel;\n }\n}\n","export abstract class LockService {\r\n pinLocked: boolean;\r\n isLocked: () => Promise;\r\n checkLock: () => Promise;\r\n lock: (allowSoftLock?: boolean) => Promise;\r\n setLockOption: (lockOption: number) => Promise;\r\n isPinLockSet: () => Promise<[boolean, boolean]>;\r\n clear: () => Promise;\r\n}\r\n","import { CipherView } from '../models/view/cipherView';\n\nexport abstract class SearchService {\n clearIndex: () => void;\n isSearchable: (query: string) => boolean;\n indexCiphers: () => Promise;\n searchCiphers: (query: string, filter?: (cipher: CipherView) => boolean,\n ciphers?: CipherView[]) => Promise;\n searchCiphersBasic: (ciphers: CipherView[], query: string) => CipherView[];\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nimport { AttachmentView } from './attachmentView';\r\nimport { CardView } from './cardView';\r\nimport { FieldView } from './fieldView';\r\nimport { IdentityView } from './identityView';\r\nimport { LoginView } from './loginView';\r\nimport { PasswordHistoryView } from './passwordHistoryView';\r\nimport { SecureNoteView } from './secureNoteView';\r\nimport { View } from './view';\r\n\r\nexport class CipherView implements View {\r\n id: string = null;\r\n organizationId: string = null;\r\n folderId: string = null;\r\n name: string = null;\r\n notes: string = null;\r\n type: CipherType = null;\r\n favorite = false;\r\n organizationUseTotp = false;\r\n edit = false;\r\n localData: any;\r\n login = new LoginView();\r\n identity = new IdentityView();\r\n card = new CardView();\r\n secureNote = new SecureNoteView();\r\n attachments: AttachmentView[] = null;\r\n fields: FieldView[] = null;\r\n passwordHistory: PasswordHistoryView[] = null;\r\n collectionIds: string[] = null;\r\n revisionDate: Date = null;\r\n\r\n constructor(c?: Cipher) {\r\n if (!c) {\r\n return;\r\n }\r\n\r\n this.id = c.id;\r\n this.organizationId = c.organizationId;\r\n this.folderId = c.folderId;\r\n this.favorite = c.favorite;\r\n this.organizationUseTotp = c.organizationUseTotp;\r\n this.edit = c.edit;\r\n this.type = c.type;\r\n this.localData = c.localData;\r\n this.collectionIds = c.collectionIds;\r\n this.revisionDate = c.revisionDate;\r\n }\r\n\r\n get subTitle(): string {\r\n switch (this.type) {\r\n case CipherType.Login:\r\n return this.login.subTitle;\r\n case CipherType.SecureNote:\r\n return this.secureNote.subTitle;\r\n case CipherType.Card:\r\n return this.card.subTitle;\r\n case CipherType.Identity:\r\n return this.identity.subTitle;\r\n default:\r\n break;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get hasPasswordHistory(): boolean {\r\n return this.passwordHistory && this.passwordHistory.length > 0;\r\n }\r\n\r\n get hasAttachments(): boolean {\r\n return this.attachments && this.attachments.length > 0;\r\n }\r\n\r\n get hasOldAttachments(): boolean {\r\n if (this.hasAttachments) {\r\n for (let i = 0; i < this.attachments.length; i++) {\r\n if (this.attachments[i].key == null) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n get hasFields(): boolean {\r\n return this.fields && this.fields.length > 0;\r\n }\r\n\r\n get passwordRevisionDisplayDate(): Date {\r\n if (this.type !== CipherType.Login || this.login == null) {\r\n return null;\r\n } else if (this.login.password == null || this.login.password === '') {\r\n return null;\r\n }\r\n return this.login.passwordRevisionDate;\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-avatar',\n template: '',\n})\nexport class AvatarComponent implements OnChanges, OnInit {\n @Input() data: string;\n @Input() email: string;\n @Input() size = 45;\n @Input() charCount = 2;\n @Input() textColor = '#ffffff';\n @Input() fontSize = 20;\n @Input() fontWeight = 300;\n @Input() dynamic = false;\n @Input() circle = false;\n\n src: string;\n\n constructor(public sanitizer: DomSanitizer, private cryptoFunctionService: CryptoFunctionService,\n private stateService: StateService) { }\n\n ngOnInit() {\n if (!this.dynamic) {\n this.generate();\n }\n }\n\n ngOnChanges() {\n if (this.dynamic) {\n this.generate();\n }\n }\n\n private async generate() {\n const enableGravatars = await this.stateService.get('enableGravatars');\n if (enableGravatars && this.email != null) {\n const hashBytes = await this.cryptoFunctionService.hash(this.email.toLowerCase().trim(), 'md5');\n const hash = Utils.fromBufferToHex(hashBytes).toLowerCase();\n this.src = 'https://www.gravatar.com/avatar/' + hash + '?s=' + this.size + '&r=pg&d=retro';\n } else {\n let chars: string = null;\n const upperData = this.data.toUpperCase();\n\n if (this.charCount > 1) {\n chars = this.getFirstLetters(upperData, this.charCount);\n }\n if (chars == null) {\n chars = upperData.substr(0, this.charCount);\n }\n\n const charObj = this.getCharText(chars);\n const color = this.stringToColor(upperData);\n const svg = this.getSvg(this.size, color);\n svg.appendChild(charObj);\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\n }\n }\n\n private stringToColor(str: string): string {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n // tslint:disable-next-line\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n let color = '#';\n for (let i = 0; i < 3; i++) {\n // tslint:disable-next-line\n const value = (hash >> (i * 8)) & 0xFF;\n color += ('00' + value.toString(16)).substr(-2);\n }\n return color;\n }\n\n private getFirstLetters(data: string, count: number): string {\n const parts = data.split(' ');\n if (parts.length > 1) {\n let text = '';\n for (let i = 0; i < count; i++) {\n text += parts[i].substr(0, 1);\n }\n return text;\n }\n return null;\n }\n\n private getSvg(size: number, color: string): HTMLElement {\n const svgTag = window.document.createElement('svg');\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgTag.setAttribute('pointer-events', 'none');\n svgTag.setAttribute('width', size.toString());\n svgTag.setAttribute('height', size.toString());\n svgTag.style.backgroundColor = color;\n svgTag.style.width = size + 'px';\n svgTag.style.height = size + 'px';\n return svgTag;\n }\n\n private getCharText(character: string): HTMLElement {\n const textTag = window.document.createElement('text');\n textTag.setAttribute('text-anchor', 'middle');\n textTag.setAttribute('y', '50%');\n textTag.setAttribute('x', '50%');\n textTag.setAttribute('dy', '0.35em');\n textTag.setAttribute('pointer-events', 'auto');\n textTag.setAttribute('fill', this.textColor);\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\n textTag.textContent = character;\n textTag.style.fontWeight = this.fontWeight.toString();\n textTag.style.fontSize = this.fontSize + 'px';\n return textTag;\n }\n}\n","import { LoginUriView } from './loginUriView';\nimport { View } from './view';\n\nimport { Login } from '../domain/login';\n\nexport class LoginView implements View {\n username: string = null;\n password: string = null;\n passwordRevisionDate?: Date = null;\n totp: string = null;\n uris: LoginUriView[] = null;\n\n constructor(l?: Login) {\n if (!l) {\n return;\n }\n\n this.passwordRevisionDate = l.passwordRevisionDate;\n }\n\n get uri(): string {\n return this.hasUris ? this.uris[0].uri : null;\n }\n\n get maskedPassword(): string {\n return this.password != null ? '••••••••' : null;\n }\n\n get subTitle(): string {\n return this.username;\n }\n\n get canLaunch(): boolean {\n return this.hasUris && this.uris.some((u) => u.canLaunch);\n }\n\n get launchUri(): string {\n if (this.hasUris) {\n const uri = this.uris.find((u) => u.canLaunch);\n if (uri != null) {\n return uri.launchUri;\n }\n }\n return null;\n }\n\n get hasUris(): boolean {\n return this.uris != null && this.uris.length > 0;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Folder } from '../domain/folder';\r\nimport { ITreeNodeObject } from '../domain/treeNode';\r\n\r\nexport class FolderView implements View, ITreeNodeObject {\r\n id: string = null;\r\n name: string = null;\r\n revisionDate: Date = null;\r\n\r\n constructor(f?: Folder) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n this.revisionDate = f.revisionDate;\r\n }\r\n}\r\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\nimport { ITreeNodeObject } from '../domain/treeNode';\n\nexport class CollectionView implements View, ITreeNodeObject {\n id: string = null;\n organizationId: string = null;\n name: string = null;\n externalId: string = null;\n readOnly: boolean = null;\n\n constructor(c?: Collection) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.readOnly = c.readOnly;\n this.externalId = c.externalId;\n }\n}\n","","import { View } from './view';\r\n\r\nimport { Identity } from '../domain/identity';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class IdentityView implements View {\r\n title: string = null;\r\n middleName: string = null;\r\n address1: string = null;\r\n address2: string = null;\r\n address3: string = null;\r\n city: string = null;\r\n state: string = null;\r\n postalCode: string = null;\r\n country: string = null;\r\n company: string = null;\r\n email: string = null;\r\n phone: string = null;\r\n ssn: string = null;\r\n username: string = null;\r\n passportNumber: string = null;\r\n licenseNumber: string = null;\r\n\r\n // tslint:disable\r\n private _firstName: string = null;\r\n private _lastName: string = null;\r\n private _subTitle: string = null;\r\n // tslint:enable\r\n\r\n constructor(i?: Identity) {\r\n // ctor\r\n }\r\n\r\n get firstName(): string {\r\n return this._firstName;\r\n }\r\n set firstName(value: string) {\r\n this._firstName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get lastName(): string {\r\n return this._lastName;\r\n }\r\n set lastName(value: string) {\r\n this._lastName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\r\n this._subTitle = '';\r\n if (this.firstName != null) {\r\n this._subTitle = this.firstName;\r\n }\r\n if (this.lastName != null) {\r\n if (this._subTitle !== '') {\r\n this._subTitle += ' ';\r\n }\r\n this._subTitle += this.lastName;\r\n }\r\n }\r\n\r\n return this._subTitle;\r\n }\r\n\r\n get fullName(): string {\r\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\r\n let name = '';\r\n if (this.title != null) {\r\n name += (this.title + ' ');\r\n }\r\n if (this.firstName != null) {\r\n name += (this.firstName + ' ');\r\n }\r\n if (this.middleName != null) {\r\n name += (this.middleName + ' ');\r\n }\r\n if (this.lastName != null) {\r\n name += this.lastName;\r\n }\r\n return name.trim();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get fullAddress(): string {\r\n let address = this.address1;\r\n if (Utils.isNullOrWhitespace(this.address2)) {\r\n if (Utils.isNullOrWhitespace(address)) {\r\n address += ', ';\r\n }\r\n address += this.address2;\r\n }\r\n if (Utils.isNullOrWhitespace(this.address3)) {\r\n if (Utils.isNullOrWhitespace(address)) {\r\n address += ', ';\r\n }\r\n address += this.address3;\r\n }\r\n return address;\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { WebConstants } from '../../services/webConstants';\n\nconst StripeElementStyle = {\n base: {\n color: '#333333',\n fontFamily: '\"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, ' +\n '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n fontSize: '14px',\n fontSmoothing: 'antialiased',\n },\n invalid: {\n color: '#333333',\n },\n};\n\nconst StripeElementClasses = {\n focus: 'is-focused',\n empty: 'is-empty',\n invalid: 'is-invalid',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.Card;\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n @Input() hideCredit = false;\n\n bank: any = {\n routing_number: null,\n account_number: null,\n account_holder_name: null,\n account_holder_type: '',\n currency: 'USD',\n country: 'US',\n };\n\n paymentMethodType = PaymentMethodType;\n\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n private stripeScript: HTMLScriptElement;\n private stripe: any = null;\n private stripeElements: any = null;\n private stripeCardNumberElement: any = null;\n private stripeCardExpiryElement: any = null;\n private stripeCardCvcElement: any = null;\n\n constructor(private platformUtilsService: PlatformUtilsService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v3/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n this.stripe = (window as any).Stripe(this.platformUtilsService.isDev() ?\n WebConstants.stripeTestKey : WebConstants.stripeLiveKey);\n this.stripeElements = this.stripe.elements();\n this.setStripeElement();\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'scripts/dropin.js';\n this.btScript.async = true;\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== PaymentMethodType.PayPal;\n this.hideBank = this.method !== PaymentMethodType.BankAccount;\n this.hideCredit = this.method !== PaymentMethodType.Credit;\n }\n window.document.head.appendChild(this.stripeScript);\n if (!this.hidePaypal) {\n window.document.head.appendChild(this.btScript);\n }\n }\n\n ngOnDestroy() {\n window.document.head.removeChild(this.stripeScript);\n window.setTimeout(() => {\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n try {\n window.document.body.removeChild(el);\n } catch { }\n }\n });\n }, 500);\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n window.setTimeout(() => {\n Array.from(window.document.head.querySelectorAll('script')).forEach((el) => {\n if (el.src != null && el.src.indexOf('paypal') > -1) {\n try {\n window.document.head.removeChild(el);\n } catch { }\n }\n });\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n try {\n window.document.head.removeChild(btStylesheet);\n } catch { }\n }\n }, 500);\n }\n }\n\n changeMethod() {\n this.btInstance = null;\n\n if (this.method === PaymentMethodType.PayPal) {\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ?\n WebConstants.btSandboxKey : WebConstants.btProductionKey,\n container: '#bt-dropin-container',\n paymentOptionPriority: ['paypal'],\n paypal: {\n flow: 'vault',\n buttonStyle: {\n label: 'pay',\n size: 'medium',\n shape: 'pill',\n color: 'blue',\n },\n },\n }, (createErr: any, instance: any) => {\n if (createErr != null) {\n // tslint:disable-next-line\n console.error(createErr);\n return;\n }\n this.btInstance = instance;\n });\n }, 250);\n } else {\n this.setStripeElement();\n }\n }\n\n createPaymentToken(): Promise<[string, PaymentMethodType]> {\n return new Promise((resolve, reject) => {\n if (this.method === PaymentMethodType.Credit) {\n resolve([null, this.method]);\n } else if (this.method === PaymentMethodType.PayPal) {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve([payload.nonce, this.method]);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === PaymentMethodType.Card || this.method === PaymentMethodType.BankAccount) {\n let sourceObj: any = null;\n let createObj: any = null;\n if (this.method === PaymentMethodType.Card) {\n sourceObj = this.stripeCardNumberElement;\n } else {\n sourceObj = 'bank_account';\n createObj = this.bank;\n }\n this.stripe.createToken(sourceObj, createObj).then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.token && result.token.id != null) {\n resolve([result.token.id, this.method]);\n } else {\n reject();\n }\n });\n }\n });\n }\n\n private setStripeElement() {\n window.setTimeout(() => {\n if (this.method === PaymentMethodType.Card) {\n if (this.stripeCardNumberElement == null) {\n this.stripeCardNumberElement = this.stripeElements.create('cardNumber', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n if (this.stripeCardExpiryElement == null) {\n this.stripeCardExpiryElement = this.stripeElements.create('cardExpiry', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n });\n }\n if (this.stripeCardCvcElement == null) {\n this.stripeCardCvcElement = this.stripeElements.create('cardCvc', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n this.stripeCardNumberElement.mount('#stripe-card-number-element');\n this.stripeCardExpiryElement.mount('#stripe-card-expiry-element');\n this.stripeCardCvcElement.mount('#stripe-card-cvc-element');\n }\n }, 50);\n }\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { AttachmentData } from './attachmentData';\r\nimport { CardData } from './cardData';\r\nimport { FieldData } from './fieldData';\r\nimport { IdentityData } from './identityData';\r\nimport { LoginData } from './loginData';\r\nimport { PasswordHistoryData } from './passwordHistoryData';\r\nimport { SecureNoteData } from './secureNoteData';\r\n\r\nimport { CipherResponse } from '../response/cipherResponse';\r\n\r\nexport class CipherData {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n userId: string;\r\n edit: boolean;\r\n organizationUseTotp: boolean;\r\n favorite: boolean;\r\n revisionDate: string;\r\n type: CipherType;\r\n sizeName: string;\r\n name: string;\r\n notes: string;\r\n login?: LoginData;\r\n secureNote?: SecureNoteData;\r\n card?: CardData;\r\n identity?: IdentityData;\r\n fields?: FieldData[];\r\n attachments?: AttachmentData[];\r\n passwordHistory?: PasswordHistoryData[];\r\n collectionIds?: string[];\r\n\r\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.id = response.id;\r\n this.organizationId = response.organizationId;\r\n this.folderId = response.folderId;\r\n this.userId = userId;\r\n this.edit = response.edit;\r\n this.organizationUseTotp = response.organizationUseTotp;\r\n this.favorite = response.favorite;\r\n this.revisionDate = response.revisionDate;\r\n this.type = response.type;\r\n this.name = response.name;\r\n this.notes = response.notes;\r\n\r\n if (collectionIds != null) {\r\n this.collectionIds = collectionIds;\r\n } else {\r\n this.collectionIds = response.collectionIds;\r\n }\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new LoginData(response.login);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNoteData(response.secureNote);\r\n break;\r\n case CipherType.Card:\r\n this.card = new CardData(response.card);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new IdentityData(response.identity);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (response.fields != null) {\r\n this.fields = [];\r\n response.fields.forEach((field) => {\r\n this.fields.push(new FieldData(field));\r\n });\r\n }\r\n\r\n if (response.attachments != null) {\r\n this.attachments = [];\r\n response.attachments.forEach((attachment) => {\r\n this.attachments.push(new AttachmentData(attachment));\r\n });\r\n }\r\n\r\n if (response.passwordHistory != null) {\r\n this.passwordHistory = [];\r\n response.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push(new PasswordHistoryData(ph));\r\n });\r\n }\r\n }\r\n}\r\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n externalId: string;\n readOnly: boolean;\n\n constructor(response: CollectionDetailsResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.name = response.name;\n this.externalId = response.externalId;\n this.readOnly = response.readOnly;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-two-factor-verify',\n templateUrl: 'two-factor-verify.component.html',\n})\nexport class TwoFactorVerifyComponent {\n @Input() type: TwoFactorProviderType;\n @Input() organizationId: string;\n @Output() onAuthed = new EventEmitter();\n\n masterPassword: string;\n formPromise: Promise;\n\n private masterPasswordHash: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash =\n await this.cryptoService.hashPassword(this.masterPassword, null);\n\n try {\n switch (this.type) {\n case -1:\n this.formPromise = this.apiService.getTwoFactorRecover(request);\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.organizationId != null) {\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.getTwoFactorDuo(request);\n }\n break;\n case TwoFactorProviderType.Email:\n this.formPromise = this.apiService.getTwoFactorEmail(request);\n break;\n case TwoFactorProviderType.U2f:\n this.formPromise = this.apiService.getTwoFactorU2f(request);\n break;\n case TwoFactorProviderType.Authenticator:\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\n break;\n case TwoFactorProviderType.Yubikey:\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\n break;\n }\n\n const response = await this.formPromise;\n this.onAuthed.emit({\n response: response,\n masterPasswordHash: this.masterPasswordHash,\n });\n } catch { }\n }\n}\n","export enum DeviceType {\n Android = 0,\n iOS = 1,\n ChromeExtension = 2,\n FirefoxExtension = 3,\n OperaExtension = 4,\n EdgeExtension = 5,\n WindowsDesktop = 6,\n MacOsDesktop = 7,\n LinuxDesktop = 8,\n ChromeBrowser = 9,\n FirefoxBrowser = 10,\n OperaBrowser = 11,\n EdgeBrowser = 12,\n IEBrowser = 13,\n UnknownBrowser = 14,\n AndroidAmazon = 15,\n UWP = 16,\n SafariBrowser = 17,\n VivaldiBrowser = 18,\n VivaldiExtension = 19,\n SafariExtension = 20,\n}\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nimport { CardApi } from '../api/cardApi';\r\nimport { FieldApi } from '../api/fieldApi';\r\nimport { IdentityApi } from '../api/identityApi';\r\nimport { LoginApi } from '../api/loginApi';\r\nimport { LoginUriApi } from '../api/loginUriApi';\r\nimport { SecureNoteApi } from '../api/secureNoteApi';\r\n\r\nimport { AttachmentRequest } from './attachmentRequest';\r\nimport { PasswordHistoryRequest } from './passwordHistoryRequest';\r\n\r\nexport class CipherRequest {\r\n type: CipherType;\r\n folderId: string;\r\n organizationId: string;\r\n name: string;\r\n notes: string;\r\n favorite: boolean;\r\n login: LoginApi;\r\n secureNote: SecureNoteApi;\r\n card: CardApi;\r\n identity: IdentityApi;\r\n fields: FieldApi[];\r\n passwordHistory: PasswordHistoryRequest[];\r\n // Deprecated, remove at some point and rename attachments2 to attachments\r\n attachments: { [id: string]: string; };\r\n attachments2: { [id: string]: AttachmentRequest; };\r\n\r\n constructor(cipher: Cipher) {\r\n this.type = cipher.type;\r\n this.folderId = cipher.folderId;\r\n this.organizationId = cipher.organizationId;\r\n this.name = cipher.name ? cipher.name.encryptedString : null;\r\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\r\n this.favorite = cipher.favorite;\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new LoginApi();\r\n this.login.uris = null;\r\n this.login.username = cipher.login.username ? cipher.login.username.encryptedString : null;\r\n this.login.password = cipher.login.password ? cipher.login.password.encryptedString : null;\r\n this.login.passwordRevisionDate = cipher.login.passwordRevisionDate != null ?\r\n cipher.login.passwordRevisionDate.toISOString() : null;\r\n this.login.totp = cipher.login.totp ? cipher.login.totp.encryptedString : null;\r\n\r\n if (cipher.login.uris != null) {\r\n this.login.uris = cipher.login.uris.map((u) => {\r\n const uri = new LoginUriApi();\r\n uri.uri = u.uri != null ? u.uri.encryptedString : null;\r\n uri.match = u.match != null ? u.match : null;\r\n return uri;\r\n });\r\n }\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNoteApi();\r\n this.secureNote.type = cipher.secureNote.type;\r\n break;\r\n case CipherType.Card:\r\n this.card = new CardApi();\r\n this.card.cardholderName = cipher.card.cardholderName != null ?\r\n cipher.card.cardholderName.encryptedString : null;\r\n this.card.brand = cipher.card.brand != null ? cipher.card.brand.encryptedString : null;\r\n this.card.number = cipher.card.number != null ? cipher.card.number.encryptedString : null;\r\n this.card.expMonth = cipher.card.expMonth != null ? cipher.card.expMonth.encryptedString : null;\r\n this.card.expYear = cipher.card.expYear != null ? cipher.card.expYear.encryptedString : null;\r\n this.card.code = cipher.card.code != null ? cipher.card.code.encryptedString : null;\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new IdentityApi();\r\n this.identity.title = cipher.identity.title != null ? cipher.identity.title.encryptedString : null;\r\n this.identity.firstName = cipher.identity.firstName != null ?\r\n cipher.identity.firstName.encryptedString : null;\r\n this.identity.middleName = cipher.identity.middleName != null ?\r\n cipher.identity.middleName.encryptedString : null;\r\n this.identity.lastName = cipher.identity.lastName != null ?\r\n cipher.identity.lastName.encryptedString : null;\r\n this.identity.address1 = cipher.identity.address1 != null ?\r\n cipher.identity.address1.encryptedString : null;\r\n this.identity.address2 = cipher.identity.address2 != null ?\r\n cipher.identity.address2.encryptedString : null;\r\n this.identity.address3 = cipher.identity.address3 != null ?\r\n cipher.identity.address3.encryptedString : null;\r\n this.identity.city = cipher.identity.city != null ? cipher.identity.city.encryptedString : null;\r\n this.identity.state = cipher.identity.state != null ? cipher.identity.state.encryptedString : null;\r\n this.identity.postalCode = cipher.identity.postalCode != null ?\r\n cipher.identity.postalCode.encryptedString : null;\r\n this.identity.country = cipher.identity.country != null ?\r\n cipher.identity.country.encryptedString : null;\r\n this.identity.company = cipher.identity.company != null ?\r\n cipher.identity.company.encryptedString : null;\r\n this.identity.email = cipher.identity.email != null ? cipher.identity.email.encryptedString : null;\r\n this.identity.phone = cipher.identity.phone != null ? cipher.identity.phone.encryptedString : null;\r\n this.identity.ssn = cipher.identity.ssn != null ? cipher.identity.ssn.encryptedString : null;\r\n this.identity.username = cipher.identity.username != null ?\r\n cipher.identity.username.encryptedString : null;\r\n this.identity.passportNumber = cipher.identity.passportNumber != null ?\r\n cipher.identity.passportNumber.encryptedString : null;\r\n this.identity.licenseNumber = cipher.identity.licenseNumber != null ?\r\n cipher.identity.licenseNumber.encryptedString : null;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (cipher.fields != null) {\r\n this.fields = cipher.fields.map((f) => {\r\n const field = new FieldApi();\r\n field.type = f.type;\r\n field.name = f.name ? f.name.encryptedString : null;\r\n field.value = f.value ? f.value.encryptedString : null;\r\n return field;\r\n });\r\n }\r\n\r\n if (cipher.passwordHistory != null) {\r\n this.passwordHistory = [];\r\n cipher.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push({\r\n lastUsedDate: ph.lastUsedDate,\r\n password: ph.password ? ph.password.encryptedString : null,\r\n });\r\n });\r\n }\r\n\r\n if (cipher.attachments != null) {\r\n this.attachments = {};\r\n this.attachments2 = {};\r\n cipher.attachments.forEach((attachment) => {\r\n const fileName = attachment.fileName ? attachment.fileName.encryptedString : null;\r\n this.attachments[attachment.id] = fileName;\r\n const attachmentRequest = new AttachmentRequest();\r\n attachmentRequest.fileName = fileName;\r\n if (attachment.key != null) {\r\n attachmentRequest.key = attachment.key.encryptedString;\r\n }\r\n this.attachments2[attachment.id] = attachmentRequest;\r\n });\r\n }\r\n }\r\n}\r\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { Field } from '../domain/field';\r\n\r\nexport class FieldView implements View {\r\n name: string = null;\r\n value: string = null;\r\n type: FieldType = null;\r\n\r\n constructor(f?: Field) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.type = f.type;\r\n }\r\n\r\n get maskedValue(): string {\r\n return this.value != null ? '••••••••' : null;\r\n }\r\n}\r\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n externalId: string;\n readOnly: boolean;\n\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n organizationId: null,\n name: null,\n externalId: null,\n readOnly: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'externalId', 'readOnly']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Injectable()\r\nexport class RouterService {\r\n private previousUrl: string = undefined;\r\n private currentUrl: string = undefined;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\r\n private titleService: Title, i18nService: I18nService) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n let title = i18nService.t('pageTitle', 'Bitwarden');\r\n let titleId: string = null;\r\n let rawTitle: string = null;\r\n let child = this.activatedRoute.firstChild;\r\n while (child != null) {\r\n if (child.firstChild != null) {\r\n child = child.firstChild;\r\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\r\n rawTitle = child.snapshot.data.title;\r\n break;\r\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\r\n titleId = child.snapshot.data.titleId;\r\n break;\r\n } else {\r\n titleId = null;\r\n rawTitle = null;\r\n break;\r\n }\r\n }\r\n\r\n if (titleId != null || rawTitle != null) {\r\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\r\n if (newTitle != null && newTitle !== '') {\r\n title = (newTitle + ' | ' + title);\r\n }\r\n }\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n\r\n setPreviousUrl(url: string) {\r\n this.previousUrl = url;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class CipherString {\r\n encryptedString?: string;\r\n encryptionType?: EncryptionType;\r\n decryptedValue?: string;\r\n data?: string;\r\n iv?: string;\r\n mac?: string;\r\n\r\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\r\n if (data != null) {\r\n // data and header\r\n const encType = encryptedStringOrType as EncryptionType;\r\n this.encryptedString = encType + '.' + data;\r\n\r\n // iv\r\n if (iv != null) {\r\n this.encryptedString += ('|' + iv);\r\n }\r\n\r\n // mac\r\n if (mac != null) {\r\n this.encryptedString += ('|' + mac);\r\n }\r\n\r\n this.encryptionType = encType;\r\n this.data = data;\r\n this.iv = iv;\r\n this.mac = mac;\r\n\r\n return;\r\n }\r\n\r\n this.encryptedString = encryptedStringOrType as string;\r\n if (!this.encryptedString) {\r\n return;\r\n }\r\n\r\n const headerPieces = this.encryptedString.split('.');\r\n let encPieces: string[] = null;\r\n\r\n if (headerPieces.length === 2) {\r\n try {\r\n this.encryptionType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) {\r\n return;\r\n }\r\n } else {\r\n encPieces = this.encryptedString.split('|');\r\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\r\n EncryptionType.AesCbc256_B64;\r\n }\r\n\r\n switch (this.encryptionType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encPieces.length !== 3) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n this.mac = encPieces[2];\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encPieces.length !== 2) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n return;\r\n }\r\n\r\n this.data = encPieces[0];\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n if (this.decryptedValue) {\r\n return Promise.resolve(this.decryptedValue);\r\n }\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n this.decryptedValue = await cryptoService.decryptToUtf8(this, orgKey);\r\n } catch (e) {\r\n this.decryptedValue = '[error: cannot decrypt]';\r\n }\r\n return this.decryptedValue;\r\n }\r\n}\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-organizations',\n templateUrl: 'organizations.component.html',\n})\nexport class OrganizationsComponent implements OnInit {\n @Input() vault = false;\n\n organizations: Organization[];\n loaded: boolean = false;\n actionPromise: Promise;\n\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private syncService: SyncService) { }\n\n async ngOnInit() {\n if (!this.vault) {\n await this.load();\n }\n }\n\n async load() {\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.organizations = orgs;\n this.loaded = true;\n }\n\n async leave(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Left Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\n await this.load();\n } catch { }\n }\n}\n","export abstract class TotpService {\n getCode: (key: string) => Promise;\n getTimeInterval: (key: string) => number;\n isAutoCopyEnabled: () => Promise;\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { LoginUri } from '../domain/loginUri';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nconst CanLaunchWhitelist = [\r\n 'https://',\r\n 'http://',\r\n 'ssh://',\r\n 'ftp://',\r\n 'sftp://',\r\n 'irc://',\r\n 'vnc://',\r\n 'chrome://',\r\n];\r\n\r\nexport class LoginUriView implements View {\r\n match: UriMatchType = null;\r\n\r\n // tslint:disable\r\n private _uri: string = null;\r\n private _domain: string = null;\r\n private _hostname: string = null;\r\n private _canLaunch: boolean = null;\r\n // tslint:enable\r\n\r\n constructor(u?: LoginUri) {\r\n if (!u) {\r\n return;\r\n }\r\n\r\n this.match = u.match;\r\n }\r\n\r\n get uri(): string {\r\n return this._uri;\r\n }\r\n set uri(value: string) {\r\n this._uri = value;\r\n this._domain = null;\r\n this._canLaunch = null;\r\n }\r\n\r\n get domain(): string {\r\n if (this._domain == null && this.uri != null) {\r\n this._domain = Utils.getDomain(this.uri);\r\n if (this._domain === '') {\r\n this._domain = null;\r\n }\r\n }\r\n\r\n return this._domain;\r\n }\r\n\r\n get hostname(): string {\r\n if (this._hostname == null && this.uri != null) {\r\n this._hostname = Utils.getHostname(this.uri);\r\n if (this._hostname === '') {\r\n this._hostname = null;\r\n }\r\n }\r\n\r\n return this._hostname;\r\n }\r\n\r\n get hostnameOrUri(): string {\r\n return this.hostname != null ? this.hostname : this.uri;\r\n }\r\n\r\n get isWebsite(): boolean {\r\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0 ||\r\n (this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri)));\r\n }\r\n\r\n get canLaunch(): boolean {\r\n if (this._canLaunch != null) {\r\n return this._canLaunch;\r\n }\r\n if (this.uri != null && this.match !== UriMatchType.RegularExpression) {\r\n const uri = this.launchUri;\r\n for (let i = 0; i < CanLaunchWhitelist.length; i++) {\r\n if (uri.indexOf(CanLaunchWhitelist[i]) === 0) {\r\n this._canLaunch = true;\r\n return this._canLaunch;\r\n }\r\n }\r\n }\r\n this._canLaunch = false;\r\n return this._canLaunch;\r\n }\r\n\r\n get launchUri(): string {\r\n return this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri) ? ('http://' + this.uri) : this.uri;\r\n }\r\n}\r\n","import {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\n\nexport abstract class TwoFactorBaseComponent {\n @Output() onUpdated = new EventEmitter();\n\n type: TwoFactorProviderType;\n organizationId: string;\n twoFactorProviderType = TwoFactorProviderType;\n enabled = false;\n authed = false;\n\n protected masterPasswordHash: string;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n protected auth(authResponse: any) {\n this.masterPasswordHash = authResponse.masterPasswordHash;\n this.authed = true;\n }\n\n protected async enable(enableFunction: () => Promise) {\n try {\n await enableFunction();\n this.analytics.eventTrack.next({\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.onUpdated.emit(true);\n } catch { }\n }\n\n protected async disable(promise: Promise) {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n const request = new TwoFactorProviderRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.type = this.type;\n if (this.organizationId != null) {\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\n } else {\n promise = this.apiService.putTwoFactorDisable(request);\n }\n await promise;\n this.enabled = false;\n this.analytics.eventTrack.next({\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\n this.onUpdated.emit(false);\n } catch { }\n }\n}\n","import { Importer } from '../importers/importer';\r\n\r\nexport interface ImportOption {\r\n id: string;\r\n name: string;\r\n}\r\nexport abstract class ImportService {\r\n featuredImportOptions: ImportOption[];\r\n regularImportOptions: ImportOption[];\r\n getImportOptions: () => ImportOption[];\r\n import: (importer: Importer, fileContents: string, organizationId?: string) => Promise;\r\n getImporter: (format: string, organization?: boolean) => Importer;\r\n}\r\n","export abstract class ExportService {\r\n getExport: (format?: 'csv' | 'json') => Promise;\r\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json') => Promise;\r\n getFileName: (prefix?: string, extension?: string) => string;\r\n}\r\n","import {\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\nimport { AddEditComponent as OrgAddEditComponent } from '../organizations/vault/add-edit.component';\nimport { AddEditComponent } from '../vault/add-edit.component';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nexport class CipherReportComponent {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n\n loading = false;\n hasLoaded = false;\n ciphers: CipherView[] = [];\n organization: Organization;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, protected userService: UserService,\n protected messagingService: MessagingService, public requiresPaid: boolean) { }\n\n async load() {\n this.loading = true;\n await this.setCiphers();\n this.loading = false;\n this.hasLoaded = true;\n }\n\n selectCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n let childComponent: OrgAddEditComponent | AddEditComponent;\n if (this.organization != null) {\n childComponent = this.modal.show(OrgAddEditComponent, this.cipherAddEditModalRef);\n (childComponent as OrgAddEditComponent).organization = this.organization;\n } else {\n childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n }\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n if (this.organization != null) {\n childComponent.organizationId = this.organization.id;\n }\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n protected async checkAccess(): Promise {\n if (this.organization != null) {\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n if (this.requiresPaid && !this.organization.useTotp) {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n return false;\n }\n } else {\n const accessPremium = await this.userService.canAccessPremium();\n if (this.requiresPaid && !accessPremium) {\n this.messagingService.send('premiumRequired');\n this.loading = false;\n return false;\n }\n }\n return true;\n }\n\n protected async setCiphers() {\n this.ciphers = [];\n }\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { CipherData } from '../data/cipherData';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Attachment } from './attachment';\nimport { Card } from './card';\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { Password } from './password';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher extends Domain {\n id: string;\n organizationId: string;\n folderId: string;\n name: CipherString;\n notes: CipherString;\n type: CipherType;\n favorite: boolean;\n organizationUseTotp: boolean;\n edit: boolean;\n revisionDate: Date;\n localData: any;\n login: Login;\n identity: Identity;\n card: Card;\n secureNote: SecureNote;\n attachments: Attachment[];\n fields: Field[];\n passwordHistory: Password[];\n collectionIds: string[];\n\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n userId: null,\n organizationId: null,\n folderId: null,\n name: null,\n notes: null,\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\n\n this.type = obj.type;\n this.favorite = obj.favorite;\n this.organizationUseTotp = obj.organizationUseTotp;\n this.edit = obj.edit;\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new Login(obj.login, alreadyEncrypted);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\n break;\n case CipherType.Card:\n this.card = new Card(obj.card, alreadyEncrypted);\n break;\n case CipherType.Identity:\n this.identity = new Identity(obj.identity, alreadyEncrypted);\n break;\n default:\n break;\n }\n\n if (obj.attachments != null) {\n this.attachments = [];\n obj.attachments.forEach((attachment) => {\n this.attachments.push(new Attachment(attachment, alreadyEncrypted));\n });\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = [];\n obj.fields.forEach((field) => {\n this.fields.push(new Field(field, alreadyEncrypted));\n });\n } else {\n this.fields = null;\n }\n\n if (obj.passwordHistory != null) {\n this.passwordHistory = [];\n obj.passwordHistory.forEach((ph) => {\n this.passwordHistory.push(new Password(ph, alreadyEncrypted));\n });\n } else {\n this.passwordHistory = null;\n }\n }\n\n async decrypt(): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId);\n break;\n default:\n break;\n }\n\n const orgId = this.organizationId;\n\n if (this.attachments != null && this.attachments.length > 0) {\n const attachments: any[] = [];\n await this.attachments.reduce((promise, attachment) => {\n return promise.then(() => {\n return attachment.decrypt(orgId);\n }).then((decAttachment) => {\n attachments.push(decAttachment);\n });\n }, Promise.resolve());\n model.attachments = attachments;\n }\n\n if (this.fields != null && this.fields.length > 0) {\n const fields: any[] = [];\n await this.fields.reduce((promise, field) => {\n return promise.then(() => {\n return field.decrypt(orgId);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n if (this.passwordHistory != null && this.passwordHistory.length > 0) {\n const passwordHistory: any[] = [];\n await this.passwordHistory.reduce((promise, ph) => {\n return promise.then(() => {\n return ph.decrypt(orgId);\n }).then((decPh) => {\n passwordHistory.push(decPh);\n });\n }, Promise.resolve());\n model.passwordHistory = passwordHistory;\n }\n\n return model;\n }\n\n toCipherData(userId: string): CipherData {\n const c = new CipherData();\n c.id = this.id;\n c.organizationId = this.organizationId;\n c.folderId = this.folderId;\n c.userId = this.organizationId != null ? userId : null;\n c.edit = this.edit;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate != null ? this.revisionDate.toISOString() : null;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n\n this.buildDataModel(this, c, {\n name: null,\n notes: null,\n });\n\n switch (c.type) {\n case CipherType.Login:\n c.login = this.login.toLoginData();\n break;\n case CipherType.SecureNote:\n c.secureNote = this.secureNote.toSecureNoteData();\n break;\n case CipherType.Card:\n c.card = this.card.toCardData();\n break;\n case CipherType.Identity:\n c.identity = this.identity.toIdentityData();\n break;\n default:\n break;\n }\n\n if (this.fields != null) {\n c.fields = [];\n this.fields.forEach((field) => {\n c.fields.push(field.toFieldData());\n });\n }\n\n if (this.attachments != null) {\n c.attachments = [];\n this.attachments.forEach((attachment) => {\n c.attachments.push(attachment.toAttachmentData());\n });\n }\n\n if (this.passwordHistory != null) {\n c.passwordHistory = [];\n this.passwordHistory.forEach((ph) => {\n c.passwordHistory.push(ph.toPasswordHistoryData());\n });\n }\n return c;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\n\n@Injectable()\nexport class EventService {\n constructor(private i18nService: I18nService) { }\n\n getDefaultDateFilters() {\n const d = new Date();\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\n d.setDate(d.getDate() - 30);\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\n }\n\n formatDateFilters(filterStart: string, filterEnd: string) {\n const start: Date = new Date(filterStart);\n const end: Date = new Date(filterEnd + ':59.999');\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\n throw new Error('Invalid date range.');\n }\n return [start.toISOString(), end.toISOString()];\n }\n\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\n const appInfo = this.getAppInfo(ev.deviceType);\n return {\n message: this.getEventMessage(ev, options),\n appIcon: appInfo[0],\n appName: appInfo[1],\n };\n }\n\n private getEventMessage(ev: EventResponse, options: EventOptions) {\n let msg = '';\n switch (ev.type) {\n // User\n case EventType.User_LoggedIn:\n msg = this.i18nService.t('loggedIn');\n break;\n case EventType.User_ChangedPassword:\n msg = this.i18nService.t('changedPassword');\n break;\n case EventType.User_Updated2fa:\n msg = this.i18nService.t('enabledUpdated2fa');\n break;\n case EventType.User_Disabled2fa:\n msg = this.i18nService.t('disabled2fa');\n break;\n case EventType.User_Recovered2fa:\n msg = this.i18nService.t('recovered2fa');\n break;\n case EventType.User_FailedLogIn:\n msg = this.i18nService.t('failedLogin');\n break;\n case EventType.User_FailedLogIn2fa:\n msg = this.i18nService.t('failedLogin2fa');\n break;\n // Cipher\n case EventType.Cipher_Created:\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Updated:\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Deleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentCreated:\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentDeleted:\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Shared:\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_UpdatedCollections:\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\n break;\n // Collection\n case EventType.Collection_Created:\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Updated:\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Deleted:\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\n break;\n // Group\n case EventType.Group_Created:\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Updated:\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Deleted:\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\n break;\n // Org user\n case EventType.OrganizationUser_Invited:\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Confirmed:\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Updated:\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Removed:\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UpdatedGroups:\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\n break;\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n case EventType.Organization_PurgedVault:\n msg = this.i18nService.t('purgedOrganizationVault');\n break;\n default:\n break;\n }\n return msg === '' ? null : msg;\n }\n\n private getAppInfo(deviceType: DeviceType): [string, string] {\n switch (deviceType) {\n case DeviceType.Android:\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\n case DeviceType.iOS:\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\n case DeviceType.UWP:\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\n case DeviceType.ChromeExtension:\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\n case DeviceType.FirefoxExtension:\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\n case DeviceType.OperaExtension:\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\n case DeviceType.EdgeExtension:\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\n case DeviceType.VivaldiExtension:\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\n case DeviceType.SafariExtension:\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\n case DeviceType.WindowsDesktop:\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\n case DeviceType.MacOsDesktop:\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\n case DeviceType.LinuxDesktop:\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\n case DeviceType.ChromeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\n case DeviceType.FirefoxBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\n case DeviceType.OperaBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\n case DeviceType.SafariBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\n case DeviceType.VivaldiBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\n case DeviceType.EdgeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\n case DeviceType.IEBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\n case DeviceType.UnknownBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\n default:\n return ['fa-globe', this.i18nService.t('unknown')];\n }\n }\n\n private formatCipherId(ev: EventResponse, options: EventOptions) {\n const shortId = this.getShortId(ev.cipherId);\n if (ev.organizationId == null || !options.cipherInfo) {\n return '' + shortId + '';\n }\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\n '&viewEvents=' + ev.cipherId);\n return a.outerHTML;\n }\n\n private formatGroupId(ev: EventResponse) {\n const shortId = this.getShortId(ev.groupId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatCollectionId(ev: EventResponse) {\n const shortId = this.getShortId(ev.collectionId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatOrgUserId(ev: EventResponse) {\n const shortId = this.getShortId(ev.organizationUserId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\n '&viewEvents=' + ev.organizationUserId);\n return a.outerHTML;\n }\n\n private makeAnchor(shortId: string) {\n const a = document.createElement('a');\n a.title = this.i18nService.t('view');\n a.innerHTML = '' + shortId + '';\n return a;\n }\n\n private getShortId(id: string) {\n return id.substring(0, 8);\n }\n\n private toDateTimeLocalString(date: Date) {\n return date.getFullYear() +\n '-' + this.pad(date.getMonth() + 1) +\n '-' + this.pad(date.getDate()) +\n 'T' + this.pad(date.getHours()) +\n ':' + this.pad(date.getMinutes());\n }\n\n private pad(num: number) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n }\n}\n\nexport class EventInfo {\n message: string;\n appIcon: string;\n appName: string;\n}\n\nexport class EventOptions {\n cipherInfo = true;\n}\n","export enum OrganizationUserType {\r\n Owner = 0,\r\n Admin = 1,\r\n User = 2,\r\n Manager = 3,\r\n}\r\n","import { KdfType } from '../enums/kdfType';\nimport { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { DeviceRequest } from '../models/request/deviceRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\n\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\n\nexport const TwoFactorProviders = {\n [TwoFactorProviderType.Authenticator]: {\n type: TwoFactorProviderType.Authenticator,\n name: null as string,\n description: null as string,\n priority: 1,\n sort: 1,\n premium: false,\n },\n [TwoFactorProviderType.Yubikey]: {\n type: TwoFactorProviderType.Yubikey,\n name: null as string,\n description: null as string,\n priority: 3,\n sort: 2,\n premium: true,\n },\n [TwoFactorProviderType.Duo]: {\n type: TwoFactorProviderType.Duo,\n name: 'Duo',\n description: null as string,\n priority: 2,\n sort: 3,\n premium: true,\n },\n [TwoFactorProviderType.OrganizationDuo]: {\n type: TwoFactorProviderType.OrganizationDuo,\n name: 'Duo (Organization)',\n description: null as string,\n priority: 10,\n sort: 4,\n premium: false,\n },\n [TwoFactorProviderType.U2f]: {\n type: TwoFactorProviderType.U2f,\n name: null as string,\n description: null as string,\n priority: 4,\n sort: 5,\n premium: true,\n },\n [TwoFactorProviderType.Email]: {\n type: TwoFactorProviderType.Email,\n name: null as string,\n description: null as string,\n priority: 0,\n sort: 6,\n premium: false,\n },\n};\n\nexport class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\n\n private key: SymmetricCryptoKey;\n private kdf: KdfType;\n private kdfIterations: number;\n\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\n private userService: UserService, private tokenService: TokenService,\n private appIdService: AppIdService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\n private setCryptoKeys = true) { }\n\n init() {\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\n this.i18nService.t('authenticatorAppDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\n\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\n 'Duo (' + this.i18nService.t('organization') + ')';\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\n this.i18nService.t('duoOrganizationDesc');\n\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\n }\n\n async logIn(email: string, masterPassword: string): Promise {\n this.selectedTwoFactorProviderType = null;\n const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.key, twoFactorProvider,\n twoFactorToken, remember);\n }\n\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key, twoFactorProvider, twoFactorToken, remember);\n }\n\n logOut(callback: Function) {\n callback();\n this.messagingService.send('loggedOut');\n }\n\n getSupportedTwoFactorProviders(win: Window): any[] {\n const providers: any[] = [];\n if (this.twoFactorProviders == null) {\n return providers;\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProviders == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProviders.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProviders.forEach((value, type) => {\n const provider = (TwoFactorProviders as any)[type];\n if (provider != null && provider.priority > providerPriority) {\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\n return;\n }\n\n providerType = type;\n providerPriority = provider.priority;\n }\n });\n\n return providerType;\n }\n\n async makePreloginKey(masterPassword: string, email: string): Promise {\n email = email.trim().toLowerCase();\n this.kdf = null;\n this.kdfIterations = null;\n try {\n const preloginResponse = await this.apiService.postPrelogin(new PreloginRequest(email));\n if (preloginResponse != null) {\n this.kdf = preloginResponse.kdf;\n this.kdfIterations = preloginResponse.kdfIterations;\n }\n } catch (e) {\n if (e == null || e.statusCode !== 404) {\n throw e;\n }\n }\n return this.cryptoService.makeKey(masterPassword, email, this.kdf, this.kdfIterations);\n }\n\n private async logInHelper(email: string, hashedPassword: string, key: SymmetricCryptoKey,\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\n const appId = await this.appIdService.getAppId();\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(email, hashedPassword, twoFactorProvider, twoFactorToken, remember,\n deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(email, hashedPassword, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(email, hashedPassword, null, null, false, deviceRequest);\n }\n\n const response = await this.apiService.postIdentityToken(request);\n\n this.clearState();\n const result = new AuthResult();\n result.twoFactor = !(response as any).accessToken;\n\n if (result.twoFactor) {\n // two factor required\n const twoFactorResponse = response as IdentityTwoFactorResponse;\n this.email = email;\n this.masterPasswordHash = hashedPassword;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n if (tokenResponse.twoFactorToken != null) {\n this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setInformation(this.tokenService.getUserId(), this.tokenService.getEmail(),\n this.kdf, this.kdfIterations);\n if (this.setCryptoKeys) {\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(hashedPassword);\n await this.cryptoService.setEncKey(tokenResponse.key);\n\n // User doesn't have a key pair yet (old account), let's generate one for them\n if (tokenResponse.privateKey == null) {\n try {\n const keyPair = await this.cryptoService.makeKeyPair();\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\n tokenResponse.privateKey = keyPair[1].encryptedString;\n } catch (e) {\n // tslint:disable-next-line\n console.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.email = null;\n this.masterPasswordHash = null;\n this.twoFactorProviders = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\n\n@Component({\n selector: 'app-vault-groupings',\n templateUrl: 'groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n @Output() onSearchTextChanged = new EventEmitter();\n\n searchText: string = '';\n searchPlaceholder: string = null;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n searchTextChanged() {\n this.onSearchTextChanged.emit(this.searchText);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\n\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nconst MaxCheckedCount = 500;\n\n@Component({\n selector: 'app-vault-ciphers',\n templateUrl: 'ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent implements OnDestroy {\n @Input() showAddNew = true;\n @Output() onAttachmentsClicked = new EventEmitter();\n @Output() onShareClicked = new EventEmitter();\n @Output() onCollectionsClicked = new EventEmitter();\n\n cipherType = CipherType;\n actionPromise: Promise;\n\n constructor(searchService: SearchService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected cipherService: CipherService) {\n super(searchService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n checkCipher(c: CipherView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n if (select) {\n this.selectAll(false);\n }\n const selectCount = select && this.ciphers.length > MaxCheckedCount ? MaxCheckedCount : this.ciphers.length;\n for (let i = 0; i < selectCount; i++) {\n this.checkCipher(this.ciphers[i], select);\n }\n }\n\n getSelected(): CipherView[] {\n if (this.ciphers == null) {\n return [];\n }\n return this.ciphers.filter((c) => !!(c as any).checked);\n }\n\n getSelectedIds(): string[] {\n return this.getSelected().map((c) => c.id);\n }\n\n attachments(c: CipherView) {\n this.onAttachmentsClicked.emit(c);\n }\n\n share(c: CipherView) {\n this.onShareClicked.emit(c);\n }\n\n collections(c: CipherView) {\n this.onCollectionsClicked.emit(c);\n }\n\n async delete(c: CipherView): Promise {\n if (this.actionPromise != null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.deleteCipher(c.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n protected deleteCipher(id: string) {\n return this.cipherService.deleteWithServer(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return c.hasOldAttachments && c.organizationId == null;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\n\n@Component({\n selector: 'app-vault-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent {\n canAccessPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n showRevisionDate = false;\n hasPasswordHistory = false;\n viewingPasswordHistory = false;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n protected totpService: TotpService, protected passwordGenerationService: PasswordGenerationService,\n protected messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, messagingService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n await this.load();\n this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null;\n this.hasPasswordHistory = this.cipher.hasPasswordHistory;\n this.cleanUp();\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.canAccessPremium)) {\n await this.totpUpdateCode();\n const interval = this.totpService.getTimeInterval(this.cipher.login.totp);\n await this.totpTick(interval);\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick(interval);\n }, 1000);\n }\n }\n\n toggleFavorite() {\n this.cipher.favorite = !this.cipher.favorite;\n }\n\n launch(uri: LoginUriView) {\n if (!uri.canLaunch) {\n return;\n }\n\n this.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri.launchUri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.platformUtilsService.eventTrack('Copied ' + aType);\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = await this.passwordGenerationService.getOptions();\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n viewHistory() {\n this.viewingPasswordHistory = !this.viewingPasswordHistory;\n }\n\n protected cleanUp() {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n\n protected async totpUpdateCode() {\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n return;\n }\n\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\n if (this.totpCode != null) {\n if (this.totpCode.length > 4) {\n const half = Math.floor(this.totpCode.length / 2);\n this.totpCodeFormatted = this.totpCode.substring(0, half) + ' ' + this.totpCode.substring(half);\n } else {\n this.totpCodeFormatted = this.totpCode;\n }\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n private async totpTick(intervalSeconds: number) {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % intervalSeconds;\n\n this.totpSec = intervalSeconds - mod;\n this.totpDash = +(Math.round((((78.6 / intervalSeconds) * mod) + 'e+2') as any) + 'e-2');\n this.totpLow = this.totpSec <= 7;\n if (mod === 0) {\n await this.totpUpdateCode();\n }\n }\n}\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\n","export enum UriMatchType {\r\n Domain = 0,\r\n Host = 1,\r\n StartsWith = 2,\r\n Exact = 3,\r\n RegularExpression = 4,\r\n Never = 5,\r\n}\r\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: 'two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent implements OnInit {\n @ViewChild('recoveryTemplate', { read: ViewContainerRef }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n canAccessPremium: boolean;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected userService: UserService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n\n for (const key in TwoFactorProviders) {\n if (!TwoFactorProviders.hasOwnProperty(key)) {\n continue;\n }\n\n const p = (TwoFactorProviders as any)[key];\n if (this.filterProvider(p.type)) {\n continue;\n }\n\n this.providers.push({\n type: p.type,\n name: p.name,\n description: p.description,\n enabled: false,\n premium: p.premium,\n sort: p.sort,\n });\n }\n\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\n await this.load();\n }\n\n async load() {\n this.loading = true;\n const providerList = await this.getTwoFactorProviders();\n providerList.data.forEach((p) => {\n this.providers.forEach((p2) => {\n if (p.type === p2.type) {\n p2.enabled = p.enabled;\n }\n });\n });\n this.loading = false;\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.Authenticator:\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\n authComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\n });\n break;\n case TwoFactorProviderType.Yubikey:\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\n });\n break;\n case TwoFactorProviderType.Duo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\n });\n break;\n case TwoFactorProviderType.Email:\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\n emailComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Email);\n });\n break;\n case TwoFactorProviderType.U2f:\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\n });\n break;\n default:\n break;\n }\n }\n\n recoveryCode() {\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\n }\n\n async premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorProviders();\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type === TwoFactorProviderType.OrganizationDuo;\n }\n\n protected openModal(ref: ViewContainerRef, type: Type): T {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = ref.createComponent(factory).instance;\n const childComponent = this.modal.show(type, ref);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return childComponent;\n }\n\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\n if (!enabled && this.modal != null) {\n this.modal.close();\n }\n this.providers.forEach((p) => {\n if (p.type === type) {\n p.enabled = enabled;\n }\n });\n }\n}\n","export enum PaymentMethodType {\r\n Card = 0,\r\n BankAccount = 1,\r\n PayPal = 2,\r\n BitPay = 3,\r\n Credit = 4,\r\n WireTransfer = 5,\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { TransactionType } from 'jslib/enums/transactionType';\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\n\n@Component({\n selector: 'app-user-billing',\n templateUrl: 'user-billing.component.html',\n})\nexport class UserBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n showAdjustPayment = false;\n showAddCredit = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n transactionType = TransactionType;\n organizationId: string;\n verifyAmount1: number;\n verifyAmount2: number;\n\n verifyBankPromise: Promise;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService) { }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n if (this.organizationId != null) {\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n } else {\n this.billing = await this.apiService.getUserBilling();\n }\n this.loading = false;\n }\n\n async verifyBank() {\n if (this.loading) {\n return;\n }\n\n try {\n const request = new VerifyBankRequest();\n request.amount1 = this.verifyAmount1;\n request.amount2 = this.verifyAmount2;\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\n await this.verifyBankPromise;\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\n this.load();\n } catch { }\n }\n\n addCredit() {\n this.showAddCredit = true;\n }\n\n closeAddCredit(load: boolean) {\n this.showAddCredit = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n get isCreditBalance() {\n return this.billing == null || this.billing.balance <= 0;\n }\n\n get creditOrBalance() {\n return Math.abs(this.billing != null ? this.billing.balance : 0);\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get invoices() {\n return this.billing != null ? this.billing.invoices : null;\n }\n\n get transactions() {\n return this.billing != null ? this.billing.transactions : null;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportOption, ImportService } from 'jslib/abstractions/import.service';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: ImportOption[];\n importOptions: ImportOption[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected organizationId: string = null;\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected importService: ImportService,\n protected router: Router) { }\n\n ngOnInit() {\n this.setImportOptions();\n this.importOptions.sort((a, b) => {\n if (a.name == null && b.name != null) {\n return -1;\n }\n if (a.name != null && b.name == null) {\n return 1;\n }\n if (a.name == null && b.name == null) {\n return 0;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\n a.name.localeCompare(b.name);\n });\n }\n\n async submit() {\n const importer = this.importService.getImporter(this.format, this.organizationId != null);\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n let fileContents = this.fileContents;\n if (files != null && files.length > 0) {\n try {\n const content = await this.getFileContents(files[0]);\n if (content != null) {\n fileContents = content;\n }\n } catch { }\n }\n\n if (fileContents == null || fileContents === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n this.formPromise = this.importService.import(importer, fileContents, this.organizationId);\n const error = await this.formPromise;\n if (error != null) {\n this.error(error);\n return;\n }\n this.analytics.eventTrack.next({\n action: 'Imported Data',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\n this.router.navigate(this.successNavigate);\n } catch { }\n }\n\n getFormatInstructionTitle() {\n if (this.format == null) {\n return null;\n }\n\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\n if (results.length > 0) {\n return this.i18nService.t('instructionsFor', results[0].name);\n }\n return null;\n }\n\n protected setImportOptions() {\n this.featuredImportOptions = [{\n id: null,\n name: '-- ' + this.i18nService.t('select') + ' --',\n }, ...this.importService.featuredImportOptions];\n this.importOptions = this.importService.regularImportOptions;\n }\n\n private error(error: Error) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error.message);\n }\n\n private getFileContents(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = (evt) => {\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\n const parser = new DOMParser();\n const doc = parser.parseFromString((evt.target as any).result, 'text/html');\n const pre = doc.querySelector('pre');\n if (pre != null) {\n resolve(pre.textContent);\n return;\n }\n reject();\n return;\n }\n\n resolve((evt.target as any).result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\n}\n","import { Component } from '@angular/core';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\n\n@Component({\n selector: 'app-export',\n templateUrl: 'export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService) {\n super(cryptoService, i18nService, platformUtilsService, exportService, window);\n }\n\n protected saved() {\n super.saved();\n this.masterPassword = null;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('exportSuccess'));\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: 'reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordUseMap: Map;\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const ciphersWithPasswords: CipherView[] = [];\n this.passwordUseMap = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '') {\n return;\n }\n ciphersWithPasswords.push(c);\n if (this.passwordUseMap.has(c.login.password)) {\n this.passwordUseMap.set(c.login.password, this.passwordUseMap.get(c.login.password) + 1);\n } else {\n this.passwordUseMap.set(c.login.password, 1);\n }\n });\n const reusedPasswordCiphers = ciphersWithPasswords.filter((c) =>\n this.passwordUseMap.has(c.login.password) && this.passwordUseMap.get(c.login.password) > 1);\n this.ciphers = reusedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: 'unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends CipherReportComponent implements OnInit {\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const unsecuredCiphers = allCiphers.filter((c) => {\n if (c.type !== CipherType.Login || !c.login.hasUris) {\n return false;\n }\n return c.login.uris.some((u) => u.uri != null && u.uri.indexOf('http://') === 0);\n });\n this.ciphers = unsecuredCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: 'weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordStrengthMap = new Map();\n\n private passwordStrengthCache = new Map();\n\n constructor(protected cipherService: CipherService, protected passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const weakPasswordCiphers: CipherView[] = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '') {\n return;\n }\n const hasUsername = c.login.username != null && c.login.username.trim() !== '';\n const cacheKey = c.login.password + '_____' + (hasUsername ? c.login.username : '');\n if (!this.passwordStrengthCache.has(cacheKey)) {\n let userInput: string[] = [];\n if (hasUsername) {\n const atPosition = c.login.username.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(\n c.login.username.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/))\n .filter((i) => i.length >= 3);\n } else {\n userInput = c.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/)\n .filter((i) => i.length >= 3);\n }\n }\n const result = this.passwordGenerationService.passwordStrength(c.login.password,\n userInput.length > 0 ? userInput : null);\n this.passwordStrengthCache.set(cacheKey, result.score);\n }\n const score = this.passwordStrengthCache.get(cacheKey);\n if (score != null && score <= 3) {\n this.passwordStrengthMap.set(c.id, this.scoreKey(score));\n weakPasswordCiphers.push(c);\n }\n });\n this.ciphers = weakPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n private scoreKey(score: number): [string, string] {\n switch (score) {\n case 4:\n return ['strong', 'success'];\n case 3:\n return ['good', 'primary'];\n case 2:\n return ['weak', 'warning'];\n default:\n return ['veryWeak', 'danger'];\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: 'exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n exposedPasswordMap = new Map();\n\n constructor(protected cipherService: CipherService, protected auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n ngOnInit() {\n this.checkAccess();\n }\n\n async load() {\n if (await this.checkAccess()) {\n super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const exposedPasswordCiphers: CipherView[] = [];\n const promises: Array> = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '') {\n return;\n }\n const promise = this.auditService.passwordLeaked(c.login.password).then((exposedCount) => {\n if (exposedCount > 0) {\n exposedPasswordCiphers.push(c);\n this.exposedPasswordMap.set(c.id, exposedCount);\n }\n });\n promises.push(promise);\n });\n await Promise.all(promises);\n this.ciphers = exposedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: 'inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends CipherReportComponent implements OnInit {\n services = new Map();\n cipherDocs = new Map();\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n try {\n await this.load2fa();\n } catch { }\n if (this.services.size > 0) {\n const allCiphers = await this.getAllCiphers();\n const inactive2faCiphers: CipherView[] = [];\n const promises: Array> = [];\n const docs = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || (c.login.totp != null && c.login.totp !== '') || !c.login.hasUris) {\n return;\n }\n for (let i = 0; i < c.login.uris.length; i++) {\n const u = c.login.uris[i];\n if (u.uri != null && u.uri !== '') {\n const hostname = Utils.getHostname(u.uri);\n if (hostname != null && this.services.has(hostname)) {\n if (this.services.get(hostname) != null) {\n docs.set(c.id, this.services.get(hostname));\n }\n inactive2faCiphers.push(c);\n break;\n }\n }\n }\n });\n await Promise.all(promises);\n this.ciphers = inactive2faCiphers;\n this.cipherDocs = docs;\n }\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n private async load2fa() {\n if (this.services.size > 0) {\n return;\n }\n const response = await fetch(new Request('https://twofactorauth.org/data.json'));\n if (response.status !== 200) {\n throw new Error();\n }\n const responseJson = await response.json();\n for (const categoryName in responseJson) {\n if (responseJson.hasOwnProperty(categoryName)) {\n const category = responseJson[categoryName];\n for (const serviceName in category) {\n if (category.hasOwnProperty(serviceName)) {\n const service = category[serviceName];\n if (service.tfa && service.url != null) {\n const hostname = Utils.getHostname(service.url);\n if (hostname != null) {\n this.services.set(hostname, service.doc);\n }\n }\n }\n }\n }\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n@Pipe({\n name: 'search',\n})\nexport class SearchPipe implements PipeTransform {\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\n if (items == null || items.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return items;\n }\n\n searchText = searchText.trim().toLowerCase();\n return items.filter((i) => {\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n return false;\n });\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n\n constructor(id: string, readOnly: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n }\n}\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class SelectionReadOnlyResponse extends BaseResponse {\r\n id: string;\r\n readOnly: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.readOnly = this.getResponseProperty('ReadOnly');\r\n }\r\n}\r\n","import { EnvironmentService } from './environment.service';\r\n\r\nexport abstract class NotificationsService {\r\n init: (environmentService: EnvironmentService) => Promise;\r\n updateConnection: (sync?: boolean) => Promise;\r\n reconnectFromActivity: () => Promise;\r\n disconnectFromInactivity: () => Promise;\r\n}\r\n","export abstract class SettingsService {\r\n clearCache: () => void;\r\n getEquivalentDomains: () => Promise;\r\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\r\n clear: (userId: string) => Promise;\r\n}\r\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-frontend-layout',\n templateUrl: 'frontend-layout.component.html',\n})\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n document.body.classList.add('layout_frontend');\n }\n\n ngOnDestroy() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: 'login.component.html',\n})\nexport class LoginComponent extends BaseLoginComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, private stateService: StateService,\n platformUtilsService: PlatformUtilsService) {\n super(authService, router, platformUtilsService, i18nService, storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n await super.ngOnInit();\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\n\n@Component({\n selector: 'app-two-factor',\n templateUrl: 'two-factor.component.html',\n})\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\n @ViewChild('twoFactorOptions', { read: ViewContainerRef }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, private stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n anotherMethod() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\n const childComponent = modal.show(TwoFactorOptionsComponent,\n this.twoFactorOptionsModal);\n\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\n modal.close();\n this.selectedProviderType = provider;\n await this.init();\n });\n childComponent.onRecoverSelected.subscribe(() => {\n modal.close();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-password-strength',\n templateUrl: 'password-strength.component.html',\n})\nexport class PasswordStrengthComponent implements OnChanges {\n @Input() score?: number;\n @Input() showText = false;\n\n scoreWidth = 0;\n color = 'bg-danger';\n text: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnChanges(): void {\n this.scoreWidth = this.score == null ? 0 : (this.score + 1) * 20;\n switch (this.score) {\n case 4:\n this.color = 'bg-success';\n this.text = this.i18nService.t('strong');\n break;\n case 3:\n this.color = 'bg-primary';\n this.text = this.i18nService.t('good');\n break;\n case 2:\n this.color = 'bg-warning';\n this.text = this.i18nService.t('weak');\n break;\n default:\n this.color = 'bg-danger';\n this.text = this.score != null ? this.i18nService.t('weak') : null;\n break;\n }\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n showTerms = true;\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService,\n passwordGenerationService: PasswordGenerationService) {\n super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService,\n passwordGenerationService);\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe((qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.showCreateOrgMessage = true;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n}\n","export enum KdfType {\r\n PBKDF2_SHA256 = 0,\r\n}\r\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\n\n@Component({\n selector: 'app-hint',\n templateUrl: 'hint.component.html',\n})\nexport class HintComponent extends BaseHintComponent {\n constructor(router: Router, i18nService: I18nService,\n apiService: ApiService, platformUtilsService: PlatformUtilsService) {\n super(router, i18nService, apiService, platformUtilsService);\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { LockService } from 'jslib/abstractions/lock.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { RouterService } from '../services/router.service';\r\n\r\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\r\n\r\n@Component({\r\n selector: 'app-lock',\r\n templateUrl: 'lock.component.html',\r\n})\r\nexport class LockComponent extends BaseLockComponent {\r\n constructor(router: Router, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\r\n userService: UserService, cryptoService: CryptoService,\r\n storageService: StorageService, lockService: LockService,\r\n private routerService: RouterService) {\r\n super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService,\r\n storageService, lockService);\r\n }\r\n\r\n async ngOnInit() {\r\n await super.ngOnInit();\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n this.router.navigate(['/']);\r\n } else if (await this.cryptoService.hasKey()) {\r\n this.router.navigate(['vault']);\r\n }\r\n\r\n this.onSuccessfulSubmit = () => {\r\n const previousUrl = this.routerService.getPreviousUrl();\r\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\r\n this.successRoute = previousUrl;\r\n }\r\n this.router.navigate([this.successRoute]);\r\n };\r\n }\r\n}\r\n","export enum EncryptionType {\r\n AesCbc256_B64 = 0,\r\n AesCbc128_HmacSha256_B64 = 1,\r\n AesCbc256_HmacSha256_B64 = 2,\r\n Rsa2048_OaepSha256_B64 = 3,\r\n Rsa2048_OaepSha1_B64 = 4,\r\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\r\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\n\n@Component({\n selector: 'app-verify-email-token',\n templateUrl: 'verify-email-token.component.html',\n})\nexport class VerifyEmailTokenComponent implements OnInit {\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null) {\n try {\n await this.apiService.postAccountVerifyEmailToken(\n new VerifyEmailRequest(qParams.userId, qParams.token));\n const authed = await this.userService.isAuthenticated();\n if (authed) {\n await this.apiService.refreshIdentityToken();\n }\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\n this.router.navigate(['/']);\n return;\n } catch { }\n }\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\n this.router.navigate(['/']);\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport {\r\n Toast,\r\n ToasterService,\r\n} from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\r\n\r\n@Component({\r\n selector: 'app-accept-organization',\r\n templateUrl: 'accept-organization.component.html',\r\n})\r\nexport class AcceptOrganizationComponent implements OnInit {\r\n loading = true;\r\n authed = false;\r\n orgName: string;\r\n email: string;\r\n actionPromise: Promise;\r\n\r\n constructor(private router: Router, private toasterService: ToasterService,\r\n private i18nService: I18nService, private route: ActivatedRoute,\r\n private apiService: ApiService, private userService: UserService,\r\n private stateService: StateService) { }\r\n\r\n ngOnInit() {\r\n let fired = false;\r\n this.route.queryParams.subscribe(async (qParams) => {\r\n if (fired) {\r\n return;\r\n }\r\n fired = true;\r\n await this.stateService.remove('orgInvitation');\r\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\r\n if (!error) {\r\n this.authed = await this.userService.isAuthenticated();\r\n if (this.authed) {\r\n const request = new OrganizationUserAcceptRequest();\r\n request.token = qParams.token;\r\n try {\r\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\r\n qParams.organizationUserId, request);\r\n await this.actionPromise;\r\n const toast: Toast = {\r\n type: 'success',\r\n title: this.i18nService.t('inviteAccepted'),\r\n body: this.i18nService.t('inviteAcceptedDesc'),\r\n timeout: 10000,\r\n };\r\n this.toasterService.popAsync(toast);\r\n this.router.navigate(['/vault']);\r\n } catch {\r\n error = true;\r\n }\r\n } else {\r\n await this.stateService.save('orgInvitation', qParams);\r\n this.email = qParams.email;\r\n this.orgName = qParams.organizationName;\r\n if (this.orgName != null) {\r\n // Fix URL encoding of space issue with Angular\r\n this.orgName = this.orgName.replace(/\\+/g, ' ');\r\n }\r\n }\r\n }\r\n\r\n if (error) {\r\n this.toasterService.popAsync('error', null, this.i18nService.t('inviteAcceptFailed'));\r\n this.router.navigate(['/']);\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\n\n@Component({\n selector: 'app-recover-two-factor',\n templateUrl: 'recover-two-factor.component.html',\n})\nexport class RecoverTwoFactorComponent {\n email: string;\n masterPassword: string;\n recoveryCode: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private cryptoService: CryptoService,\n private authService: AuthService) { }\n\n async submit() {\n try {\n const request = new TwoFactorRecoveryRequest();\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\n request.email = this.email.trim().toLowerCase();\n const key = await this.authService.makePreloginKey(this.masterPassword, request.email);\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n this.formPromise = this.apiService.postTwoFactorRecover(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\n\n@Component({\n selector: 'app-recover-delete',\n templateUrl: 'recover-delete.component.html',\n})\nexport class RecoverDeleteComponent {\n email: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService) {\n }\n\n async submit() {\n try {\n const request = new DeleteRecoverRequest();\n request.email = this.email.trim().toLowerCase();\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\n\n@Component({\n selector: 'app-verify-recover-delete',\n templateUrl: 'verify-recover-delete.component.html',\n})\nexport class VerifyRecoverDeleteComponent implements OnInit {\n email: string;\n formPromise: Promise;\n\n private userId: string;\n private token: string;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\n this.userId = qParams.userId;\n this.token = qParams.token;\n this.email = qParams.email;\n } else {\n this.router.navigate(['/']);\n }\n });\n }\n\n async submit() {\n try {\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: 'navbar.component.html',\n})\nexport class NavbarComponent implements OnInit {\n selfHosted = false;\n name: string;\n email: string;\n\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\n private tokenService: TokenService) {\n this.selfHosted = this.platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.name = await this.tokenService.getName();\n this.email = await this.tokenService.getEmail();\n if (this.name == null || this.name.trim() === '') {\n this.name = this.email;\n }\n }\n\n lock() {\n this.messagingService.send('lockVault');\n }\n\n logOut() {\n this.messagingService.send('logout');\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n})\nexport class FooterComponent implements OnInit {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-layout',\r\n templateUrl: 'user-layout.component.html',\r\n})\r\nexport class UserLayoutComponent implements OnInit {\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { OrganizationsComponent } from '../settings/organizations.component';\nimport { UpdateKeyComponent } from '../settings/update-key.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { FolderAddEditComponent } from './folder-add-edit.component';\nimport { GroupingsComponent } from './groupings.component';\nimport { ShareComponent } from './share.component';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'VaultComponent';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef }) bulkShareModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef }) updateKeyModalRef: ViewContainerRef;\n\n favorites: boolean = false;\n type: CipherType = null;\n folderId: string = null;\n collectionId: string = null;\n showVerifyEmail = false;\n showBrowserOutdated = false;\n showUpdateKey = false;\n showPremiumCallout = false;\n\n private modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private tokenService: TokenService, private cryptoService: CryptoService,\n private messagingService: MessagingService, private userService: UserService,\n private platformUtilsService: PlatformUtilsService, private toasterService: ToasterService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n\n this.showUpdateKey = !(await this.cryptoService.hasEncKey());\n const canAccessPremium = await this.userService.canAccessPremium();\n this.showPremiumCallout = !this.showVerifyEmail && !canAccessPremium &&\n !this.platformUtilsService.isSelfHost();\n\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (params.favorites) {\n this.groupingsComponent.selectedFavorites = true;\n await this.filterFavorites();\n } else if (params.type) {\n const t = parseInt(params.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t);\n } else if (params.folderId) {\n this.groupingsComponent.selectedFolder = true;\n this.groupingsComponent.selectedFolderId = params.folderId;\n await this.filterFolder(params.folderId);\n } else if (params.collectionId) {\n this.groupingsComponent.selectedCollectionId = params.collectionId;\n await this.filterCollection(params.collectionId);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n this.ciphersComponent.load(this.ciphersComponent.filter),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.load();\n this.clearFilters();\n this.go();\n }\n\n async filterFavorites() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\n await this.ciphersComponent.load((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterCipherType(type: CipherType) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n await this.ciphersComponent.load((c) => c.type === type);\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterFolder(folderId: string) {\n this.ciphersComponent.showAddNew = true;\n folderId = folderId === 'none' ? null : folderId;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\n await this.ciphersComponent.load((c) => c.folderId === folderId);\n this.clearFilters();\n this.folderId = folderId == null ? 'none' : folderId;\n this.go();\n }\n\n async filterCollection(collectionId: string) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.load((c) => c.collectionIds != null && c.collectionIds.indexOf(collectionId) > -1);\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n this.ciphersComponent.search(200);\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const canAccessPremium = await this.userService.canAccessPremium();\n if (cipher.organizationId == null && !canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n } else if (cipher.organizationId != null) {\n const org = await this.userService.getOrganization(cipher.organizationId);\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onReuploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n shareCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.shareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSharedCipher.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async addFolder() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = null;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async editFolder(folderId: string) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = folderId;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n childComponent.onDeletedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n await this.filterFolder('none');\n this.groupingsComponent.selectedFolderId = null;\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n component.folderId = this.folderId === 'none' ? null : this.folderId;\n if (this.collectionId != null) {\n const collection = this.groupingsComponent.collections.filter((c) => c.id === this.collectionId);\n if (collection.length > 0) {\n component.organizationId = collection[0].organizationId;\n component.collectionIds = [this.collectionId];\n }\n }\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n bulkDelete() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onDeleted.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkShare() {\n const selectedCiphers = this.ciphersComponent.getSelected();\n if (selectedCiphers.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\n\n childComponent.ciphers = selectedCiphers;\n childComponent.onShared.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n bulkMove() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onMoved.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n selectAll(select: boolean) {\n this.ciphersComponent.selectAll(select);\n }\n\n updateKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.folderId = null;\n this.collectionId = null;\n this.favorites = false;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n favorites: this.favorites ? true : null,\n type: this.type,\n folderId: this.folderId,\n collectionId: this.collectionId,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherWithIdRequest extends CipherRequest {\n id: string;\n\n constructor(cipher: Cipher) {\n super(cipher);\n this.id = cipher.id;\n }\n}\n","import { Folder } from '../domain/folder';\r\n\r\nexport class FolderRequest {\r\n name: string;\r\n\r\n constructor(folder: Folder) {\r\n this.name = folder.name ? folder.name.encryptedString : null;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\n\n@Component({\n selector: 'app-vault-attachments',\n templateUrl: 'attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService, window);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.showFixOldAttachments(attachment)) {\n await this.reuploadCipherAttachment(attachment, false);\n }\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.cipher.organizationId == null;\n }\n}\n","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from 'jslib/angular/components/collections.component';\n\n@Component({\n selector: 'app-vault-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n this.collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'SettingsComponent';\n\n@Component({\n selector: 'app-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent implements OnInit, OnDestroy {\n premium: boolean;\n selfHosted: boolean;\n\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\n private ngZone: NgZone, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'purchasedPremium':\n await this.load();\n break;\n default:\n }\n });\n });\n\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n await this.load();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.premium = await this.tokenService.getPremium();\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './delete-account.component';\r\nimport { PurgeVaultComponent } from './purge-vault.component';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef }) deauthModalRef: ViewContainerRef;\r\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n deauthorizeSessions() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deauthModalRef.createComponent(factory).instance;\r\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n deleteAccount() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import {\n Component,\n Input,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-purge-vault',\n templateUrl: 'purge-vault.component.html',\n})\nexport class PurgeVaultComponent {\n @Input() organizationId?: string = null;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postPurgeCiphers(request, this.organizationId);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.organizationId != null ? 'Purged Organization Vault' : 'Purged Vault',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\n if (this.organizationId != null) {\n this.router.navigate(['organizations', this.organizationId, 'vault']);\n } else {\n this.router.navigate(['vault']);\n }\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-options',\n templateUrl: 'options.component.html',\n})\nexport class OptionsComponent implements OnInit {\n lockOption: number = null;\n disableIcons: boolean;\n enableGravatars: boolean;\n locale: string;\n lockOptions: any[];\n localeOptions: any[];\n\n private startingLocale: string;\n\n constructor(private storageService: StorageService, private stateService: StateService,\n private analytics: Angulartics2, private i18nService: I18nService,\n private toasterService: ToasterService, private lockService: LockService,\n private platformUtilsService: PlatformUtilsService) {\n this.lockOptions = [\n { name: i18nService.t('oneMinute'), value: 1 },\n { name: i18nService.t('fiveMinutes'), value: 5 },\n { name: i18nService.t('fifteenMinutes'), value: 15 },\n { name: i18nService.t('thirtyMinutes'), value: 30 },\n { name: i18nService.t('oneHour'), value: 60 },\n { name: i18nService.t('fourHours'), value: 240 },\n { name: i18nService.t('onRefresh'), value: -1 },\n ];\n if (this.platformUtilsService.isDev()) {\n this.lockOptions.push({ name: i18nService.t('never'), value: null });\n }\n\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n localeOptions.push({ name: locale, value: locale });\n });\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\n this.localeOptions = localeOptions;\n }\n\n async ngOnInit() {\n this.lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.enableGravatars = await this.storageService.get('enableGravatars');\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.lockService.setLockOption(this.lockOption != null ? this.lockOption : null);\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save('enableGravatars', this.enableGravatars);\n await this.stateService.save('enableGravatars', this.enableGravatars);\n await this.storageService.save(ConstantsService.localeKey, this.locale);\n this.analytics.eventTrack.next({ action: 'Saved Options' });\n if (this.locale !== this.startingLocale) {\n window.location.reload();\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\n }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\n\n@Component({\n selector: 'app-domain-rules',\n templateUrl: 'domain-rules.component.html',\n})\nexport class DomainRulesComponent implements OnInit {\n loading = true;\n custom: string[] = [];\n global: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const response = await this.apiService.getSettingsDomains();\n this.loading = false;\n if (response.equivalentDomains != null) {\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\n }\n if (response.globalEquivalentDomains != null) {\n this.global = response.globalEquivalentDomains.map((d) => {\n return {\n domains: d.domains.join(', '),\n excluded: d.excluded,\n key: d.type,\n };\n });\n }\n }\n\n toggleExcluded(globalDomain: any) {\n globalDomain.excluded = !globalDomain.excluded;\n }\n\n customize(globalDomain: any) {\n globalDomain.excluded = true;\n this.custom.push(globalDomain.domains);\n }\n\n remove(index: number) {\n this.custom.splice(index, 1);\n }\n\n add() {\n this.custom.push('');\n }\n\n async submit() {\n const request = new UpdateDomainsRequest();\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\n .map((d) => d.key);\n if (request.excludedGlobalEquivalentDomains.length === 0) {\n request.excludedGlobalEquivalentDomains = null;\n }\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\n .map((d) => d.split(',').map((d2) => d2.trim()));\n if (request.equivalentDomains.length === 0) {\n request.equivalentDomains = null;\n }\n\n try {\n this.formPromise = this.apiService.putSettingsDomains(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\n } catch { }\n }\n\n indexTrackBy(index: number, obj: any): any {\n return index;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-duo',\n templateUrl: 'two-factor-duo.component.html',\n})\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Duo;\n ikey: string;\n skey: string;\n host: string;\n formPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorDuoRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.integrationKey = this.ikey;\n request.secretKey = this.skey;\n request.host = this.host;\n\n return super.enable(async () => {\n if (this.organizationId != null) {\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.putTwoFactorDuo(request);\n }\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private processResponse(response: TwoFactorDuoResponse) {\n this.ikey = response.integrationKey;\n this.skey = response.secretKey;\n this.host = response.host;\n this.enabled = response.enabled;\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n
\n
\n
\n \"Visa,\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n\n \n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'makeSureEnoughCredit' | i18n}}\n \n\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-premium',\n templateUrl: 'premium.component.html',\n})\nexport class PremiumComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n canAccessPremium = false;\n selfHosted = false;\n premiumPrice = 10;\n storageGbPrice = 4;\n additionalStorage = 0;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\n private router: Router, private messagingService: MessagingService,\n private syncService: SyncService, private userService: UserService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/subscription']);\n return;\n }\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n if (this.selfHosted) {\n if (!this.tokenService.getEmailVerified()) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verifyEmailFirst'));\n return;\n }\n\n const fd = new FormData();\n fd.append('license', files[0]);\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\n return this.finalizePremium();\n });\n } else {\n this.formPromise = this.paymentComponent.createPaymentToken().then((result) => {\n const fd = new FormData();\n fd.append('paymentMethodType', result[1].toString());\n if (result[0] != null) {\n fd.append('paymentToken', result[0]);\n }\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n return this.apiService.postPremium(fd);\n }).then(() => {\n return this.finalizePremium();\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\n this.messagingService.send('purchasedPremium');\n this.router.navigate(['/settings/subscription']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * this.additionalStorage;\n }\n\n get total(): number {\n return this.additionalStorageTotal + this.premiumPrice;\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { BitPayInvoiceRequest } from 'jslib/models/request/bitPayInvoiceRequest';\n\nimport { WebConstants } from '../../services/webConstants';\n\n@Component({\n selector: 'app-add-credit',\n templateUrl: 'add-credit.component.html',\n})\nexport class AddCreditComponent implements OnInit {\n @Input() creditAmount: string;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.PayPal;\n @Input() organizationId: string;\n @Output() onAdded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n @ViewChild('ppButtonForm', { read: ElementRef }) ppButtonFormRef: ElementRef;\n\n paymentMethodType = PaymentMethodType;\n ppButtonFormAction = WebConstants.paypal.buttonActionProduction;\n ppButtonBusinessId = WebConstants.paypal.businessIdProduction;\n ppButtonCustomField: string;\n ppLoading = false;\n subject: string;\n returnUrl: string;\n formPromise: Promise;\n\n private userId: string;\n private name: string;\n private email: string;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) {\n if (platformUtilsService.isDev()) {\n this.ppButtonFormAction = WebConstants.paypal.buttonActionSandbox;\n this.ppButtonBusinessId = WebConstants.paypal.businessIdSandbox;\n }\n }\n\n async ngOnInit() {\n if (this.organizationId != null) {\n if (this.creditAmount == null) {\n this.creditAmount = '20.00';\n }\n this.ppButtonCustomField = 'organization_id:' + this.organizationId;\n const org = await this.userService.getOrganization(this.organizationId);\n if (org != null) {\n this.subject = org.name;\n this.name = org.name;\n }\n } else {\n if (this.creditAmount == null) {\n this.creditAmount = '10.00';\n }\n this.userId = await this.userService.getUserId();\n this.subject = await this.userService.getEmail();\n this.email = this.subject;\n this.ppButtonCustomField = 'user_id:' + this.userId;\n }\n this.ppButtonCustomField += ',account_credit:1';\n this.returnUrl = window.location.href;\n }\n\n async submit() {\n if (this.creditAmount == null || this.creditAmount === '') {\n return;\n }\n\n if (this.method === PaymentMethodType.PayPal) {\n this.ppButtonFormRef.nativeElement.submit();\n this.ppLoading = true;\n return;\n }\n if (this.method === PaymentMethodType.BitPay) {\n try {\n const req = new BitPayInvoiceRequest();\n req.email = this.email;\n req.name = this.name;\n req.credit = true;\n req.amount = this.creditAmountNumber;\n req.organizationId = this.organizationId;\n req.userId = this.userId;\n req.returnUrl = this.returnUrl;\n this.formPromise = this.apiService.postBitPayInvoice(req);\n const bitPayUrl: string = await this.formPromise;\n this.platformUtilsService.launchUri(bitPayUrl);\n } catch { }\n return;\n }\n try {\n this.analytics.eventTrack.next({\n action: 'Added Credit',\n });\n this.onAdded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n formatAmount() {\n try {\n if (this.creditAmount != null && this.creditAmount !== '') {\n const floatAmount = Math.abs(parseFloat(this.creditAmount));\n if (floatAmount > 0) {\n this.creditAmount = parseFloat((Math.round(floatAmount * 100) / 100).toString())\n .toFixed(2).toString();\n return;\n }\n }\n } catch { }\n this.creditAmount = '';\n }\n\n get creditAmountNumber(): number {\n if (this.creditAmount != null && this.creditAmount !== '') {\n try {\n return parseFloat(this.creditAmount);\n } catch { }\n }\n return null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n @Input() currentType?: PaymentMethodType;\n @Input() organizationId: string;\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n paymentMethodType = PaymentMethodType;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new PaymentRequest();\n this.formPromise = this.paymentComponent.createPaymentToken().then((result) => {\n request.paymentToken = result[0];\n request.paymentMethodType = result[1];\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n return this.apiService.postOrganizationPayment(this.organizationId, request);\n }\n });\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\n this.onAdjusted.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-update-license',\n templateUrl: 'update-license.component.html',\n})\nexport class UpdateLicenseComponent {\n @Input() organizationId: string;\n @Output() onUpdated = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n const fd = new FormData();\n fd.append('license', files[0]);\n\n let updatePromise: Promise = null;\n if (this.organizationId == null) {\n updatePromise = this.apiService.postAccountLicense(fd);\n } else {\n updatePromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n this.formPromise = updatePromise.then(() => {\n return this.apiService.refreshIdentityToken();\n });\n\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated License' });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\n this.onUpdated.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\n\n@Component({\n selector: 'app-adjust-storage',\n templateUrl: 'adjust-storage.component.html',\n})\nexport class AdjustStorageComponent {\n @Input() storageGbPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new StorageRequest();\n request.storageGbAdjustment = this.storageAdjustment;\n if (!this.add) {\n request.storageGbAdjustment *= -1;\n }\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n this.onAdjusted.emit(this.storageAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedStorageTotal(): number {\n return this.storageGbPrice * this.storageAdjustment;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { SubscriptionResponse } from 'jslib/models/response/subscriptionResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\n@Component({\n selector: 'app-user-subscription',\n templateUrl: 'user-subscription.component.html',\n})\nexport class UserSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n sub: SubscriptionResponse;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n\n if (this.tokenService.getPremium()) {\n this.loading = true;\n this.sub = await this.apiService.getUserSubscription();\n } else {\n this.router.navigate(['/settings/premium']);\n return;\n }\n\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postReinstatePremium();\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postCancelPremium();\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const licenseString = JSON.stringify(this.sub.license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n ownedBusiness = false;\n premiumAccessAddon = false;\n storageGbPriceMonthly = 0.33;\n additionalStorage = 0;\n additionalSeats = 0;\n plan = 'free';\n interval = 'year';\n name: string;\n billingEmail: string;\n businessName: string;\n\n storageGb: any = {\n price: 0.33,\n monthlyPrice: 0.50,\n yearlyPrice: 4,\n };\n\n plans: any = {\n free: {\n basePrice: 0,\n noAdditionalSeats: true,\n noPayment: true,\n },\n families: {\n basePrice: 1,\n annualBasePrice: 12,\n baseSeats: 5,\n noAdditionalSeats: true,\n annualPlanType: PlanType.FamiliesAnnually,\n canBuyPremiumAccessAddon: true,\n },\n teams: {\n basePrice: 5,\n annualBasePrice: 60,\n monthlyBasePrice: 8,\n baseSeats: 5,\n seatPrice: 2,\n annualSeatPrice: 24,\n monthlySeatPrice: 2.5,\n monthPlanType: PlanType.TeamsMonthly,\n annualPlanType: PlanType.TeamsAnnually,\n },\n enterprise: {\n seatPrice: 3,\n annualSeatPrice: 36,\n monthlySeatPrice: 4,\n monthPlanType: PlanType.EnterpriseMonthly,\n annualPlanType: PlanType.EnterpriseAnnually,\n },\n };\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private router: Router, private syncService: SyncService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families' || qParams.plan === 'teams' || qParams.plan === 'enterprise') {\n this.plan = qParams.plan;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n let key: string = null;\n let collectionCt: string = null;\n\n try {\n this.formPromise = this.cryptoService.makeShareKey().then((shareKey) => {\n key = shareKey[0].encryptedString;\n return this.cryptoService.encrypt(this.i18nService.t('defaultCollection'), shareKey[1]);\n }).then((collection) => {\n collectionCt = collection.encryptedString;\n if (this.selfHosted || this.plan === 'free') {\n return null;\n } else {\n return this.paymentComponent.createPaymentToken();\n }\n }).then((tokenResult) => {\n if (this.selfHosted) {\n const fd = new FormData();\n fd.append('license', files[0]);\n fd.append('key', key);\n fd.append('collectionName', collectionCt);\n return this.apiService.postOrganizationLicense(fd);\n } else {\n const request = new OrganizationCreateRequest();\n request.key = key;\n request.collectionName = collectionCt;\n request.name = this.name;\n request.billingEmail = this.billingEmail;\n\n if (this.plan === 'free') {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = tokenResult[0];\n request.paymentMethodType = tokenResult[1];\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.plans[this.plan].canBuyPremiumAccessAddon &&\n this.premiumAccessAddon;\n if (this.interval === 'month') {\n request.planType = this.plans[this.plan].monthPlanType;\n } else {\n request.planType = this.plans[this.plan].annualPlanType;\n }\n }\n return this.apiService.postOrganization(request);\n }\n }).then((response) => {\n return this.finalize(response.id);\n });\n await this.formPromise;\n } catch { }\n }\n\n async finalize(orgId: string) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationCreated'),\n this.i18nService.t('organizationReadyToGo'));\n this.router.navigate(['/organizations/' + orgId]);\n }\n\n changedPlan() {\n if (!this.plans[this.plan].canBuyPremiumAccessAddon) {\n this.premiumAccessAddon = false;\n }\n\n if (this.plans[this.plan].monthPlanType == null) {\n this.interval = 'year';\n }\n\n if (this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.plans[this.plan].baseSeats &&\n !this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.plan === 'teams' || this.plan === 'enterprise') {\n return;\n }\n this.plan = 'teams';\n }\n\n additionalStorageTotal(annual: boolean): number {\n if (annual) {\n return (this.additionalStorage || 0) * this.storageGb.yearlyPrice;\n } else {\n return (this.additionalStorage || 0) * this.storageGb.monthlyPrice;\n }\n }\n\n seatTotal(annual: boolean): number {\n if (this.plans[this.plan].noAdditionalSeats) {\n return 0;\n }\n\n if (annual) {\n return this.plans[this.plan].annualSeatPrice * (this.additionalSeats || 0);\n } else {\n return this.plans[this.plan].monthlySeatPrice * (this.additionalSeats || 0);\n }\n }\n\n baseTotal(annual: boolean): number {\n if (annual) {\n return (this.plans[this.plan].annualBasePrice || 0);\n } else {\n return (this.plans[this.plan].monthlyBasePrice || 0);\n }\n }\n\n premiumAccessTotal(annual: boolean): number {\n if (this.plans[this.plan].canBuyPremiumAccessAddon && this.premiumAccessAddon) {\n if (annual) {\n return 40;\n }\n }\n return 0;\n }\n\n get total(): number {\n const annual = this.interval === 'year';\n return this.baseTotal(annual) + this.seatTotal(annual) + this.additionalStorageTotal(annual) +\n this.premiumAccessTotal(annual);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent implements OnInit {\n canAccessPremium = false;\n\n constructor(private userService: UserService, private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\n} from 'jslib/angular/components/password-generator.component';\n\nimport { ModalComponent } from '../modal.component';\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator',\n templateUrl: 'password-generator.component.html',\n})\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\n @ViewChild('historyTemplate', { read: ViewContainerRef }) historyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n\n history() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.historyModalRef.createComponent(factory).instance;\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\r\n\r\n@Component({\r\n selector: 'app-breach-report',\r\n templateUrl: 'breach-report.component.html',\r\n})\r\nexport class BreachReportComponent implements OnInit {\r\n error = false;\r\n username: string;\r\n checkedUsername: string;\r\n breachedAccounts: BreachAccountResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private auditService: AuditService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.username = await this.userService.getEmail();\r\n }\r\n\r\n async submit() {\r\n this.error = false;\r\n this.username = this.username.toLowerCase();\r\n try {\r\n this.formPromise = this.auditService.breachedAccounts(this.username);\r\n this.breachedAccounts = await this.formPromise;\r\n } catch {\r\n this.error = true;\r\n }\r\n this.checkedUsername = this.username;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCreateRequest } from 'jslib/models/request/cipherCreateRequest';\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../../vault/add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent {\n organization: Organization;\n originalCipher: Cipher = null;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n private apiService: ApiService, messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService);\n }\n\n protected loadCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n const data = new CipherData(response);\n this.originalCipher = new Cipher(data);\n return new Cipher(data);\n }\n\n protected encryptCipher() {\n if (!this.organization.isAdmin) {\n return super.encryptCipher();\n }\n return this.cipherService.encrypt(this.cipher, null, this.originalCipher);\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.isAdmin) {\n return super.saveCipher(cipher);\n }\n if (this.editMode) {\n const request = new CipherRequest(cipher);\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n const request = new CipherCreateRequest(cipher);\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.isAdmin) {\n return super.deleteCipher();\n }\n return this.apiService.deleteCipherAdmin(this.cipherId);\n }\n}\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nconst BroadcasterSubscriptionId = 'OrganizationLayoutComponent';\n\n@Component({\n selector: 'app-organization-layout',\n templateUrl: 'organization-layout.component.html',\n})\nexport class OrganizationLayoutComponent implements OnInit, OnDestroy {\n organization: Organization;\n\n private organizationId: string;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n ngOnInit() {\n document.body.classList.remove('layout_frontend');\n this.route.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n });\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'updatedOrgLicense':\n await this.load();\n break;\n }\n });\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.organization = await this.userService.getOrganization(this.organizationId);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\n\n@Component({\n selector: 'app-org-vault-groupings',\n templateUrl: '../../vault/groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService,\n private apiService: ApiService, private i18nService: I18nService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n async loadCollections() {\n if (!this.organization.isAdmin) {\n await super.loadCollections(this.organization.id);\n return;\n }\n\n const collections = await this.apiService.getCollections(this.organization.id);\n if (collections != null && collections.data != null && collections.data.length) {\n const collectionDomains = collections.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collectionDomains);\n } else {\n this.collections = [];\n }\n\n const unassignedCollection = new CollectionView();\n unassignedCollection.name = this.i18nService.t('unassigned');\n unassignedCollection.id = 'unassigned';\n unassignedCollection.organizationId = this.organization.id;\n unassignedCollection.readOnly = true;\n this.collections.push(unassignedCollection);\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n collapse(grouping: CollectionView) {\n super.collapse(grouping, 'org_');\n }\n\n isCollapsed(grouping: CollectionView) {\n return super.isCollapsed(grouping, 'org_');\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\n\n@Component({\n selector: 'app-org-vault-ciphers',\n templateUrl: '../../vault/ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent {\n @Output() onEventsClicked = new EventEmitter();\n\n organization: Organization;\n accessEvents = false;\n\n protected allCiphers: CipherView[] = [];\n\n constructor(searchService: SearchService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, cipherService: CipherService,\n private apiService: ApiService) {\n super(searchService, analytics, toasterService, i18nService, platformUtilsService, cipherService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.isAdmin) {\n await super.load(filter);\n return;\n }\n this.accessEvents = this.organization.useEvents;\n this.allCiphers = await this.cipherService.getAllFromApiForOrganization(this.organization.id);\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.isAdmin) {\n await super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n await super.applyFilter(f);\n }\n }\n\n search(timeout: number = null) {\n if (!this.organization.isAdmin) {\n return super.search(timeout);\n }\n this.searchPending = false;\n let filteredCiphers = this.allCiphers;\n if (this.filter != null) {\n filteredCiphers = filteredCiphers.filter(this.filter);\n }\n if (this.searchText == null || this.searchText.trim().length < 2) {\n this.ciphers = filteredCiphers;\n } else {\n this.ciphers = this.searchService.searchCiphersBasic(filteredCiphers, this.searchText);\n }\n }\n\n checkCipher(c: CipherView) {\n // do nothing\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n\n protected deleteCipher(id: string) {\n if (!this.organization.isAdmin) {\n return super.deleteCipher(id);\n }\n return this.apiService.deleteCipherAdmin(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return this.organization.isAdmin && c.hasOldAttachments;\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { EntityEventsComponent } from '../manage/entity-events.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { GroupingsComponent } from './groupings.component';\n\nconst BroadcasterSubscriptionId = 'OrgVaultComponent';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string;\n type: CipherType;\n\n private modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.groupingsComponent.organization = this.organization;\n this.ciphersComponent.organization = this.organization;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (!this.organization.isAdmin) {\n await this.syncService.fullSync(false);\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.ciphersComponent.refresh(),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (qParams.type) {\n const t = parseInt(qParams.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t, true);\n } else if (qParams.collectionId) {\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\n await this.filterCollection(qParams.collectionId, true);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n if (qParams.viewEvents != null) {\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\n if (cipher.length > 0) {\n this.viewEvents(cipher[0]);\n }\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.applyFilter();\n this.clearFilters();\n this.go();\n }\n\n async filterCipherType(type: CipherType, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterCollection(collectionId: string, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n const filter = (c: CipherView) => {\n if (collectionId === 'unassigned') {\n return c.collectionIds == null || c.collectionIds.length === 0;\n } else {\n return c.collectionIds != null && c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n this.ciphersComponent.search(200);\n }\n\n editCipherAttachments(cipher: CipherView) {\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n if (this.organization.isAdmin) {\n childComponent.collectionIds = cipher.collectionIds;\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.organizationId = this.organization.id;\n component.type = this.type;\n if (this.organization.isAdmin) {\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n if (this.collectionId != null) {\n component.collectionIds = [this.collectionId];\n }\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async viewEvents(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = cipher.name;\n childComponent.organizationId = this.organization.id;\n childComponent.entityId = cipher.id;\n childComponent.showUser = true;\n childComponent.entity = 'cipher';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.collectionId = null;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-entity-events',\n templateUrl: 'entity-events.component.html',\n})\nexport class EntityEventsComponent implements OnInit {\n @Input() name: string;\n @Input() entity: 'user' | 'cipher';\n @Input() entityId: string;\n @Input() organizationId: string;\n @Input() showUser = false;\n\n loading = true;\n loaded = false;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private eventService: EventService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n }\n\n async load() {\n if (this.showUser) {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n }\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n let promise: Promise;\n if (this.entity === 'user') {\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n } else {\n promise = this.apiService.getEventsCipher(this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n }\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\n userEmail: user != null ? user.email : this.showUser ? '' : null,\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent {\n organization: Organization;\n accessReports = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n this.accessReports = this.organization.useTotp;\n });\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n }\n}\n","import { Component } from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { ImportService } from 'jslib/abstractions/import.service';\r\n\r\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\r\n\r\n@Component({\r\n selector: 'app-org-import',\r\n templateUrl: '../../tools/import.component.html',\r\n})\r\nexport class ImportComponent extends BaseImportComponent {\r\n constructor(i18nService: I18nService, analytics: Angulartics2,\r\n toasterService: ToasterService, importService: ImportService,\r\n router: Router, private route: ActivatedRoute) {\r\n super(i18nService, analytics, toasterService, importService, router);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\r\n super.ngOnInit();\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\n\n@Component({\n selector: 'app-org-export',\n templateUrl: '../../tools/export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n organizationId: string;\n\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n private route: ActivatedRoute) {\n super(cryptoService, i18nService, platformUtilsService, exportService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n });\n }\n\n getExportData() {\n return this.exportService.getOrganizationExport(this.organizationId, this.format);\n }\n\n getFileName() {\n return super.getFileName('org');\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ExposedPasswordsReportComponent as BaseExposedPasswordsReportComponent,\n} from '../../tools/exposed-passwords-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: '../../tools/exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends BaseExposedPasswordsReportComponent {\n constructor(cipherService: CipherService, auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, auditService, componentFactoryResolver, messagingService, userService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n InactiveTwoFactorReportComponent as BaseInactiveTwoFactorReportComponent,\n} from '../../tools/inactive-two-factor-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: '../../tools/inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends BaseInactiveTwoFactorReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n ReusedPasswordsReportComponent as BaseReusedPasswordsReportComponent,\n} from '../../tools/reused-passwords-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: '../../tools/reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends BaseReusedPasswordsReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n UnsecuredWebsitesReportComponent as BaseUnsecuredWebsitesReportComponent,\n} from '../../tools/unsecured-websites-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: '../../tools/unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends BaseUnsecuredWebsitesReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n WeakPasswordsReportComponent as BaseWeakPasswordsReportComponent,\n} from '../../tools/weak-passwords-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: '../../tools/weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends BaseWeakPasswordsReportComponent {\n constructor(cipherService: CipherService, passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, passwordGenerationService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-org-manage',\n templateUrl: 'manage.component.html',\n})\nexport class ManageComponent implements OnInit {\n organization: Organization;\n accessGroups = false;\n accessEvents = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.accessEvents = this.organization.useEvents;\n this.accessGroups = this.organization.useGroups;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport {\n CollectionDetailsResponse,\n CollectionResponse,\n} from 'jslib/models/response/collectionResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ModalComponent } from '../../modal.component';\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\nimport { EntityUsersComponent } from './entity-users.component';\n\n@Component({\n selector: 'app-org-manage-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService,\n private userService: UserService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const organization = await this.userService.getOrganization(this.organizationId);\n let response: ListResponse;\n if (organization.isAdmin) {\n response = await this.apiService.getCollections(this.organizationId);\n } else {\n response = await this.apiService.getUserCollections();\n }\n const collections = response.data.filter((c) => c.organizationId === this.organizationId).map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.loading = false;\n }\n\n edit(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n CollectionAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.collectionId = collection != null ? collection.id : null;\n childComponent.onSavedCollection.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedCollection.subscribe(() => {\n this.modal.close();\n this.removeCollection(collection);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(collection: CollectionView) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteCollection(this.organizationId, collection.id);\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\n this.removeCollection(collection);\n } catch { }\n }\n\n users(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'collection';\n childComponent.entityId = collection.id;\n childComponent.entityName = collection.name;\n\n childComponent.onEditedUsers.subscribe(() => {\n this.load();\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeCollection(collection: CollectionView) {\n const index = this.collections.indexOf(collection);\n if (index > -1) {\n this.collections.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-entity-users',\n templateUrl: 'entity-users.component.html',\n})\nexport class EntityUsersComponent implements OnInit {\n @Input() entity: 'group' | 'collection';\n @Input() entityId: string;\n @Input() entityName: string;\n @Input() organizationId: string;\n @Output() onEditedUsers = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n showSelected = false;\n loading = true;\n formPromise: Promise;\n selectedCount = 0;\n searchText: string;\n\n private allUsers: OrganizationUserUserDetailsResponse[] = [];\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n get users() {\n if (this.showSelected) {\n return this.allUsers.filter((u) => (u as any).checked);\n } else {\n return this.allUsers;\n }\n }\n\n async loadUsers() {\n const users = await this.apiService.getOrganizationUsers(this.organizationId);\n this.allUsers = users.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'email'));\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => u.id === s);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n }\n });\n }\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => !u.accessAll && u.id === s.id);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n (user[0] as any).readOnly = s.readOnly;\n }\n });\n }\n }\n\n this.allUsers.forEach((u) => {\n if (this.entity === 'collection' && u.accessAll) {\n (u as any).checked = true;\n }\n if ((u as any).checked) {\n this.selectedCount++;\n }\n });\n }\n\n check(u: OrganizationUserUserDetailsResponse) {\n if (this.entity === 'collection' && u.accessAll) {\n return;\n }\n (u as any).checked = !(u as any).checked;\n this.selectedChanged(u);\n }\n\n selectedChanged(u: OrganizationUserUserDetailsResponse) {\n if ((u as any).checked) {\n this.selectedCount++;\n } else {\n if (this.entity === 'collection') {\n (u as any).readOnly = false;\n }\n this.selectedCount--;\n }\n }\n\n filterSelected(showSelected: boolean) {\n this.showSelected = showSelected;\n }\n\n async submit() {\n try {\n if (this.entity === 'group') {\n const selections = this.users.filter((u) => (u as any).checked).map((u) => u.id);\n this.formPromise = this.apiService.putGroupUsers(this.organizationId, this.entityId, selections);\n } else {\n const selections = this.users.filter((u) => (u as any).checked && !u.accessAll)\n .map((u) => new SelectionReadOnlyRequest(u.id, !!(u as any).readOnly));\n this.formPromise = this.apiService.putCollectionUsers(this.organizationId, this.entityId, selections);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.entity === 'group' ? 'Edited Group Users' : 'Edited Collection Users',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedUsers'));\n this.onEditedUsers.emit();\n } catch { }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-org-events',\r\n templateUrl: 'events.component.html',\r\n})\r\nexport class EventsComponent implements OnInit {\r\n loading = true;\r\n loaded = false;\r\n organizationId: string;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private eventService: EventService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useEvents) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\r\n clearExisting ? null : this.continuationToken);\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.i18nService.t('unknown'),\r\n userEmail: user != null ? user.email : '',\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityUsersComponent } from './entity-users.component';\nimport { GroupAddEditComponent } from './group-add-edit.component';\n\n@Component({\n selector: 'app-org-groups',\n templateUrl: 'groups.component.html',\n})\nexport class GroupsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useGroups) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n await this.load();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getGroups(this.organizationId);\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n this.loading = false;\n }\n\n edit(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n GroupAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.groupId = group != null ? group.id : null;\n childComponent.onSavedGroup.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedGroup.subscribe(() => {\n this.modal.close();\n this.removeGroup(group);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(group: GroupResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), group.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteGroup(this.organizationId, group.id);\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\n this.removeGroup(group);\n } catch { }\n }\n\n users(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'group';\n childComponent.entityId = group.id;\n childComponent.entityName = group.name;\n\n childComponent.onEditedUsers.subscribe(() => {\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGroup(group: GroupResponse) {\n const index = this.groups.indexOf(group);\n if (index > -1) {\n this.groups.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityEventsComponent } from './entity-events.component';\nimport { UserAddEditComponent } from './user-add-edit.component';\nimport { UserConfirmComponent } from './user-confirm.component';\nimport { UserGroupsComponent } from './user-groups.component';\n\n@Component({\n selector: 'app-org-people',\n templateUrl: 'people.component.html',\n})\nexport class PeopleComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef }) confirmModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n searchText: string;\n status: OrganizationUserStatusType = null;\n statusMap = new Map();\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n actionPromise: Promise;\n accessEvents = false;\n accessGroups = false;\n\n private modal: ModalComponent = null;\n private allUsers: OrganizationUserUserDetailsResponse[];\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private userService: UserService, private router: Router,\n private storageService: StorageService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (!organization.isAdmin) {\n this.router.navigate(['../collections'], { relativeTo: this.route });\n return;\n }\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\n this.events(user[0]);\n }\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n this.statusMap.clear();\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.allUsers.forEach((u) => {\n if (!this.statusMap.has(u.status)) {\n this.statusMap.set(u.status, [u]);\n } else {\n this.statusMap.get(u.status).push(u);\n }\n });\n this.filter(this.status);\n this.loading = false;\n }\n\n filter(status: OrganizationUserStatusType) {\n this.status = status;\n if (this.status != null) {\n this.users = this.statusMap.get(this.status);\n } else {\n this.users = this.allUsers;\n }\n }\n\n get invitedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\n }\n\n get acceptedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\n }\n\n get confirmedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Confirmed) ?\n this.statusMap.get(OrganizationUserStatusType.Confirmed).length : 0;\n }\n\n get showConfirmUsers(): boolean {\n return this.allUsers != null && this.statusMap != null && this.allUsers.length > 1 &&\n this.confirmedCount > 0 && this.confirmedCount < 3 && this.acceptedCount > 0;\n }\n\n edit(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserAddEditComponent, this.addEditModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedUser.subscribe(() => {\n this.modal.close();\n this.removeUser(user);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n groups(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserGroupsComponent, this.groupsModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async remove(user: OrganizationUserUserDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\n this.removeUser(user);\n } catch { }\n }\n\n async reinvite(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\n this.actionPromise = null;\n }\n\n async confirm(user: OrganizationUserUserDetailsResponse) {\n function updateUser(self: PeopleComponent) {\n user.status = OrganizationUserStatusType.Confirmed;\n const mapIndex = self.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (mapIndex > -1) {\n self.statusMap.get(OrganizationUserStatusType.Accepted).splice(mapIndex, 1);\n self.statusMap.get(OrganizationUserStatusType.Confirmed).push(user);\n }\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserConfirmComponent, this.confirmModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.userId = user != null ? user.userId : null;\n childComponent.onConfirmedUser.subscribe(() => {\n this.modal.close();\n updateUser(this);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n updateUser(this);\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\n this.actionPromise = null;\n }\n\n async events(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = user.name || user.email;\n childComponent.organizationId = this.organizationId;\n childComponent.entityId = user.id;\n childComponent.showUser = false;\n childComponent.entity = 'user';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(user.userId, publicKey.buffer)).join('-'));\n } catch { }\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\n }\n\n private removeUser(user: OrganizationUserUserDetailsResponse) {\n let index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n if (this.statusMap.has(OrganizationUserStatusType.Accepted)) {\n index = this.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Accepted).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Invited)) {\n index = this.statusMap.get(OrganizationUserStatusType.Invited).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Invited).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Confirmed)) {\n index = this.statusMap.get(OrganizationUserStatusType.Confirmed).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Confirmed).splice(index, 1);\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent {\n access2fa = false;\n selfHosted: boolean;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\n\nimport { ModalComponent } from '../../modal.component';\nimport { PurgeVaultComponent } from '../../settings/purge-vault.component';\nimport { ApiKeyComponent } from './api-key.component';\nimport { DeleteOrganizationComponent } from './delete-organization.component';\nimport { RotateApiKeyComponent } from './rotate-api-key.component';\n\n@Component({\n selector: 'app-org-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\n @ViewChild('purgeOrganizationTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\n @ViewChild('apiKeyTemplate', { read: ViewContainerRef }) apiKeyModalRef: ViewContainerRef;\n @ViewChild('rotateApiKeyTemplate', { read: ViewContainerRef }) rotateApiKeyModalRef: ViewContainerRef;\n\n loading = true;\n canUseApi = false;\n org: OrganizationResponse;\n formPromise: Promise;\n\n private organizationId: string;\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n try {\n this.org = await this.apiService.getOrganization(this.organizationId);\n this.canUseApi = this.org.useApi;\n } catch { }\n });\n this.loading = false;\n }\n\n async submit() {\n try {\n const request = new OrganizationUpdateRequest();\n request.name = this.org.name;\n request.businessName = this.org.businessName;\n request.billingEmail = this.org.billingEmail;\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\n } catch { }\n }\n\n deleteOrganization() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n DeleteOrganizationComponent, this.deleteModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n viewApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.apiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.apiKeyModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n rotateApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.rotateApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(RotateApiKeyComponent, this.rotateApiKeyModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: '../../settings/two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\n constructor(apiService: ApiService, userService: UserService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n private route: ActivatedRoute) {\n super(apiService, userService, componentFactoryResolver, messagingService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await super.ngOnInit();\n });\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.OrganizationDuo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\n duoComp.organizationId = this.organizationId;\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\n });\n break;\n default:\n break;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type !== TwoFactorProviderType.OrganizationDuo;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UserBillingComponent } from '../../settings/user-billing.component';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: '../../settings/user-billing.component.html',\n})\nexport class OrganizationBillingComponent extends UserBillingComponent implements OnInit {\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private route: ActivatedRoute) {\n super(apiService, i18nService, analytics, toasterService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { OrganizationSubscriptionResponse } from 'jslib/models/response/organizationSubscriptionResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-subscription',\n templateUrl: 'organization-subscription.component.html',\n})\nexport class OrganizationSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n sub: OrganizationSubscriptionResponse;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n licensePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private messagingService: MessagingService, private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n this.sub = await this.apiService.getOrganizationSubscription(this.organizationId);\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n async changePlan() {\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\n if (contactSupport) {\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\n }\n }\n\n async downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const installationId = window.prompt(this.i18nService.t('enterInstallationId'));\n if (installationId == null || installationId === '') {\n return;\n }\n\n try {\n this.licensePromise = this.apiService.getOrganizationLicense(this.organizationId, installationId);\n const license = await this.licensePromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n } catch { }\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(updated: boolean) {\n this.showUpdateLicense = false;\n if (updated) {\n this.load();\n this.messagingService.send('updatedOrgLicense');\n }\n }\n\n adjustSeats(add: boolean) {\n this.adjustSeatsAdd = add;\n this.showAdjustSeats = true;\n }\n\n closeSeats(load: boolean) {\n this.showAdjustSeats = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n get isExpired() {\n return this.sub != null && this.sub.expiration != null &&\n new Date(this.sub.expiration) < new Date();\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get billingInterval() {\n const monthly = this.sub.planType === PlanType.EnterpriseMonthly ||\n this.sub.planType === PlanType.TeamsMonthly;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.billingInterval === 'month' ? 0.5 : 4;\n }\n\n get seatPrice() {\n switch (this.sub.planType) {\n case PlanType.EnterpriseMonthly:\n return 4;\n case PlanType.EnterpriseAnnually:\n return 36;\n case PlanType.TeamsMonthly:\n return 2.5;\n case PlanType.TeamsAnnually:\n return 24;\n default:\n return 0;\n }\n }\n\n get canAdjustSeats() {\n return this.sub.planType === PlanType.EnterpriseMonthly ||\n this.sub.planType === PlanType.EnterpriseAnnually ||\n this.sub.planType === PlanType.TeamsMonthly || this.sub.planType === PlanType.TeamsAnnually;\n }\n\n get canDownloadLicense() {\n return (this.sub.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 525;","import * as jq from 'jquery';\r\nimport * as _swal from 'sweetalert';\r\nimport { SweetAlert } from 'sweetalert/typings/core';\r\n\r\nimport {\r\n BodyOutputType,\r\n Toast,\r\n ToasterConfig,\r\n ToasterContainerComponent,\r\n ToasterService,\r\n} from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\r\n\r\nimport {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n SecurityContext,\r\n} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport {\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { LockService } from 'jslib/abstractions/lock.service';\r\nimport { NotificationsService } from 'jslib/abstractions/notifications.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SearchService } from 'jslib/abstractions/search.service';\r\nimport { SettingsService } from 'jslib/abstractions/settings.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\n\r\nimport { RouterService } from './services/router.service';\r\n\r\nconst BroadcasterSubscriptionId = 'AppComponent';\r\n// Hack due to Angular 5.2 bug\r\nconst swal: SweetAlert = _swal as any;\r\nconst IdleTimeout = 60000 * 10; // 10 minutes\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n})\r\nexport class AppComponent implements OnDestroy, OnInit {\r\n toasterConfig: ToasterConfig = new ToasterConfig({\r\n showCloseButton: true,\r\n mouseoverTimerStop: true,\r\n animation: 'flyRight',\r\n limit: 5,\r\n });\r\n\r\n private lastActivity: number = null;\r\n private idleTimer: number = null;\r\n private isIdle = false;\r\n\r\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\r\n private broadcasterService: BroadcasterService, private userService: UserService,\r\n private tokenService: TokenService, private folderService: FolderService,\r\n private settingsService: SettingsService, private syncService: SyncService,\r\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\r\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\r\n private lockService: LockService, private storageService: StorageService,\r\n private cryptoService: CryptoService, private collectionService: CollectionService,\r\n private sanitizer: DomSanitizer, private searchService: SearchService,\r\n private notificationsService: NotificationsService, private routerService: RouterService) { }\r\n\r\n ngOnInit() {\r\n this.ngZone.runOutsideAngular(() => {\r\n window.onmousemove = () => this.recordActivity();\r\n window.onmousedown = () => this.recordActivity();\r\n window.ontouchstart = () => this.recordActivity();\r\n window.onclick = () => this.recordActivity();\r\n window.onscroll = () => this.recordActivity();\r\n window.onkeypress = () => this.recordActivity();\r\n });\r\n\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'loggedIn':\r\n case 'loggedOut':\r\n case 'unlocked':\r\n this.notificationsService.updateConnection(false);\r\n break;\r\n case 'logout':\r\n this.logOut(!!message.expired);\r\n break;\r\n case 'lockVault':\r\n await this.lockService.lock();\r\n break;\r\n case 'locked':\r\n this.notificationsService.updateConnection(false);\r\n this.router.navigate(['lock']);\r\n break;\r\n case 'lockedUrl':\r\n window.setTimeout(() => this.routerService.setPreviousUrl(message.url), 500);\r\n break;\r\n case 'syncStarted':\r\n break;\r\n case 'syncCompleted':\r\n break;\r\n case 'upgradeOrganization':\r\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\r\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\r\n if (upgradeConfirmed) {\r\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\r\n }\r\n break;\r\n case 'premiumRequired':\r\n const premiumConfirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\r\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\r\n if (premiumConfirmed) {\r\n this.router.navigate(['settings/premium']);\r\n }\r\n break;\r\n case 'showToast':\r\n this.showToast(message);\r\n break;\r\n case 'analyticsEventTrack':\r\n this.analytics.eventTrack.next({\r\n action: message.action,\r\n properties: { label: message.label },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n });\r\n\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n for (const modal of modals) {\r\n (jq(modal) as any).modal('hide');\r\n }\r\n\r\n if (document.querySelector('.swal-modal') != null) {\r\n swal.close(undefined);\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n private async logOut(expired: boolean) {\r\n const userId = await this.userService.getUserId();\r\n\r\n await Promise.all([\r\n this.syncService.setLastSync(new Date(0)),\r\n this.tokenService.clearToken(),\r\n this.cryptoService.clearKeys(),\r\n this.userService.clear(),\r\n this.settingsService.clear(userId),\r\n this.cipherService.clear(userId),\r\n this.folderService.clear(userId),\r\n this.collectionService.clear(userId),\r\n this.passwordGenerationService.clear(),\r\n ]);\r\n\r\n this.searchService.clearIndex();\r\n this.authService.logOut(async () => {\r\n this.analytics.eventTrack.next({ action: 'Logged Out' });\r\n if (expired) {\r\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\r\n this.i18nService.t('loginExpired'));\r\n }\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n private async recordActivity() {\r\n const now = (new Date()).getTime();\r\n if (this.lastActivity != null && now - this.lastActivity < 250) {\r\n return;\r\n }\r\n\r\n this.lastActivity = now;\r\n this.storageService.save(ConstantsService.lastActiveKey, now);\r\n\r\n // Idle states\r\n if (this.isIdle) {\r\n this.isIdle = false;\r\n this.idleStateChanged();\r\n }\r\n if (this.idleTimer != null) {\r\n window.clearTimeout(this.idleTimer);\r\n this.idleTimer = null;\r\n }\r\n this.idleTimer = window.setTimeout(() => {\r\n if (!this.isIdle) {\r\n this.isIdle = true;\r\n this.idleStateChanged();\r\n }\r\n }, IdleTimeout);\r\n }\r\n\r\n private showToast(msg: any) {\r\n const toast: Toast = {\r\n type: msg.type,\r\n title: msg.title,\r\n };\r\n if (typeof (msg.text) === 'string') {\r\n toast.body = msg.text;\r\n } else if (msg.text.length === 1) {\r\n toast.body = msg.text[0];\r\n } else {\r\n let message = '';\r\n msg.text.forEach((t: string) =>\r\n message += ('

' + this.sanitizer.sanitize(SecurityContext.HTML, t) + '

'));\r\n toast.body = message;\r\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\r\n }\r\n if (msg.options != null) {\r\n if (msg.options.trustedHtml === true) {\r\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\r\n }\r\n if (msg.options.timeout != null && msg.options.timeout > 0) {\r\n toast.timeout = msg.options.timeout;\r\n }\r\n }\r\n this.toasterService.popAsync(toast);\r\n }\r\n\r\n private idleStateChanged() {\r\n if (this.isIdle) {\r\n this.notificationsService.disconnectFromInactivity();\r\n } else {\r\n this.notificationsService.reconnectFromActivity();\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\n} from 'jslib/angular/components/two-factor-options.component';\n\n@Component({\n selector: 'app-two-factor-options',\n templateUrl: 'two-factor-options.component.html',\n})\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, i18nService, platformUtilsService, window);\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\n email: string;\n\n constructor(email: string, masterPasswordHash: string) {\n super();\n this.masterPasswordHash = masterPasswordHash;\n this.email = email;\n }\n}\n","export class KeysRequest {\n publicKey: string;\n encryptedPrivateKey: string;\n\n constructor(publicKey: string, encryptedPrivateKey: string) {\n this.publicKey = publicKey;\n this.encryptedPrivateKey = encryptedPrivateKey;\n }\n}\n","
\n
\n \n {{text}}\n \n
\n
\n","\n","
\n
\n
\n © {{year}}, 8bit Solutions LLC\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-verify-email',\n templateUrl: 'verify-email.component.html',\n})\nexport class VerifyEmailComponent {\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async send() {\n if (this.actionPromise != null) {\n return;\n }\n try {\n this.actionPromise = this.apiService.postAccountVerifyEmail();\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\n } catch { }\n this.actionPromise = null;\n }\n}\n","\n

\n \n

\n \n \n

{{'noOrganizationsList' | i18n}}

\n
\n \n \n {{'newOrganization' | i18n}}\n \n
\n\n
\n

\n {{'organizations' | i18n}}\n \n \n \n

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n

{{'noOrganizationsList' | i18n}}

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n \n \n \n \n \n
\n \n \n {{o.name}}\n \n \n
\n \n \n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-update-key',\n templateUrl: 'update-key.component.html',\n})\nexport class UpdateKeyComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private syncService: SyncService, private folderService: FolderService,\n private cipherService: CipherService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (hasEncKey) {\n return;\n }\n\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.makeRequest().then((request) => {\n return this.apiService.postAccountKey(request);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Key Updated' });\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('keyUpdated'),\n body: this.i18nService.t('logBackInOthersToo'),\n timeout: 15000,\n };\n this.toasterService.popAsync(toast);\n this.messagingService.send('logout');\n } catch { }\n }\n\n private async makeRequest(): Promise {\n const key = await this.cryptoService.getKey();\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n\n await this.syncService.fullSync(true);\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n return request;\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nexport class CardApi extends BaseResponse {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.cardholderName = this.getResponseProperty('CardholderName');\r\n this.brand = this.getResponseProperty('Brand');\r\n this.number = this.getResponseProperty('Number');\r\n this.expMonth = this.getResponseProperty('ExpMonth');\r\n this.expYear = this.getResponseProperty('ExpYear');\r\n this.code = this.getResponseProperty('Code');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { FieldType } from '../../enums/fieldType';\r\n\r\nexport class FieldApi extends BaseResponse {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.type = this.getResponseProperty('Type');\r\n this.name = this.getResponseProperty('Name');\r\n this.value = this.getResponseProperty('Value');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nexport class IdentityApi extends BaseResponse {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.title = this.getResponseProperty('Title');\r\n this.firstName = this.getResponseProperty('FirstName');\r\n this.middleName = this.getResponseProperty('MiddleName');\r\n this.lastName = this.getResponseProperty('LastName');\r\n this.address1 = this.getResponseProperty('Address1');\r\n this.address2 = this.getResponseProperty('Address2');\r\n this.address3 = this.getResponseProperty('Address3');\r\n this.city = this.getResponseProperty('City');\r\n this.state = this.getResponseProperty('State');\r\n this.postalCode = this.getResponseProperty('PostalCode');\r\n this.country = this.getResponseProperty('Country');\r\n this.company = this.getResponseProperty('Company');\r\n this.email = this.getResponseProperty('Email');\r\n this.phone = this.getResponseProperty('Phone');\r\n this.ssn = this.getResponseProperty('SSN');\r\n this.username = this.getResponseProperty('Username');\r\n this.passportNumber = this.getResponseProperty('PassportNumber');\r\n this.licenseNumber = this.getResponseProperty('LicenseNumber');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { LoginUriApi } from './loginUriApi';\r\n\r\nexport class LoginApi extends BaseResponse {\r\n uris: LoginUriApi[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate: string;\r\n totp: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.username = this.getResponseProperty('Username');\r\n this.password = this.getResponseProperty('Password');\r\n this.passwordRevisionDate = this.getResponseProperty('PasswordRevisionDate');\r\n this.totp = this.getResponseProperty('Totp');\r\n\r\n const uris = this.getResponseProperty('Uris');\r\n if (uris != null) {\r\n this.uris = uris.map((u: any) => new LoginUriApi(u));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nexport class LoginUriApi extends BaseResponse {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.uri = this.getResponseProperty('Uri');\r\n const match = this.getResponseProperty('Match');\r\n this.match = match != null ? match : null;\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nexport class SecureNoteApi extends BaseResponse {\r\n type: SecureNoteType;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.type = this.getResponseProperty('Type');\r\n }\r\n}\r\n","import { FolderRequest } from './folderRequest';\n\nimport { Folder } from '../domain/folder';\n\nexport class FolderWithIdRequest extends FolderRequest {\n id: string;\n\n constructor(folder: Folder) {\n super(folder);\n this.id = folder.id;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\nimport { FolderWithIdRequest } from './folderWithIdRequest';\n\nexport class UpdateKeyRequest {\n ciphers: CipherWithIdRequest[] = [];\n folders: FolderWithIdRequest[] = [];\n masterPasswordHash: string;\n privateKey: string;\n key: string;\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-delete',\r\n templateUrl: 'bulk-delete.component.html',\r\n})\r\nexport class BulkDeleteComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onDeleted = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.deleteManyWithServer(this.cipherIds);\r\n await this.formPromise;\r\n this.onDeleted.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItems'));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { FolderView } from 'jslib/models/view/folderView';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-move',\r\n templateUrl: 'bulk-move.component.html',\r\n})\r\nexport class BulkMoveComponent implements OnInit {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onMoved = new EventEmitter();\r\n\r\n folderId: string = null;\r\n folders: FolderView[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private folderService: FolderService) { }\r\n\r\n async ngOnInit() {\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.folderId = this.folders[0].id;\r\n }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\r\n await this.formPromise;\r\n this.onMoved.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-vault-bulk-share',\n templateUrl: 'bulk-share.component.html',\n})\nexport class BulkShareComponent implements OnInit {\n @Input() ciphers: CipherView[] = [];\n @Input() organizationId: string;\n @Output() onShared = new EventEmitter();\n\n nonShareableCount = 0;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n shareableCiphers: CipherView[] = [];\n formPromise: Promise;\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private collectionService: CollectionService, private userService: UserService) { }\n\n async ngOnInit() {\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasOldAttachments && c.organizationId == null);\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n try {\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\n checkedCollectionIds);\n await this.formPromise;\n this.onShared.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\n } catch { }\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n\n get canSave() {\n if (this.shareableCiphers != null && this.shareableCiphers.length > 0 && this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n FolderAddEditComponent as BaseFolderAddEditComponent,\n} from 'jslib/angular/components/folder-add-edit.component';\n\n@Component({\n selector: 'app-folder-add-edit',\n templateUrl: 'folder-add-edit.component.html',\n})\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\n constructor(folderService: FolderService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService) {\n super(folderService, i18nService, platformUtilsService);\n }\n}\n","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ShareComponent as BaseShareComponent } from 'jslib/angular/components/share.component';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent extends BaseShareComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, userService: UserService,\n cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, userService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\n\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\n\n@Component({\n selector: 'app-profile',\n templateUrl: 'profile.component.html',\n})\nexport class ProfileComponent implements OnInit {\n loading = true;\n profile: ProfileResponse;\n fingerprint: string;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private userService: UserService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.profile = await this.apiService.getProfile();\n this.loading = false;\n const fingerprint = await this.cryptoService.getFingerprint(await this.userService.getUserId());\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n\n async submit() {\n try {\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\n this.formPromise = this.apiService.putProfile(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\n } catch { }\n }\n}\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: 'change-email.component.html',\n})\nexport class ChangeEmailComponent {\n masterPassword: string;\n newEmail: string;\n token: string;\n tokenSent = false;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n this.newEmail = this.newEmail.trim().toLowerCase();\n if (!this.tokenSent) {\n const request = new EmailTokenRequest();\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postEmailToken(request);\n await this.formPromise;\n this.tokenSent = true;\n } catch { }\n } else {\n const request = new EmailRequest();\n request.token = this.token;\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail, kdf, kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].encryptedString;\n try {\n this.formPromise = this.apiService.postEmail(request);\n await this.formPromise;\n this.reset();\n this.analytics.eventTrack.next({ action: 'Changed Email' });\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n }\n\n reset() {\n this.token = this.newEmail = this.masterPassword = null;\n this.tokenSent = false;\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent implements OnInit {\n currentMasterPassword: string;\n newMasterPassword: string;\n confirmNewMasterPassword: string;\n formPromise: Promise;\n masterPasswordScore: number;\n rotateEncKey = false;\n\n private masterPasswordStrengthTimeout: any;\n private email: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService, private passwordGenerationService: PasswordGenerationService,\n private platformUtilsService: PlatformUtilsService, private folderService: FolderService,\n private cipherService: CipherService, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.email = await this.userService.getEmail();\n }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n if (this.currentMasterPassword == null || this.currentMasterPassword === '' ||\n this.newMasterPassword == null || this.newMasterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.newMasterPassword.length < 8) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.newMasterPassword !== this.confirmNewMasterPassword) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.newMasterPassword,\n this.getPasswordStrengthUserInput());\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return;\n }\n }\n\n if (this.rotateEncKey) {\n await this.syncService.fullSync(true);\n }\n\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n const email = await this.userService.getEmail();\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n const newKey = await this.cryptoService.makeKey(this.newMasterPassword, email.trim().toLowerCase(),\n kdf, kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.newMasterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].encryptedString;\n try {\n if (this.rotateEncKey) {\n this.formPromise = this.apiService.postPassword(request).then(() => {\n return this.updateKey(newKey, request.newMasterPasswordHash);\n });\n } else {\n this.formPromise = this.apiService.postPassword(request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed Password' });\n this.toasterService.popAsync('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.newMasterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n async rotateEncKeyClicked() {\n if (this.rotateEncKey) {\n const ciphers = await this.cipherService.getAllDecrypted();\n let hasOldAttachments = false;\n if (ciphers != null) {\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId == null && ciphers[i].hasOldAttachments) {\n hasOldAttachments = true;\n break;\n }\n }\n }\n\n if (hasOldAttachments) {\n const learnMore = await this.platformUtilsService.showDialog(\n this.i18nService.t('oldAttachmentsNeedFixDesc'), null,\n this.i18nService.t('learnMore'), this.i18nService.t('close'), 'warning');\n if (learnMore) {\n this.platformUtilsService.launchUri(\n 'https://help.bitwarden.com/article/attachments/#fixing-old-attachments');\n }\n this.rotateEncKey = false;\n return;\n }\n\n const result = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateEncryptionKeyWarning') + ' ' +\n this.i18nService.t('rotateEncKeyConfirmation'), this.i18nService.t('rotateEncKeyTitle'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!result) {\n this.rotateEncKey = false;\n }\n }\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n return userInput;\n }\n\n private async updateKey(key: SymmetricCryptoKey, masterPasswordHash: string) {\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = masterPasswordHash;\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n await this.apiService.postAccountKey(request);\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { KdfRequest } from 'jslib/models/request/kdfRequest';\r\n\r\nimport { KdfType } from 'jslib/enums/kdfType';\r\n\r\n@Component({\r\n selector: 'app-change-kdf',\r\n templateUrl: 'change-kdf.component.html',\r\n})\r\nexport class ChangeKdfComponent implements OnInit {\r\n masterPassword: string;\r\n kdfIterations: number;\r\n kdf = KdfType.PBKDF2_SHA256;\r\n kdfOptions: any[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService,\r\n private userService: UserService) {\r\n this.kdfOptions = [\r\n { name: 'PBKDF2 SHA-256', value: KdfType.PBKDF2_SHA256 },\r\n ];\r\n }\r\n\r\n async ngOnInit() {\r\n this.kdf = await this.userService.getKdf();\r\n this.kdfIterations = await this.userService.getKdfIterations();\r\n }\r\n\r\n async submit() {\r\n const hasEncKey = await this.cryptoService.hasEncKey();\r\n if (!hasEncKey) {\r\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\r\n return;\r\n }\r\n\r\n const request = new KdfRequest();\r\n request.kdf = this.kdf;\r\n request.kdfIterations = this.kdfIterations;\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n const email = await this.userService.getEmail();\r\n const newKey = await this.cryptoService.makeKey(this.masterPassword, email, this.kdf, this.kdfIterations);\r\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\r\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\r\n request.key = newEncKey[1].encryptedString;\r\n try {\r\n this.formPromise = this.apiService.postAccountKdf(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Changed KDF' });\r\n this.toasterService.popAsync('success', this.i18nService.t('encKeySettingsChanged'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-deauthorize-sessions',\r\n templateUrl: 'deauthorize-sessions.component.html',\r\n})\r\nexport class DeauthorizeSessionsComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postSecurityStamp(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\r\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-account',\n templateUrl: 'delete-account.component.html',\n})\nexport class DeleteAccountComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteAccount(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-authenticator',\n templateUrl: 'two-factor-authenticator.component.html',\n})\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.Authenticator;\n key: string;\n token: string;\n formPromise: Promise;\n\n private qrScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.qrScript = window.document.createElement('script');\n this.qrScript.src = 'scripts/qrious.min.js';\n this.qrScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.qrScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.qrScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorAuthenticatorRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.token = this.token;\n request.key = this.key;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\n this.token = null;\n this.enabled = response.enabled;\n this.key = response.key;\n const email = await this.userService.getEmail();\n window.setTimeout(() => {\n const qr = new (window as any).QRious({\n element: document.getElementById('qr'),\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\n size: 160,\n });\n }, 100);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-email',\n templateUrl: 'two-factor-email.component.html',\n})\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Email;\n email: string;\n token: string;\n sentEmail: string;\n formPromise: Promise;\n emailPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n async sendEmail() {\n try {\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\n await this.emailPromise;\n this.sentEmail = this.email;\n } catch { }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorEmailRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.email = this.email;\n request.token = this.token;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorEmail(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorEmailResponse) {\n this.token = null;\n this.email = response.email;\n this.enabled = response.enabled;\n if (!this.enabled && (this.email == null || this.email === '')) {\n this.email = await this.userService.getEmail();\n }\n }\n}\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\n@Component({\n selector: 'app-two-factor-recovery',\n templateUrl: 'two-factor-recovery.component.html',\n})\nexport class TwoFactorRecoveryComponent {\n type = -1;\n code: string;\n authed: boolean;\n twoFactorProviderType = TwoFactorProviderType;\n\n constructor(private i18nService: I18nService) { }\n\n auth(authResponse: any) {\n this.authed = true;\n this.processResponse(authResponse.response);\n }\n\n print() {\n const w = window.open();\n w.document.write('
' +\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\n '' +\n this.code + '
' +\n '

' + new Date() + '

');\n w.print();\n w.close();\n }\n\n private formatString(s: string) {\n if (s == null) {\n return null;\n }\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\n }\n\n private processResponse(response: TwoFactorRecoverResponse) {\n this.code = this.formatString(response.code);\n }\n}\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from 'jslib/models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from 'jslib/models/response/twoFactorU2fResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-u2f',\n templateUrl: 'two-factor-u2f.component.html',\n})\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.U2f;\n name: string;\n keys: any[];\n keyIdAvailable: number = null;\n keysConfiguredCount = 0;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n challengePromise: Promise;\n formPromise: Promise;\n\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private ngZone: NgZone) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.u2fScript = window.document.createElement('script');\n this.u2fScript.src = 'scripts/u2f.js';\n this.u2fScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.u2fScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.u2fResponse == null || this.keyIdAvailable == null) {\n // Should never happen.\n return Promise.reject();\n }\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n request.id = this.keyIdAvailable;\n request.name = this.name;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorU2f(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n disable() {\n return super.disable(this.formPromise);\n }\n\n async remove(key: any) {\n if (this.keysConfiguredCount <= 1 || key.removePromise != null) {\n return;\n }\n const name = key.name != null ? key.name : this.i18nService.t('u2fkeyX', key.id);\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeU2fConfirmation'), name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n const request = new UpdateTwoFactorU2fDeleteRequest();\n request.id = key.id;\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n key.removePromise = this.apiService.deleteTwoFactorU2f(request);\n const response = await key.removePromise;\n key.removePromise = null;\n await this.processResponse(response);\n } catch { }\n }\n\n async readKey() {\n if (this.keyIdAvailable == null) {\n return;\n }\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n this.challengePromise = this.apiService.getTwoFactorU2fChallenge(request);\n const challenge = await this.challengePromise;\n this.readDevice(challenge);\n } catch { }\n }\n\n private readDevice(u2fChallenge: ChallengeResponse) {\n // tslint:disable-next-line\n console.log('listening for key...');\n this.resetU2f(true);\n (window as any).u2f.register(u2fChallenge.appId, [{\n version: u2fChallenge.version,\n challenge: u2fChallenge.challenge,\n }], [], (data: any) => {\n this.ngZone.run(() => {\n this.u2fListening = false;\n if (data.errorCode) {\n this.u2fError = true;\n // tslint:disable-next-line\n console.log('error: ' + data.errorCode);\n return;\n }\n this.u2fResponse = JSON.stringify(data);\n });\n }, 15);\n }\n\n private resetU2f(listening = false) {\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = listening;\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.resetU2f();\n this.keys = [];\n this.keyIdAvailable = null;\n this.name = null;\n this.keysConfiguredCount = 0;\n for (let i = 1; i <= 5; i++) {\n if (response.keys != null) {\n const key = response.keys.filter((k) => k.id === i);\n if (key.length > 0) {\n this.keysConfiguredCount++;\n this.keys.push({\n id: i, name: key[0].name,\n configured: true,\n compromised: key[0].compromised,\n removePromise: null,\n });\n continue;\n }\n }\n this.keys.push({ id: i, name: null, configured: false, compromised: false, removePromise: null });\n if (this.keyIdAvailable == null) {\n this.keyIdAvailable = i;\n }\n }\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-yubikey',\n templateUrl: 'two-factor-yubikey.component.html',\n})\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Yubikey;\n keys: any[];\n nfc = false;\n\n formPromise: Promise;\n disablePromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n const request = new UpdateTwoFactorYubioOtpRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\n request.nfc = this.nfc;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\n });\n }\n\n disable() {\n return super.disable(this.disablePromise);\n }\n\n remove(key: any) {\n key.existingKey = null;\n key.key = null;\n }\n\n private processResponse(response: TwoFactorYubiKeyResponse) {\n this.enabled = response.enabled;\n this.keys = [\n { key: response.key1, existingKey: this.padRight(response.key1) },\n { key: response.key2, existingKey: this.padRight(response.key2) },\n { key: response.key3, existingKey: this.padRight(response.key3) },\n { key: response.key4, existingKey: this.padRight(response.key4) },\n { key: response.key5, existingKey: this.padRight(response.key5) },\n ];\n this.nfc = response.nfc || !response.enabled;\n }\n\n private padRight(str: string, character = '•', size = 44) {\n if (str == null || character == null || str.length >= size) {\n return str;\n }\n const max = (size - str.length) / character.length;\n for (let i = 0; i < max; i++) {\n str += character;\n }\n return str;\n }\n}\n","export class WebConstants {\n static readonly stripeTestKey = 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD';\n static readonly stripeLiveKey = 'pk_live_bpN0P37nMxrMQkcaHXtAybJk';\n static readonly btSandboxKey = 'sandbox_r72q8jq6_9pnxkwm75f87sdc2';\n static readonly btProductionKey = 'production_qfbsv8kc_njj2zjtyngtjmbjd';\n static readonly paypal = {\n businessIdProduction: '4ZDA7DLUUJGMN',\n businessIdSandbox: 'AD3LAUZSNVPJY',\n buttonActionProduction: 'https://www.paypal.com/cgi-bin/webscr',\n buttonActionSandbox: 'https://www.sandbox.paypal.com/cgi-bin/webscr',\n };\n}\n","
\n
\n

{{'addCredit' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
$USD
\n \n
\n
\n
\n {{'creditDelayed' | i18n}}\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n","
\n
\n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\n \n \n \n
\n
\n","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","
\n
\n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}}\n = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\n \n
\n
\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually = 1,\n TeamsMonthly = 2,\n TeamsAnnually = 3,\n EnterpriseMonthly = 4,\n EnterpriseAnnually = 5,\n Custom = 6,\n}\n","import {\r\n Pipe,\r\n PipeTransform,\r\n} from '@angular/core';\r\n\r\n/**\r\n * A pipe that sanitizes HTML and highlights numbers and special characters (in different colors each).\r\n */\r\n@Pipe({ name: 'colorPassword' })\r\nexport class ColorPasswordPipe implements PipeTransform {\r\n transform(password: string) {\r\n let colorizedPassword = '';\r\n for (let i = 0; i < password.length; i++) {\r\n let character = password[i];\r\n let isSpecial = false;\r\n // Sanitize HTML first.\r\n switch (character) {\r\n case '&':\r\n character = '&';\r\n isSpecial = true;\r\n break;\r\n case '<':\r\n character = '<';\r\n isSpecial = true;\r\n break;\r\n case '>':\r\n character = '>';\r\n isSpecial = true;\r\n break;\r\n case ' ':\r\n character = ' ';\r\n isSpecial = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n let type = 'letter';\r\n if (isSpecial || character.match(/[^\\w ]/)) {\r\n type = 'special';\r\n } else if (character.match(/\\d/)) {\r\n type = 'number';\r\n }\r\n colorizedPassword += '' + character + '';\r\n }\r\n return colorizedPassword;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\n@Directive({\r\n selector: '[appFlexCopy]',\r\n})\r\nexport class FlexCopyDirective {\r\n constructor(private el: ElementRef, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n @HostListener('copy') onCopy() {\r\n if (window == null) {\r\n return;\r\n }\r\n let copyText = '';\r\n const selection = window.getSelection();\r\n for (let i = 0; i < selection.rangeCount; i++) {\r\n const range = selection.getRangeAt(i);\r\n const text = range.toString();\r\n copyText += text;\r\n }\r\n this.platformUtilsService.copyToClipboard(copyText, { window: window });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\n} from 'jslib/angular/components/password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator-history',\n templateUrl: 'password-generator-history.component.html',\n})\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\r\n\r\nexport class AttachmentData {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n key: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response?: AttachmentResponse) {\r\n if (response == null) {\r\n return;\r\n }\r\n this.id = response.id;\r\n this.url = response.url;\r\n this.fileName = response.fileName;\r\n this.key = response.key;\r\n this.size = response.size;\r\n this.sizeName = response.sizeName;\r\n }\r\n}\r\n","import { CardApi } from '../api/cardApi';\n\nexport class CardData {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data?: CardApi) {\n if (data == null) {\n return;\n }\n\n this.cardholderName = data.cardholderName;\n this.brand = data.brand;\n this.number = data.number;\n this.expMonth = data.expMonth;\n this.expYear = data.expYear;\n this.code = data.code;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldApi } from '../api/fieldApi';\n\nexport class FieldData {\n type: FieldType;\n name: string;\n value: string;\n\n constructor(response?: FieldApi) {\n if (response == null) {\n return;\n }\n this.type = response.type;\n this.name = response.name;\n this.value = response.value;\n }\n}\n","import { IdentityApi } from '../api/identityApi';\n\nexport class IdentityData {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data?: IdentityApi) {\n if (data == null) {\n return;\n }\n\n this.title = data.title;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.address1 = data.address1;\n this.address2 = data.address2;\n this.address3 = data.address3;\n this.city = data.city;\n this.state = data.state;\n this.postalCode = data.postalCode;\n this.country = data.country;\n this.company = data.company;\n this.email = data.email;\n this.phone = data.phone;\n this.ssn = data.ssn;\n this.username = data.username;\n this.passportNumber = data.passportNumber;\n this.licenseNumber = data.licenseNumber;\n }\n}\n","import { LoginApi } from '../api/loginApi';\r\n\r\nimport { LoginUriData } from './loginUriData';\r\n\r\nexport class LoginData {\r\n uris: LoginUriData[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate: string;\r\n totp: string;\r\n\r\n constructor(data?: LoginApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.username = data.username;\r\n this.password = data.password;\r\n this.passwordRevisionDate = data.passwordRevisionDate;\r\n this.totp = data.totp;\r\n\r\n if (data.uris) {\r\n this.uris = [];\r\n data.uris.forEach((u) => {\r\n this.uris.push(new LoginUriData(u));\r\n });\r\n }\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriApi } from '../api/loginUriApi';\n\nexport class LoginUriData {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data?: LoginUriApi) {\n if (data == null) {\n return;\n }\n this.uri = data.uri;\n this.match = data.match;\n }\n}\n","import { PasswordHistoryResponse } from '../response/passwordHistoryResponse';\r\n\r\nexport class PasswordHistoryData {\r\n password: string;\r\n lastUsedDate: string;\r\n\r\n constructor(response?: PasswordHistoryResponse) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.password = response.password;\r\n this.lastUsedDate = response.lastUsedDate;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class SecureNoteData {\n type: SecureNoteType;\n\n constructor(data?: SecureNoteApi) {\n if (data == null) {\n return;\n }\n\n this.type = data.type;\n }\n}\n","import { AttachmentData } from '../data/attachmentData';\r\n\r\nimport { AttachmentView } from '../view/attachmentView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class Attachment extends Domain {\r\n id: string;\r\n url: string;\r\n size: number;\r\n sizeName: string;\r\n key: CipherString;\r\n fileName: CipherString;\r\n\r\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.size = obj.size;\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n url: null,\r\n sizeName: null,\r\n fileName: null,\r\n key: null,\r\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n const view = await this.decryptObj(new AttachmentView(this), {\r\n fileName: null,\r\n }, orgId);\r\n\r\n if (this.key != null) {\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n const decValue = await cryptoService.decryptToBytes(this.key, orgKey);\r\n view.key = new SymmetricCryptoKey(decValue);\r\n } catch (e) {\r\n // TODO: error?\r\n }\r\n }\r\n\r\n return view;\r\n }\r\n\r\n toAttachmentData(): AttachmentData {\r\n const a = new AttachmentData();\r\n this.buildDataModel(this, a, {\r\n id: null,\r\n url: null,\r\n sizeName: null,\r\n fileName: null,\r\n key: null,\r\n }, ['id', 'url', 'sizeName']);\r\n return a;\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Attachment } from '../domain/attachment';\r\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\r\n\r\nexport class AttachmentView implements View {\r\n id: string = null;\r\n url: string = null;\r\n size: number = null;\r\n sizeName: string = null;\r\n fileName: string = null;\r\n key: SymmetricCryptoKey = null;\r\n\r\n constructor(a?: Attachment) {\r\n if (!a) {\r\n return;\r\n }\r\n\r\n this.id = a.id;\r\n this.url = a.url;\r\n this.size = a.size;\r\n this.sizeName = a.sizeName;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { Utils } from '../../misc/utils';\n\nexport class SymmetricCryptoKey {\n key: ArrayBuffer;\n encKey?: ArrayBuffer;\n macKey?: ArrayBuffer;\n encType: EncryptionType;\n\n keyB64: string;\n encKeyB64: string;\n macKeyB64: string;\n\n meta: any;\n\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\n if (key == null) {\n throw new Error('Must provide key');\n }\n\n if (encType == null) {\n if (key.byteLength === 32) {\n encType = EncryptionType.AesCbc256_B64;\n } else if (key.byteLength === 64) {\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\n } else {\n throw new Error('Unable to determine encType.');\n }\n }\n\n this.key = key;\n this.encType = encType;\n\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\n this.encKey = key;\n this.macKey = null;\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\n this.encKey = key.slice(0, 16);\n this.macKey = key.slice(16, 32);\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\n this.encKey = key.slice(0, 32);\n this.macKey = key.slice(32, 64);\n } else {\n throw new Error('Unsupported encType/key length.');\n }\n\n if (this.key != null) {\n this.keyB64 = Utils.fromBufferToB64(this.key);\n }\n if (this.encKey != null) {\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\n }\n if (this.macKey != null) {\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\n }\n }\n}\n","import { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { CardView } from '../view/cardView';\n\nexport class Card extends Domain {\n cardholderName: CipherString;\n brand: CipherString;\n number: CipherString;\n expMonth: CipherString;\n expYear: CipherString;\n code: CipherString;\n\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new CardView(this), {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, orgId);\n }\n\n toCardData(): CardData {\n const c = new CardData();\n this.buildDataModel(this, c, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n });\n return c;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { FieldView } from '../view/fieldView';\n\nexport class Field extends Domain {\n name: CipherString;\n value: CipherString;\n type: FieldType;\n\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n this.buildDomainModel(this, obj, {\n name: null,\n value: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId);\n }\n\n toFieldData(): FieldData {\n const f = new FieldData();\n this.buildDataModel(this, f, {\n name: null,\n value: null,\n type: null,\n }, ['type']);\n return f;\n }\n}\n","import { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { IdentityView } from '../view/identityView';\n\nexport class Identity extends Domain {\n title: CipherString;\n firstName: CipherString;\n middleName: CipherString;\n lastName: CipherString;\n address1: CipherString;\n address2: CipherString;\n address3: CipherString;\n city: CipherString;\n state: CipherString;\n postalCode: CipherString;\n country: CipherString;\n company: CipherString;\n email: CipherString;\n phone: CipherString;\n ssn: CipherString;\n username: CipherString;\n passportNumber: CipherString;\n licenseNumber: CipherString;\n\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new IdentityView(this), {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, orgId);\n }\n\n toIdentityData(): IdentityData {\n const i = new IdentityData();\n this.buildDataModel(this, i, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n });\n return i;\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n passwordRevisionDate?: Date;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.passwordRevisionDate = obj.passwordRevisionDate != null ? new Date(obj.passwordRevisionDate) : null;\n this.buildDomainModel(this, obj, {\n username: null,\n password: null,\n totp: null,\n }, alreadyEncrypted, []);\n\n if (obj.uris) {\n this.uris = [];\n obj.uris.forEach((u) => {\n this.uris.push(new LoginUri(u, alreadyEncrypted));\n });\n }\n }\n\n async decrypt(orgId: string): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId);\n\n if (this.uris != null) {\n view.uris = [];\n for (let i = 0; i < this.uris.length; i++) {\n const uri = await this.uris[i].decrypt(orgId);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n l.passwordRevisionDate = this.passwordRevisionDate != null ? this.passwordRevisionDate.toISOString() : null;\n this.buildDataModel(this, l, {\n username: null,\n password: null,\n totp: null,\n });\n\n if (this.uris != null && this.uris.length > 0) {\n l.uris = [];\n this.uris.forEach((u) => {\n l.uris.push(u.toLoginUriData());\n });\n }\n\n return l;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class LoginUri extends Domain {\n uri: CipherString;\n match: UriMatchType;\n\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.match = obj.match;\n this.buildDomainModel(this, obj, {\n uri: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId);\n }\n\n toLoginUriData(): LoginUriData {\n const u = new LoginUriData();\n this.buildDataModel(this, u, {\n uri: null,\n }, ['match']);\n return u;\n }\n}\n","import { PasswordHistoryData } from '../data/passwordHistoryData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { PasswordHistoryView } from '../view/passwordHistoryView';\n\nexport class Password extends Domain {\n password: CipherString;\n lastUsedDate: Date;\n\n constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n password: null,\n }, alreadyEncrypted);\n this.lastUsedDate = new Date(obj.lastUsedDate);\n }\n\n async decrypt(orgId: string): Promise {\n const view = await this.decryptObj(new PasswordHistoryView(this), {\n password: null,\n }, orgId);\n return view;\n }\n\n toPasswordHistoryData(): PasswordHistoryData {\n const ph = new PasswordHistoryData();\n ph.lastUsedDate = this.lastUsedDate.toISOString();\n this.buildDataModel(this, ph, {\n password: null,\n });\n return ph;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Password } from '../domain/password';\r\n\r\nexport class PasswordHistoryView implements View {\r\n password: string = null;\r\n lastUsedDate: Date = null;\r\n\r\n constructor(ph?: Password) {\r\n if (!ph) {\r\n return;\r\n }\r\n\r\n this.lastUsedDate = ph.lastUsedDate;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domainBase';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nexport class SecureNote extends Domain {\n type: SecureNoteType;\n\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n }\n\n decrypt(orgId: string): Promise {\n return Promise.resolve(new SecureNoteView(this));\n }\n\n toSecureNoteData(): SecureNoteData {\n const n = new SecureNoteData();\n n.type = this.type;\n return n;\n }\n}\n","import { CipherRequest } from './cipherRequest';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nexport class CipherCreateRequest {\r\n cipher: CipherRequest;\r\n collectionIds: string[];\r\n\r\n constructor(cipher: Cipher) {\r\n this.cipher = new CipherRequest(cipher);\r\n this.collectionIds = cipher.collectionIds;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\n\n@Component({\n selector: 'app-org-vault-attachments',\n templateUrl: '../../vault/attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n organization: Organization;\n\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.organization.isAdmin && this.showFixOldAttachments(attachment)) {\n await super.reuploadCipherAttachment(attachment, true);\n }\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.isAdmin);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n if (!this.organization.isAdmin) {\n return super.deleteCipherAttachment(attachmentId);\n }\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.organization.isAdmin;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\n\n@Component({\n selector: 'app-org-vault-collections',\n templateUrl: '../../vault/collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService,\n private apiService: ApiService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected loadCipherCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCipherCollections();\n }\n return this.collectionIds;\n }\n\n protected loadCollections() {\n if (!this.organization.isAdmin) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected saveCollections() {\n if (this.organization.isAdmin) {\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\n } else {\n return super.saveCollections();\n }\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-collection-add-edit',\n templateUrl: 'collection-add-edit.component.html',\n})\nexport class CollectionAddEditComponent implements OnInit {\n @Input() collectionId: string;\n @Input() organizationId: string;\n @Output() onSavedCollection = new EventEmitter();\n @Output() onDeletedCollection = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n accessGroups: boolean = false;\n title: string;\n name: string;\n externalId: string;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n private orgKey: SymmetricCryptoKey;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessGroups = organization.useGroups;\n this.editMode = this.loading = this.collectionId != null;\n if (this.accessGroups) {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editCollection');\n try {\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\n this.externalId = collection.externalId;\n if (collection.groups != null && this.groups.length > 0) {\n collection.groups.forEach((s) => {\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n (group[0] as any).readOnly = s.readOnly;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addCollection');\n }\n\n this.groups.forEach((g) => {\n if (g.accessAll) {\n (g as any).checked = true;\n }\n });\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n if (g.accessAll) {\n return;\n }\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n if (this.orgKey == null) {\n throw new Error('No encryption key for this organization.');\n }\n\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.externalId = this.externalId;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly));\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\n } else {\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\n this.onSavedCollection.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\n this.onDeletedCollection.emit();\n } catch { }\n }\n}\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n externalId: string;\n groups: SelectionReadOnlyRequest[] = [];\n\n constructor(collection?: Collection) {\n if (collection == null) {\n return;\n }\n this.name = collection.name ? collection.name.encryptedString : null;\n this.externalId = collection.externalId;\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\n@Component({\r\n selector: 'app-group-add-edit',\r\n templateUrl: 'group-add-edit.component.html',\r\n})\r\nexport class GroupAddEditComponent implements OnInit {\r\n @Input() groupId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedGroup = new EventEmitter();\r\n @Output() onDeletedGroup = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.groupId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editGroup');\r\n try {\r\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\r\n this.access = group.accessAll ? 'all' : 'selected';\r\n this.name = group.name;\r\n this.externalId = group.externalId;\r\n if (group.collections != null && this.collections != null) {\r\n group.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addGroup');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n const request = new GroupRequest();\r\n request.name = this.name;\r\n request.externalId = this.externalId;\r\n request.accessAll = this.access === 'all';\r\n if (!request.accessAll) {\r\n request.collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\r\n } else {\r\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\r\n this.onSavedGroup.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\r\n this.onDeletedGroup.emit();\r\n } catch { }\r\n }\r\n}\r\n","export class OrganizationUserConfirmRequest {\n key: string;\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Component({\r\n selector: 'app-user-add-edit',\r\n templateUrl: 'user-add-edit.component.html',\r\n})\r\nexport class UserAddEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n @Output() onDeletedUser = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n emails: string;\r\n type: OrganizationUserType = OrganizationUserType.User;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n organizationUserType = OrganizationUserType;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.organizationUserId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editUser');\r\n try {\r\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\r\n this.access = user.accessAll ? 'all' : 'selected';\r\n this.type = user.type;\r\n if (user.collections != null && this.collections != null) {\r\n user.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('inviteUser');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n let collections: SelectionReadOnlyRequest[] = null;\r\n if (this.access !== 'all') {\r\n collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n const request = new OrganizationUserUpdateRequest();\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\r\n request);\r\n } else {\r\n const request = new OrganizationUserInviteRequest();\r\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\r\n this.onDeletedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-confirm',\n templateUrl: 'user-confirm.component.html',\n})\nexport class UserConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onConfirmedUser = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n formPromise: Promise;\n\n private publicKey: Uint8Array = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n this.publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, this.publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.formPromise = this.doConfirmation();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', this.name));\n this.onConfirmedUser.emit();\n } catch { }\n }\n\n private async doConfirmation() {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, this.publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, this.organizationUserId, request);\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-groups',\n templateUrl: 'user-groups.component.html',\n})\nexport class UserGroupsComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n\n loading = true;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n const groups = groupsResponse.data.map((r) => r);\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n\n try {\n const userGroups = await this.apiService.getOrganizationUserGroups(\n this.organizationId, this.organizationUserId);\n if (userGroups != null && this.groups != null) {\n userGroups.forEach((ug) => {\n const group = this.groups.filter((g) => g.id === ug);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n }\n });\n }\n } catch { }\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new OrganizationUserUpdateGroupsRequest();\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\n\n try {\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\n request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\nimport { ApiKeyResponse } from 'jslib/models/response/apiKeyResponse';\n\n@Component({\n selector: 'app-api-key',\n templateUrl: 'api-key.component.html',\n})\nexport class ApiKeyComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n clientId: string;\n clientSecret: string;\n scope: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postOrganizationApiKey(this.organizationId, request);\n const response = await this.formPromise;\n this.clientSecret = response.apiKey;\n this.clientId = 'organization.' + this.organizationId;\n this.scope = 'api.organization';\n this.analytics.eventTrack.next({ action: 'Viewed Organization API Key' });\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-organization',\n templateUrl: 'delete-organization.component.html',\n})\nexport class DeleteOrganizationComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\n this.i18nService.t('organizationDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\nimport { ApiKeyResponse } from 'jslib/models/response/apiKeyResponse';\n\n@Component({\n selector: 'app-rotate-api-key',\n templateUrl: 'rotate-api-key.component.html',\n})\nexport class RotateApiKeyComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n clientId: string;\n clientSecret: string;\n scope: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postOrganizationRotateApiKey(this.organizationId, request);\n const response = await this.formPromise;\n this.clientSecret = response.apiKey;\n this.clientId = 'organization.' + this.organizationId;\n this.scope = 'api.organization';\n this.analytics.eventTrack.next({ action: 'Rotated Organization API Key' });\n } catch { }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\n\n@Component({\n selector: 'app-adjust-seats',\n templateUrl: 'adjust-seats.component.html',\n})\nexport class AdjustSeatsComponent {\n @Input() seatPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new SeatRequest();\n request.seatAdjustment = this.seatAdjustment;\n if (!this.add) {\n request.seatAdjustment *= -1;\n }\n\n this.formPromise = this.apiService.postOrganizationSeat(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n this.onAdjusted.emit(this.seatAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatPrice;\n }\n}\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBoxRow]',\r\n})\r\nexport class BoxRowDirective implements OnInit {\r\n el: HTMLElement = null;\r\n formEls: Element[];\r\n\r\n constructor(private elRef: ElementRef) {\r\n this.el = elRef.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\r\n this.formEls.forEach((formEl) => {\r\n formEl.addEventListener('focus', (event: Event) => {\r\n this.el.classList.add('active');\r\n }, false);\r\n\r\n formEl.addEventListener('blur', (event: Event) => {\r\n this.el.classList.remove('active');\r\n }, false);\r\n });\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: Event) {\r\n const target = event.target as HTMLElement;\r\n if (target !== this.el && !target.classList.contains('progress') &&\r\n !target.classList.contains('progress-bar')) {\r\n return;\r\n }\r\n\r\n if (this.formEls.length > 0) {\r\n const formEl = (this.formEls[0] as HTMLElement);\r\n if (formEl.tagName.toLowerCase() === 'input') {\r\n const inputEl = (formEl as HTMLInputElement);\r\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\r\n inputEl.click();\r\n return;\r\n }\r\n }\r\n formEl.focus();\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n NgControl,\r\n} from '@angular/forms';\r\n\r\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\r\n@Directive({\r\n selector: 'input[type=checkbox][appTrueFalseValue]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TrueFalseValueDirective),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TrueFalseValueDirective implements ControlValueAccessor {\r\n @Input() trueValue = true;\r\n @Input() falseValue = false;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('change', ['$event'])\r\n onHostChange(ev: any) {\r\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { /* nothing */ }\r\n\r\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\r\n\r\n private propagateChange = (_: any) => { /* nothing */ };\r\n}\r\n","import { DeviceType } from '../enums/deviceType';\n\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport class ApiService implements ApiServiceAbstraction {\n urlsSet: boolean = false;\n apiBaseUrl: string;\n identityBaseUrl: string;\n\n private deviceType: string;\n private isWebClient = false;\n private isDesktopClient = false;\n private usingBaseUrl = false;\n\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\n private logoutCallback: (expired: boolean) => Promise) {\n const device = platformUtilsService.getDevice();\n this.deviceType = device.toString();\n this.isWebClient = device === DeviceType.IEBrowser || device === DeviceType.ChromeBrowser ||\n device === DeviceType.EdgeBrowser || device === DeviceType.FirefoxBrowser ||\n device === DeviceType.OperaBrowser || device === DeviceType.SafariBrowser ||\n device === DeviceType.UnknownBrowser || device === DeviceType.VivaldiBrowser;\n this.isDesktopClient = device === DeviceType.WindowsDesktop || device === DeviceType.MacOsDesktop ||\n device === DeviceType.LinuxDesktop;\n }\n\n setUrls(urls: EnvironmentUrls): void {\n this.urlsSet = true;\n\n if (urls.base != null) {\n this.usingBaseUrl = true;\n this.apiBaseUrl = urls.base + '/api';\n this.identityBaseUrl = urls.base + '/identity';\n return;\n }\n\n if (urls.api != null && urls.identity != null) {\n this.apiBaseUrl = urls.api;\n this.identityBaseUrl = urls.identity;\n return;\n }\n\n /* tslint:disable */\n // Local Dev\n //this.apiBaseUrl = 'http://localhost:4000';\n //this.identityBaseUrl = 'http://localhost:33656';\n\n // Production\n this.apiBaseUrl = 'https://api.bitwarden.com';\n this.identityBaseUrl = 'https://identity.bitwarden.com';\n /* tslint:enable */\n }\n\n // Auth APIs\n\n async postIdentityToken(request: TokenRequest): Promise {\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify(request.toIdentityToken(this.platformUtilsService.identityClientId)),\n credentials: this.getCredentials(),\n cache: 'no-cache',\n headers: new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n }),\n method: 'POST',\n }));\n\n let responseJson: any = null;\n const typeHeader = response.headers.get('content-type');\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\n responseJson = await response.json();\n }\n\n if (responseJson != null) {\n if (response.status === 200) {\n return new IdentityTokenResponse(responseJson);\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\n Object.keys(responseJson.TwoFactorProviders2).length) {\n await this.tokenService.clearTwoFactorToken(request.email);\n return new IdentityTwoFactorResponse(responseJson);\n }\n }\n\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\n }\n\n async refreshIdentityToken(): Promise {\n try {\n await this.doRefreshToken();\n } catch (e) {\n return Promise.reject(null);\n }\n }\n\n // Account APIs\n\n async getProfile(): Promise {\n const r = await this.send('GET', '/accounts/profile', null, true, true);\n return new ProfileResponse(r);\n }\n\n async getUserBilling(): Promise {\n const r = await this.send('GET', '/accounts/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getUserSubscription(): Promise {\n const r = await this.send('GET', '/accounts/subscription', null, true, true);\n return new SubscriptionResponse(r);\n }\n\n async putProfile(request: UpdateProfileRequest): Promise {\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\n return new ProfileResponse(r);\n }\n\n async postPrelogin(request: PreloginRequest): Promise {\n const r = await this.send('POST', '/accounts/prelogin', request, false, true);\n return new PreloginResponse(r);\n }\n\n postEmailToken(request: EmailTokenRequest): Promise {\n return this.send('POST', '/accounts/email-token', request, true, false);\n }\n\n postEmail(request: EmailRequest): Promise {\n return this.send('POST', '/accounts/email', request, true, false);\n }\n\n postPassword(request: PasswordRequest): Promise {\n return this.send('POST', '/accounts/password', request, true, false);\n }\n\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/security-stamp', request, true, false);\n }\n\n deleteAccount(request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/accounts', request, true, false);\n }\n\n async getAccountRevisionDate(): Promise {\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\n return r as number;\n }\n\n postPasswordHint(request: PasswordHintRequest): Promise {\n return this.send('POST', '/accounts/password-hint', request, false, false);\n }\n\n postRegister(request: RegisterRequest): Promise {\n return this.send('POST', '/accounts/register', request, false, false);\n }\n\n postPremium(data: FormData): Promise {\n return this.send('POST', '/accounts/premium', data, true, false);\n }\n\n postReinstatePremium(): Promise {\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\n }\n\n postCancelPremium(): Promise {\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\n }\n\n postAccountStorage(request: StorageRequest): Promise {\n return this.send('POST', '/accounts/storage', request, true, false);\n }\n\n postAccountPayment(request: PaymentRequest): Promise {\n return this.send('POST', '/accounts/payment', request, true, false);\n }\n\n postAccountLicense(data: FormData): Promise {\n return this.send('POST', '/accounts/license', data, true, false);\n }\n\n postAccountKeys(request: KeysRequest): Promise {\n return this.send('POST', '/accounts/keys', request, true, false);\n }\n\n postAccountKey(request: UpdateKeyRequest): Promise {\n return this.send('POST', '/accounts/key', request, true, false);\n }\n\n postAccountVerifyEmail(): Promise {\n return this.send('POST', '/accounts/verify-email', null, true, false);\n }\n\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\n }\n\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover', request, false, false);\n }\n\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\n }\n\n postAccountKdf(request: KdfRequest): Promise {\n return this.send('POST', '/accounts/kdf', request, true, false);\n }\n\n // Folder APIs\n\n async getFolder(id: string): Promise {\n const r = await this.send('GET', '/folders/' + id, null, true, true);\n return new FolderResponse(r);\n }\n\n async postFolder(request: FolderRequest): Promise {\n const r = await this.send('POST', '/folders', request, true, true);\n return new FolderResponse(r);\n }\n\n async putFolder(id: string, request: FolderRequest): Promise {\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\n return new FolderResponse(r);\n }\n\n deleteFolder(id: string): Promise {\n return this.send('DELETE', '/folders/' + id, null, true, false);\n }\n\n // Cipher APIs\n\n async getCipher(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\n return new CipherResponse(r);\n }\n\n async getCipherAdmin(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async getCiphersOrganization(organizationId: string): Promise> {\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\n null, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n async postCipher(request: CipherRequest): Promise {\n const r = await this.send('POST', '/ciphers', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherCreate(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/create', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAdmin(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipher(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipher(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\n }\n\n deleteCipherAdmin(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\n }\n\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers', request, true, false);\n }\n\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\n return this.send('PUT', '/ciphers/move', request, true, false);\n }\n\n async putShareCipher(id: string, request: CipherShareRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/share', request, true, true);\n return new CipherResponse(r);\n }\n\n putShareCiphers(request: CipherBulkShareRequest): Promise {\n return this.send('PUT', '/ciphers/share', request, true, false);\n }\n\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\n }\n\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\n }\n\n postPurgeCiphers(request: PasswordVerificationRequest, organizationId: string = null): Promise {\n let path = '/ciphers/purge';\n if (organizationId != null) {\n path += '?organizationId=' + organizationId;\n }\n return this.send('POST', path, request, true, false);\n }\n\n postImportCiphers(request: ImportCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import', request, true, false);\n }\n\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\n }\n\n // Attachments APIs\n\n async postCipherAttachment(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\n }\n\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\n }\n\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\n organizationId: string): Promise {\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\n }\n\n // Collections APIs\n\n async getCollectionDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\n null, true, true);\n return new CollectionGroupDetailsResponse(r);\n }\n\n async getUserCollections(): Promise> {\n const r = await this.send('GET', '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollections(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollectionUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\n null, true, true);\n return r.map((dr: any) => new SelectionReadOnlyResponse(dr));\n }\n\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\n request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollectionUsers(organizationId: string, id: string, request: SelectionReadOnlyRequest[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id + '/users',\n request, true, false);\n }\n\n deleteCollection(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\n }\n\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\n null, true, false);\n }\n\n // Groups APIs\n\n async getGroupDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\n null, true, true);\n return new GroupDetailsResponse(r);\n }\n\n async getGroups(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\n return new ListResponse(r, GroupResponse);\n }\n\n async getGroupUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\n null, true, true);\n return r;\n }\n\n async postGroup(organizationId: string, request: GroupRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroupUsers(organizationId: string, id: string, request: string[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id + '/users', request, true, false);\n }\n\n deleteGroup(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\n }\n\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\n }\n\n // Organization User APIs\n\n async getOrganizationUser(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\n return new OrganizationUserDetailsResponse(r);\n }\n\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\n null, true, true);\n return r;\n }\n\n async getOrganizationUsers(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\n }\n\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\n }\n\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\n }\n\n postOrganizationUserAccept(organizationId: string, id: string,\n request: OrganizationUserAcceptRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\n }\n\n postOrganizationUserConfirm(organizationId: string, id: string,\n request: OrganizationUserConfirmRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\n request, true, false);\n }\n\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\n }\n\n putOrganizationUserGroups(organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\n }\n\n deleteOrganizationUser(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\n }\n\n // Sync APIs\n\n async getSync(): Promise {\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\n const r = await this.send('GET', path, null, true, true);\n return new SyncResponse(r);\n }\n\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\n }\n\n // Settings APIs\n\n async getSettingsDomains(): Promise {\n const r = await this.send('GET', '/settings/domains', null, true, true);\n return new DomainsResponse(r);\n }\n\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\n const r = await this.send('PUT', '/settings/domains', request, true, true);\n return new DomainsResponse(r);\n }\n\n // Two-factor APIs\n\n async getTwoFactorProviders(): Promise> {\n const r = await this.send('GET', '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorOrganizationDuo(organizationId: string,\n request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\n request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async getTwoFactorU2fChallenge(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f-challenge', request, true, true);\n return new ChallengeResponse(r);\n }\n\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\n return new TwoFactorRecoverResponse(r);\n }\n\n async putTwoFactorAuthenticator(\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorOrganizationDuo(organizationId: string,\n request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async deleteTwoFactorU2f(request: UpdateTwoFactorU2fDeleteRequest): Promise {\n const r = await this.send('DELETE', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n async putTwoFactorOrganizationDisable(organizationId: string,\n request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\n request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\n return this.send('POST', '/two-factor/recover', request, false, false);\n }\n\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email', request, true, false);\n }\n\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\n }\n\n // Organization APIs\n\n async getOrganization(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\n return new OrganizationResponse(r);\n }\n\n async getOrganizationBilling(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getOrganizationSubscription(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/subscription', null, true, true);\n return new OrganizationSubscriptionResponse(r);\n }\n\n async getOrganizationLicense(id: string, installationId: string): Promise {\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\n null, true, true);\n }\n\n async postOrganization(request: OrganizationCreateRequest): Promise {\n const r = await this.send('POST', '/organizations', request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\n return new OrganizationResponse(r);\n }\n\n postLeaveOrganization(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\n }\n\n async postOrganizationLicense(data: FormData): Promise {\n const r = await this.send('POST', '/organizations/license', data, true, true);\n return new OrganizationResponse(r);\n }\n\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\n }\n\n async postOrganizationApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postOrganizationRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/rotate-api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n postOrganizationSeat(id: string, request: SeatRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/seat', request, true, false);\n }\n\n postOrganizationStorage(id: string, request: StorageRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/storage', request, true, false);\n }\n\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\n }\n\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\n }\n\n postOrganizationCancel(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\n }\n\n postOrganizationReinstate(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\n }\n\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/organizations/' + id, request, true, false);\n }\n\n // Event APIs\n\n async getEvents(start: string, end: string, token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsCipher(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganization(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganizationUser(organizationId: string, id: string,\n start: string, end: string, token: string): Promise> {\n const r = await this.send('GET',\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n // User APIs\n\n async getUserPublicKey(id: string): Promise {\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\n return new UserKeyResponse(r);\n }\n\n // HIBP APIs\n\n async getHibpBreach(username: string): Promise {\n const r = await this.send('GET', '/hibp/breach?username=' + username, null, true, true);\n return r.map((a: any) => new BreachAccountResponse(a));\n }\n\n // Misc\n\n async postBitPayInvoice(request: BitPayInvoiceRequest): Promise {\n const r = await this.send('POST', '/bitpay-invoice', request, true, true);\n return r as string;\n }\n\n // Helpers\n\n async getActiveBearerToken(): Promise {\n let accessToken = await this.tokenService.getToken();\n if (this.tokenService.tokenNeedsRefresh()) {\n const tokenResponse = await this.doRefreshToken();\n accessToken = tokenResponse.accessToken;\n }\n return accessToken;\n }\n\n fetch(request: Request): Promise {\n if (request.method === 'GET') {\n request.headers.set('Cache-Control', 'no-cache');\n request.headers.set('Pragma', 'no-cache');\n }\n return fetch(request);\n }\n\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\n authed: boolean, hasResponse: boolean): Promise {\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n });\n\n const requestInit: RequestInit = {\n cache: 'no-cache',\n credentials: this.getCredentials(),\n method: method,\n };\n\n if (authed) {\n const authHeader = await this.getActiveBearerToken();\n headers.set('Authorization', 'Bearer ' + authHeader);\n }\n if (body != null) {\n if (typeof body === 'string') {\n requestInit.body = body;\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\n } else if (typeof body === 'object') {\n if (body instanceof FormData) {\n requestInit.body = body;\n } else {\n headers.set('Content-Type', 'application/json; charset=utf-8');\n requestInit.body = JSON.stringify(body);\n }\n }\n }\n if (hasResponse) {\n headers.set('Accept', 'application/json');\n }\n\n requestInit.headers = headers;\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\n\n if (hasResponse && response.status === 200) {\n const responseJson = await response.json();\n return responseJson;\n } else if (response.status !== 200) {\n const error = await this.handleError(response, false);\n return Promise.reject(error);\n }\n }\n\n private async handleError(response: Response, tokenError: boolean): Promise {\n if ((tokenError && response.status === 400) || response.status === 401 || response.status === 403) {\n await this.logoutCallback(true);\n return null;\n }\n\n let responseJson: any = null;\n const typeHeader = response.headers.get('content-type');\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\n responseJson = await response.json();\n }\n\n return new ErrorResponse(responseJson, response.status, tokenError);\n }\n\n private async doRefreshToken(): Promise {\n const refreshToken = await this.tokenService.getRefreshToken();\n if (refreshToken == null || refreshToken === '') {\n throw new Error();\n }\n\n const decodedToken = this.tokenService.decodeToken();\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify({\n grant_type: 'refresh_token',\n client_id: decodedToken.client_id,\n refresh_token: refreshToken,\n }),\n cache: 'no-cache',\n credentials: this.getCredentials(),\n headers: new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n }),\n method: 'POST',\n }));\n\n if (response.status === 200) {\n const responseJson = await response.json();\n const tokenResponse = new IdentityTokenResponse(responseJson);\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n return tokenResponse;\n } else {\n const error = await this.handleError(response, true);\n return Promise.reject(error);\n }\n }\n\n private qsStringify(params: any): string {\n return Object.keys(params).map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\n }).join('&');\n }\n\n private getCredentials(): RequestCredentials {\n if (!this.isWebClient || this.usingBaseUrl) {\n return 'include';\n }\n return undefined;\n }\n\n private addEventParameters(base: string, start: string, end: string, token: string) {\n if (start != null) {\n base += ('?start=' + start);\n }\n if (end != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('end=' + end);\n }\n if (token != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('continuationToken=' + token);\n }\n return base;\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\r\nimport { BaseResponse } from './baseResponse';\r\nimport { PasswordHistoryResponse } from './passwordHistoryResponse';\r\n\r\nimport { CardApi } from '../api/cardApi';\r\nimport { FieldApi } from '../api/fieldApi';\r\nimport { IdentityApi } from '../api/identityApi';\r\nimport { LoginApi } from '../api/loginApi';\r\nimport { SecureNoteApi } from '../api/secureNoteApi';\r\n\r\nexport class CipherResponse extends BaseResponse {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n type: number;\r\n name: string;\r\n notes: string;\r\n fields: FieldApi[];\r\n login: LoginApi;\r\n card: CardApi;\r\n identity: IdentityApi;\r\n secureNote: SecureNoteApi;\r\n favorite: boolean;\r\n edit: boolean;\r\n organizationUseTotp: boolean;\r\n revisionDate: string;\r\n attachments: AttachmentResponse[];\r\n passwordHistory: PasswordHistoryResponse[];\r\n collectionIds: string[];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.folderId = this.getResponseProperty('FolderId') || null;\r\n this.type = this.getResponseProperty('Type');\r\n this.name = this.getResponseProperty('Name');\r\n this.notes = this.getResponseProperty('Notes');\r\n this.favorite = this.getResponseProperty('Favorite') || false;\r\n this.edit = this.getResponseProperty('Edit') || true;\r\n this.organizationUseTotp = this.getResponseProperty('OrganizationUseTotp');\r\n this.revisionDate = this.getResponseProperty('RevisionDate');\r\n this.collectionIds = this.getResponseProperty('CollectionIds');\r\n\r\n const login = this.getResponseProperty('Login');\r\n if (login != null) {\r\n this.login = new LoginApi(login);\r\n }\r\n\r\n const card = this.getResponseProperty('Card');\r\n if (card != null) {\r\n this.card = new CardApi(card);\r\n }\r\n\r\n const identity = this.getResponseProperty('Identity');\r\n if (identity != null) {\r\n this.identity = new IdentityApi(identity);\r\n }\r\n\r\n const secureNote = this.getResponseProperty('SecureNote');\r\n if (secureNote != null) {\r\n this.secureNote = new SecureNoteApi(secureNote);\r\n }\r\n\r\n const fields = this.getResponseProperty('Fields');\r\n if (fields != null) {\r\n this.fields = fields.map((f: any) => new FieldApi(f));\r\n }\r\n\r\n const attachments = this.getResponseProperty('Attachments');\r\n if (attachments != null) {\r\n this.attachments = attachments.map((a: any) => new AttachmentResponse(a));\r\n }\r\n\r\n const passwordHistory = this.getResponseProperty('PasswordHistory');\r\n if (passwordHistory != null) {\r\n this.passwordHistory = passwordHistory.map((h: any) => new PasswordHistoryResponse(h));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse extends BaseResponse {\n id: string;\n organizationId: string;\n name: string;\n externalId: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.name = this.getResponseProperty('Name');\n this.externalId = this.getResponseProperty('ExternalId');\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = this.getResponseProperty('ReadOnly') || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const groups = this.getResponseProperty('Groups');\n if (groups != null) {\n this.groups = groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\r\nimport { GlobalDomainResponse } from './globalDomainResponse';\r\n\r\nexport class DomainsResponse extends BaseResponse {\r\n equivalentDomains: string[][];\r\n globalEquivalentDomains: GlobalDomainResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.equivalentDomains = this.getResponseProperty('EquivalentDomains');\r\n const globalEquivalentDomains = this.getResponseProperty('GlobalEquivalentDomains');\r\n if (globalEquivalentDomains != null) {\r\n this.globalEquivalentDomains = globalEquivalentDomains.map((d: any) => new GlobalDomainResponse(d));\r\n } else {\r\n this.globalEquivalentDomains = [];\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class FolderResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.revisionDate = this.getResponseProperty('RevisionDate');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { PlanType } from '../../enums/planType';\r\n\r\nexport class OrganizationResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n businessName: string;\r\n businessAddress1: string;\r\n businessAddress2: string;\r\n businessAddress3: string;\r\n businessCountry: string;\r\n businessTaxNumber: string;\r\n billingEmail: string;\r\n plan: string;\r\n planType: PlanType;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb: number;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.businessName = this.getResponseProperty('BusinessName');\r\n this.businessAddress1 = this.getResponseProperty('BusinessAddress1');\r\n this.businessAddress2 = this.getResponseProperty('BusinessAddress2');\r\n this.businessAddress3 = this.getResponseProperty('BusinessAddress3');\r\n this.businessCountry = this.getResponseProperty('BusinessCountry');\r\n this.businessTaxNumber = this.getResponseProperty('BusinessTaxNumber');\r\n this.billingEmail = this.getResponseProperty('BillingEmail');\r\n this.plan = this.getResponseProperty('Plan');\r\n this.planType = this.getResponseProperty('PlanType');\r\n this.seats = this.getResponseProperty('Seats');\r\n this.maxCollections = this.getResponseProperty('MaxCollections');\r\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\r\n this.useGroups = this.getResponseProperty('UseGroups');\r\n this.useDirectory = this.getResponseProperty('UseDirectory');\r\n this.useEvents = this.getResponseProperty('UseEvents');\r\n this.useTotp = this.getResponseProperty('UseTotp');\r\n this.use2fa = this.getResponseProperty('Use2fa');\r\n this.useApi = this.getResponseProperty('UseApi');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class SubscriptionResponse extends BaseResponse {\r\n storageName: string;\r\n storageGb: number;\r\n maxStorageGb: number;\r\n subscription: BillingSubscriptionResponse;\r\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\r\n license: any;\r\n expiration: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.storageName = this.getResponseProperty('StorageName');\r\n this.storageGb = this.getResponseProperty('StorageGb');\r\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\r\n this.license = this.getResponseProperty('License');\r\n this.expiration = this.getResponseProperty('Expiration');\r\n const subscription = this.getResponseProperty('Subscription');\r\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\r\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\r\n this.upcomingInvoice = upcomingInvoice == null ? null :\r\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\r\n }\r\n}\r\n\r\nexport class BillingSubscriptionResponse extends BaseResponse {\r\n trialStartDate: string;\r\n trialEndDate: string;\r\n periodStartDate: string;\r\n periodEndDate: string;\r\n cancelledDate: string;\r\n cancelAtEndDate: boolean;\r\n status: string;\r\n cancelled: boolean;\r\n items: BillingSubscriptionItemResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.trialEndDate = this.getResponseProperty('TrialStartDate');\r\n this.trialEndDate = this.getResponseProperty('TrialEndDate');\r\n this.periodStartDate = this.getResponseProperty('PeriodStartDate');\r\n this.periodEndDate = this.getResponseProperty('PeriodEndDate');\r\n this.cancelledDate = this.getResponseProperty('CancelledDate');\r\n this.cancelAtEndDate = this.getResponseProperty('CancelAtEndDate');\r\n this.status = this.getResponseProperty('Status');\r\n this.cancelled = this.getResponseProperty('Cancelled');\r\n const items = this.getResponseProperty('Items');\r\n if (items != null) {\r\n this.items = items.map((i: any) => new BillingSubscriptionItemResponse(i));\r\n }\r\n }\r\n}\r\n\r\nexport class BillingSubscriptionItemResponse extends BaseResponse {\r\n name: string;\r\n amount: number;\r\n quantity: number;\r\n interval: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.name = this.getResponseProperty('Name');\r\n this.amount = this.getResponseProperty('Amount');\r\n this.quantity = this.getResponseProperty('Quantity');\r\n this.interval = this.getResponseProperty('Interval');\r\n }\r\n}\r\n\r\nexport class BillingSubscriptionUpcomingInvoiceResponse extends BaseResponse {\r\n date: string;\r\n amount: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.date = this.getResponseProperty('Date');\r\n this.amount = this.getResponseProperty('Amount');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { ProfileOrganizationResponse } from './profileOrganizationResponse';\r\n\r\nexport class ProfileResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n email: string;\r\n emailVerified: boolean;\r\n masterPasswordHint: string;\r\n premium: boolean;\r\n culture: string;\r\n twoFactorEnabled: boolean;\r\n key: string;\r\n privateKey: string;\r\n securityStamp: string;\r\n organizations: ProfileOrganizationResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.email = this.getResponseProperty('Email');\r\n this.emailVerified = this.getResponseProperty('EmailVerified');\r\n this.masterPasswordHint = this.getResponseProperty('MasterPasswordHint');\r\n this.premium = this.getResponseProperty('Premium');\r\n this.culture = this.getResponseProperty('Culture');\r\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\r\n this.key = this.getResponseProperty('Key');\r\n this.privateKey = this.getResponseProperty('PrivateKey');\r\n this.securityStamp = this.getResponseProperty('SecurityStamp');\r\n\r\n const organizations = this.getResponseProperty('Organizations');\r\n if (organizations != null) {\r\n this.organizations = organizations.map((o: any) => new ProfileOrganizationResponse(o));\r\n }\r\n }\r\n}\r\n","import { Utils } from '../misc/utils';\r\n\r\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class AppIdService implements AppIdServiceAbstraction {\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n getAppId(): Promise {\r\n return this.makeAndGetAppId('appId');\r\n }\r\n\r\n getAnonymousAppId(): Promise {\r\n return this.makeAndGetAppId('anonymousAppId');\r\n }\r\n\r\n private async makeAndGetAppId(key: string) {\r\n const existingId = await this.storageService.get(key);\r\n if (existingId != null) {\r\n return existingId;\r\n }\r\n\r\n const guid = Utils.newGuid();\r\n await this.storageService.save(key, guid);\r\n return guid;\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\n\r\nimport { throttle } from '../misc/throttle';\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\n\r\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\r\n\r\nexport class AuditService implements AuditServiceAbstraction {\r\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\r\n\r\n @throttle(100, () => 'passwordLeaked')\r\n async passwordLeaked(password: string): Promise {\r\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\r\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\r\n const hashStart = hash.substr(0, 5);\r\n const hashEnding = hash.substr(5);\r\n\r\n const response = await fetch(PwnedPasswordsApi + hashStart);\r\n const leakedHashes = await response.text();\r\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\r\n return v.split(':')[0] === hashEnding;\r\n });\r\n\r\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\r\n }\r\n\r\n async breachedAccounts(username: string): Promise {\r\n try {\r\n return await this.apiService.getHibpBreach(username);\r\n } catch (e) {\r\n const error = e as ErrorResponse;\r\n if (error.statusCode === 404) {\r\n return [];\r\n }\r\n throw new Error();\r\n }\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Attachment } from '../models/domain/attachment';\nimport { Card } from '../models/domain/card';\nimport { Cipher } from '../models/domain/cipher';\nimport { CipherString } from '../models/domain/cipherString';\nimport Domain from '../models/domain/domainBase';\nimport { Field } from '../models/domain/field';\nimport { Identity } from '../models/domain/identity';\nimport { Login } from '../models/domain/login';\nimport { LoginUri } from '../models/domain/loginUri';\nimport { Password } from '../models/domain/password';\nimport { SecureNote } from '../models/domain/secureNote';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\nimport { PasswordHistoryView } from '../models/view/passwordHistoryView';\nimport { View } from '../models/view/view';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { SearchService } from '../abstractions/search.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n ciphersPrefix: 'ciphers_',\n localData: 'sitesLocalData',\n neverDomains: 'neverDomains',\n};\n\nconst DomainMatchBlacklist = new Map>([\n ['google.com', new Set(['script.google.com'])],\n]);\n\nexport class CipherService implements CipherServiceAbstraction {\n // tslint:disable-next-line\n _decryptedCipherCache: CipherView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private settingsService: SettingsService, private apiService: ApiService,\n private storageService: StorageService, private i18nService: I18nService,\n private searchService: () => SearchService) {\n }\n\n get decryptedCipherCache() {\n return this._decryptedCipherCache;\n }\n set decryptedCipherCache(value: CipherView[]) {\n this._decryptedCipherCache = value;\n if (this.searchService != null) {\n if (value == null) {\n this.searchService().clearIndex();\n } else {\n this.searchService().indexCiphers();\n }\n }\n }\n\n clearCache(): void {\n this.decryptedCipherCache = null;\n }\n\n async encrypt(model: CipherView, key?: SymmetricCryptoKey, originalCipher: Cipher = null): Promise {\n // Adjust password history\n if (model.id != null) {\n if (originalCipher == null) {\n originalCipher = await this.get(model.id);\n }\n if (originalCipher != null) {\n const existingCipher = await originalCipher.decrypt();\n model.passwordHistory = existingCipher.passwordHistory || [];\n if (model.type === CipherType.Login && existingCipher.type === CipherType.Login) {\n if (existingCipher.login.password != null && existingCipher.login.password !== '' &&\n existingCipher.login.password !== model.login.password) {\n const ph = new PasswordHistoryView();\n ph.password = existingCipher.login.password;\n ph.lastUsedDate = model.login.passwordRevisionDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n } else {\n model.login.passwordRevisionDate = existingCipher.login.passwordRevisionDate;\n }\n }\n if (existingCipher.hasFields) {\n const existingHiddenFields = existingCipher.fields.filter((f) => f.type === FieldType.Hidden &&\n f.name != null && f.name !== '' && f.value != null && f.value !== '');\n const hiddenFields = model.fields == null ? [] :\n model.fields.filter((f) => f.type === FieldType.Hidden && f.name != null && f.name !== '');\n existingHiddenFields.forEach((ef) => {\n const matchedField = hiddenFields.filter((f) => f.name === ef.name);\n if (matchedField.length === 0 || matchedField[0].value !== ef.value) {\n const ph = new PasswordHistoryView();\n ph.password = ef.name + ': ' + ef.value;\n ph.lastUsedDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n }\n });\n }\n }\n if (model.passwordHistory != null && model.passwordHistory.length === 0) {\n model.passwordHistory = null;\n } else if (model.passwordHistory != null && model.passwordHistory.length > 5) {\n // only save last 5 history\n model.passwordHistory = model.passwordHistory.slice(0, 5);\n }\n }\n\n const cipher = new Cipher();\n cipher.id = model.id;\n cipher.folderId = model.folderId;\n cipher.favorite = model.favorite;\n cipher.organizationId = model.organizationId;\n cipher.type = model.type;\n cipher.collectionIds = model.collectionIds;\n\n if (key == null && cipher.organizationId != null) {\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\n if (key == null) {\n throw new Error('Cannot encrypt cipher for organization. No key.');\n }\n }\n await Promise.all([\n this.encryptObjProperty(model, cipher, {\n name: null,\n notes: null,\n }, key),\n this.encryptCipherData(cipher, model, key),\n this.encryptFields(model.fields, key).then((fields) => {\n cipher.fields = fields;\n }),\n this.encryptPasswordHistories(model.passwordHistory, key).then((ph) => {\n cipher.passwordHistory = ph;\n }),\n this.encryptAttachments(model.attachments, key).then((attachments) => {\n cipher.attachments = attachments;\n }),\n ]);\n\n return cipher;\n }\n\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\n if (attachmentsModel == null || attachmentsModel.length === 0) {\n return null;\n }\n\n const promises: Array> = [];\n const encAttachments: Attachment[] = [];\n attachmentsModel.forEach(async (model) => {\n const attachment = new Attachment();\n attachment.id = model.id;\n attachment.size = model.size;\n attachment.sizeName = model.sizeName;\n attachment.url = model.url;\n const promise = this.encryptObjProperty(model, attachment, {\n fileName: null,\n }, key).then(async () => {\n if (model.key != null) {\n attachment.key = await this.cryptoService.encrypt(model.key.key, key);\n }\n encAttachments.push(attachment);\n });\n promises.push(promise);\n });\n\n await Promise.all(promises);\n return encAttachments;\n }\n\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\n if (!fieldsModel || !fieldsModel.length) {\n return null;\n }\n\n const self = this;\n const encFields: Field[] = [];\n await fieldsModel.reduce((promise, field) => {\n return promise.then(() => {\n return self.encryptField(field, key);\n }).then((encField: Field) => {\n encFields.push(encField);\n });\n }, Promise.resolve());\n\n return encFields;\n }\n\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\n const field = new Field();\n field.type = fieldModel.type;\n // normalize boolean type field values\n if (fieldModel.type === FieldType.Boolean && fieldModel.value !== 'true') {\n fieldModel.value = 'false';\n }\n\n await this.encryptObjProperty(fieldModel, field, {\n name: null,\n value: null,\n }, key);\n\n return field;\n }\n\n async encryptPasswordHistories(phModels: PasswordHistoryView[], key: SymmetricCryptoKey): Promise {\n if (!phModels || !phModels.length) {\n return null;\n }\n\n const self = this;\n const encPhs: Password[] = [];\n await phModels.reduce((promise, ph) => {\n return promise.then(() => {\n return self.encryptPasswordHistory(ph, key);\n }).then((encPh: Password) => {\n encPhs.push(encPh);\n });\n }, Promise.resolve());\n\n return encPhs;\n }\n\n async encryptPasswordHistory(phModel: PasswordHistoryView, key: SymmetricCryptoKey): Promise {\n const ph = new Password();\n ph.lastUsedDate = phModel.lastUsedDate;\n\n await this.encryptObjProperty(phModel, ph, {\n password: null,\n }, key);\n\n return ph;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\n return null;\n }\n\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n const response: Cipher[] = [];\n for (const id in ciphers) {\n if (ciphers.hasOwnProperty(id)) {\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\n }\n }\n return response;\n }\n\n @sequentialize(() => 'getAllDecrypted')\n async getAllDecrypted(): Promise {\n if (this.decryptedCipherCache != null) {\n return this.decryptedCipherCache;\n }\n\n const decCiphers: CipherView[] = [];\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const promises: any[] = [];\n const ciphers = await this.getAll();\n ciphers.forEach((cipher) => {\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.getLocaleSortingFunction());\n this.decryptedCipherCache = decCiphers;\n return this.decryptedCipherCache;\n }\n\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\n const ciphers = await this.getAllDecrypted();\n\n return ciphers.filter((cipher) => {\n if (folder && cipher.folderId === groupingId) {\n return true;\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\n return true;\n }\n\n return false;\n });\n }\n\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[]): Promise {\n if (url == null && !includeOtherTypes) {\n return Promise.resolve([]);\n }\n\n const domain = Utils.getDomain(url);\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\n let matches: any[] = [];\n eqDomains.forEach((eqDomain) => {\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\n matches = matches.concat(eqDomain);\n }\n });\n\n if (!matches.length) {\n matches.push(domain);\n }\n\n return matches;\n });\n\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\n const matchingDomains = result[0];\n const ciphers = result[1];\n\n let defaultMatch = await this.storageService.get(ConstantsService.defaultUriMatch);\n if (defaultMatch == null) {\n defaultMatch = UriMatchType.Domain;\n }\n\n return ciphers.filter((cipher) => {\n if (includeOtherTypes && includeOtherTypes.indexOf(cipher.type) > -1) {\n return true;\n }\n\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\n for (let i = 0; i < cipher.login.uris.length; i++) {\n const u = cipher.login.uris[i];\n if (u.uri == null) {\n continue;\n }\n\n const match = u.match == null ? defaultMatch : u.match;\n switch (match) {\n case UriMatchType.Domain:\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\n if (DomainMatchBlacklist.has(u.domain)) {\n const domainUrlHost = Utils.getHost(url);\n if (!DomainMatchBlacklist.get(u.domain).has(domainUrlHost)) {\n return true;\n }\n } else {\n return true;\n }\n }\n break;\n case UriMatchType.Host:\n const urlHost = Utils.getHost(url);\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.Exact:\n if (url === u.uri) {\n return true;\n }\n break;\n case UriMatchType.StartsWith:\n if (url.startsWith(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.RegularExpression:\n try {\n const regex = new RegExp(u.uri, 'i');\n if (regex.test(url)) {\n return true;\n }\n } catch { }\n break;\n case UriMatchType.Never:\n default:\n break;\n }\n }\n }\n\n return false;\n });\n }\n\n async getAllFromApiForOrganization(organizationId: string): Promise {\n const ciphers = await this.apiService.getCiphersOrganization(organizationId);\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\n const decCiphers: CipherView[] = [];\n const promises: any[] = [];\n ciphers.data.forEach((r) => {\n const data = new CipherData(r);\n const cipher = new Cipher(data);\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n await Promise.all(promises);\n decCiphers.sort(this.getLocaleSortingFunction());\n return decCiphers;\n } else {\n return [];\n }\n }\n\n async getLastUsedForUrl(url: string): Promise {\n const ciphers = await this.getAllDecryptedForUrl(url);\n if (ciphers.length === 0) {\n return null;\n }\n\n const sortedCiphers = ciphers.sort(this.sortCiphersByLastUsed);\n return sortedCiphers[0];\n }\n\n async updateLastUsedDate(id: string): Promise {\n let ciphersLocalData = await this.storageService.get(Keys.localData);\n if (!ciphersLocalData) {\n ciphersLocalData = {};\n }\n\n if (ciphersLocalData[id]) {\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\n } else {\n ciphersLocalData[id] = {\n lastUsedDate: new Date().getTime(),\n };\n }\n\n await this.storageService.save(Keys.localData, ciphersLocalData);\n\n if (this.decryptedCipherCache == null) {\n return;\n }\n\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\n const cached = this.decryptedCipherCache[i];\n if (cached.id === id) {\n cached.localData = ciphersLocalData[id];\n break;\n }\n }\n }\n\n async saveNeverDomain(domain: string): Promise {\n if (domain == null) {\n return;\n }\n\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\n if (!domains) {\n domains = {};\n }\n domains[domain] = null;\n await this.storageService.save(Keys.neverDomains, domains);\n }\n\n async saveWithServer(cipher: Cipher): Promise {\n let response: CipherResponse;\n if (cipher.id == null) {\n if (cipher.collectionIds != null) {\n const request = new CipherCreateRequest(cipher);\n response = await this.apiService.postCipherCreate(request);\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.postCipher(request);\n }\n cipher.id = response.id;\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.putCipher(cipher.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, cipher.collectionIds);\n await this.upsert(data);\n }\n\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\n const attachmentPromises: Array> = [];\n if (cipher.attachments != null) {\n cipher.attachments.forEach((attachment) => {\n if (attachment.key == null) {\n attachmentPromises.push(this.shareAttachmentWithServer(attachment, cipher.id, organizationId));\n }\n });\n }\n await Promise.all(attachmentPromises);\n\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n const encCipher = await this.encrypt(cipher);\n const request = new CipherShareRequest(encCipher);\n const response = await this.apiService.putShareCipher(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, collectionIds);\n await this.upsert(data);\n }\n\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\n const promises: Array> = [];\n const encCiphers: Cipher[] = [];\n for (const cipher of ciphers) {\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n promises.push(this.encrypt(cipher).then((c) => {\n encCiphers.push(c);\n }));\n }\n await Promise.all(promises);\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\n await this.apiService.putShareCiphers(request);\n const userId = await this.userService.getUserId();\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\n }\n\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(unencryptedFile);\n reader.onload = async (evt: any) => {\n try {\n const cData = await this.saveAttachmentRawWithServer(cipher,\n unencryptedFile.name, evt.target.result, admin);\n resolve(cData);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = (evt) => {\n reject('Error reading file.');\n };\n });\n }\n\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\n data: ArrayBuffer, admin = false): Promise {\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\n const encFileName = await this.cryptoService.encrypt(filename, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(data, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n fd.append('key', dataEncKey[1].encryptedString);\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n let response: CipherResponse;\n try {\n if (admin) {\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\n } else {\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\n }\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n\n const userId = await this.userService.getUserId();\n const cData = new CipherData(response, userId, cipher.collectionIds);\n if (!admin) {\n this.upsert(cData);\n }\n return new Cipher(cData);\n }\n\n async saveCollectionsWithServer(cipher: Cipher): Promise {\n const request = new CipherCollectionsRequest(cipher.collectionIds);\n await this.apiService.putCipherCollections(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = cipher.toCipherData(userId);\n await this.upsert(data);\n }\n\n async upsert(cipher: CipherData | CipherData[]): Promise {\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n if (cipher instanceof CipherData) {\n const c = cipher as CipherData;\n ciphers[c.id] = c;\n } else {\n (cipher as CipherData[]).forEach((c) => {\n ciphers[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.ciphersPrefix + userId);\n this.clearCache();\n }\n\n async moveManyWithServer(ids: string[], folderId: string): Promise {\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\n\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n ids.forEach((id) => {\n if (ciphers.hasOwnProperty(id)) {\n ciphers[id].folderId = folderId;\n }\n });\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (ciphers[id] == null) {\n return;\n }\n delete ciphers[id];\n } else {\n (id as string[]).forEach((i) => {\n delete ciphers[i];\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteCipher(id);\n await this.delete(id);\n }\n\n async deleteManyWithServer(ids: string[]): Promise {\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.delete(ids);\n }\n\n async deleteAttachment(id: string, attachmentId: string): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\n return;\n }\n\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\n if (ciphers[id].attachments[i].id === attachmentId) {\n ciphers[id].attachments.splice(i, 1);\n }\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\n try {\n await this.apiService.deleteCipherAttachment(id, attachmentId);\n } catch (e) {\n return Promise.reject((e as ErrorResponse).getSingleMessage());\n }\n await this.deleteAttachment(id, attachmentId);\n }\n\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\n\n if (aLastUsed != null && bLastUsed != null && aLastUsed < bLastUsed) {\n return 1;\n }\n if (aLastUsed != null && bLastUsed == null) {\n return -1;\n }\n\n if (bLastUsed != null && aLastUsed != null && aLastUsed > bLastUsed) {\n return -1;\n }\n if (bLastUsed != null && aLastUsed == null) {\n return 1;\n }\n\n return 0;\n }\n\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\n const result = this.sortCiphersByLastUsed(a, b);\n if (result !== 0) {\n return result;\n }\n\n return this.getLocaleSortingFunction()(a, b);\n }\n\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\n return (a, b) => {\n let aName = a.name;\n let bName = b.name;\n\n if (aName == null && bName != null) {\n return -1;\n }\n if (aName != null && bName == null) {\n return 1;\n }\n if (aName == null && bName == null) {\n return 0;\n }\n\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\n return result;\n }\n\n if (a.login.username != null) {\n aName += a.login.username;\n }\n\n if (b.login.username != null) {\n bName += b.login.username;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n };\n }\n\n // Helpers\n\n private async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\n organizationId: string): Promise {\n const attachmentResponse = await fetch(new Request(attachmentView.url, { cache: 'no-cache' }));\n if (attachmentResponse.status !== 200) {\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\n }\n\n const buf = await attachmentResponse.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\n const key = await this.cryptoService.getOrgKey(organizationId);\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(decBuf, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n fd.append('key', dataEncKey[1].encryptedString);\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n try {\n await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd, organizationId);\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n }\n\n private async encryptObjProperty(model: V, obj: D,\n map: any, key: SymmetricCryptoKey): Promise {\n const promises = [];\n const self = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp, theObj) {\n const p = Promise.resolve().then(() => {\n const modelProp = (model as any)[(map[theProp] || theProp)];\n if (modelProp && modelProp !== '') {\n return self.cryptoService.encrypt(modelProp, key);\n }\n return null;\n }).then((val: CipherString) => {\n (theObj as any)[theProp] = val;\n });\n promises.push(p);\n })(prop, obj);\n }\n\n await Promise.all(promises);\n }\n\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\n switch (cipher.type) {\n case CipherType.Login:\n cipher.login = new Login();\n cipher.login.passwordRevisionDate = model.login.passwordRevisionDate;\n await this.encryptObjProperty(model.login, cipher.login, {\n username: null,\n password: null,\n totp: null,\n }, key);\n\n if (model.login.uris != null) {\n cipher.login.uris = [];\n for (let i = 0; i < model.login.uris.length; i++) {\n const loginUri = new LoginUri();\n loginUri.match = model.login.uris[i].match;\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\n uri: null,\n }, key);\n cipher.login.uris.push(loginUri);\n }\n }\n return;\n case CipherType.SecureNote:\n cipher.secureNote = new SecureNote();\n cipher.secureNote.type = model.secureNote.type;\n return;\n case CipherType.Card:\n cipher.card = new Card();\n await this.encryptObjProperty(model.card, cipher.card, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, key);\n return;\n case CipherType.Identity:\n cipher.identity = new Identity();\n await this.encryptObjProperty(model.identity, cipher.identity, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, key);\n return;\n default:\n throw new Error('Unknown cipher type.');\n }\n }\n}\n","/**\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\n *\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\n * be returned, instead of calling the original function again\n *\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\n *\n * Read more at https://github.com/bitwarden/jslib/pull/7\n */\nexport function sequentialize(cacheKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod: () => Promise = descriptor.value;\n const caches = new Map>>();\n\n const getCache = (obj: any) => {\n let cache = caches.get(obj);\n if (cache != null) {\n return cache;\n }\n cache = new Map>();\n caches.set(obj, cache);\n return cache;\n };\n\n return {\n value: function(...args: any[]) {\n const cache = getCache(this);\n const argsCacheKey = cacheKey(args);\n let response = cache.get(argsCacheKey);\n if (response != null) {\n return response;\n }\n\n const onFinally = () => {\n cache.delete(argsCacheKey);\n if (cache.size === 0) {\n caches.delete(this);\n }\n };\n response = originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n });\n\n cache.set(argsCacheKey, response);\n return response;\n },\n };\n };\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { ServiceUtils } from '../misc/serviceUtils';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n collectionsPrefix: 'collections_',\r\n};\r\nconst NestingDelimiter = '/';\r\n\r\nexport class CollectionService implements CollectionServiceAbstraction {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private storageService: StorageService, private i18nService: I18nService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async encrypt(model: CollectionView): Promise {\r\n if (model.organizationId == null) {\r\n throw new Error('Collection has no organization id.');\r\n }\r\n const key = await this.cryptoService.getOrgKey(model.organizationId);\r\n if (key == null) {\r\n throw new Error('No key for this collection\\'s organization.');\r\n }\r\n const collection = new Collection();\r\n collection.id = model.id;\r\n collection.organizationId = model.organizationId;\r\n collection.readOnly = model.readOnly;\r\n collection.name = await this.cryptoService.encrypt(model.name, key);\r\n return collection;\r\n }\r\n\r\n async decryptMany(collections: Collection[]): Promise {\r\n if (collections == null) {\r\n return [];\r\n }\r\n const decCollections: CollectionView[] = [];\r\n const promises: Array> = [];\r\n collections.forEach((collection) => {\r\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\r\n });\r\n await Promise.all(promises);\r\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null || !collections.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Collection(collections[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n const response: Collection[] = [];\r\n for (const id in collections) {\r\n if (collections.hasOwnProperty(id)) {\r\n response.push(new Collection(collections[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCollectionCache != null) {\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const collections = await this.getAll();\r\n this.decryptedCollectionCache = await this.decryptMany(collections);\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n async getAllNested(collections: CollectionView[] = null): Promise>> {\r\n if (collections == null) {\r\n collections = await this.getAllDecrypted();\r\n }\r\n const nodes: Array> = [];\r\n collections.forEach((c) => {\r\n const collectionCopy = new CollectionView();\r\n collectionCopy.id = c.id;\r\n collectionCopy.organizationId = c.organizationId;\r\n ServiceUtils.nestedTraverse(nodes, 0, c.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter),\r\n collectionCopy, null, NestingDelimiter);\r\n });\r\n return nodes;\r\n }\r\n\r\n async getNested(id: string): Promise> {\r\n const collections = await this.getAllNested();\r\n return ServiceUtils.getTreeNodeObject(collections, id) as TreeNode;\r\n }\r\n\r\n async upsert(collection: CollectionData | CollectionData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n collections = {};\r\n }\r\n\r\n if (collection instanceof CollectionData) {\r\n const c = collection as CollectionData;\r\n collections[c.id] = c;\r\n } else {\r\n (collection as CollectionData[]).forEach((c) => {\r\n collections[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async replace(collections: { [id: string]: CollectionData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.collectionsPrefix + userId);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete collections[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete collections[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n}\r\n","import {\r\n ITreeNodeObject,\r\n TreeNode,\r\n} from '../models/domain/treeNode';\r\n\r\nexport class ServiceUtils {\r\n static nestedTraverse(nodeTree: Array>, partIndex: number, parts: string[],\r\n obj: ITreeNodeObject, parent: ITreeNodeObject, delimiter: string) {\r\n if (parts.length <= partIndex) {\r\n return;\r\n }\r\n\r\n const end = partIndex === parts.length - 1;\r\n const partName = parts[partIndex];\r\n\r\n for (let i = 0; i < nodeTree.length; i++) {\r\n if (nodeTree[i].node.name !== parts[partIndex]) {\r\n continue;\r\n }\r\n if (end && nodeTree[i].node.id !== obj.id) {\r\n // Another node with the same name.\r\n nodeTree.push(new TreeNode(obj, partName, parent));\r\n return;\r\n }\r\n ServiceUtils.nestedTraverse(nodeTree[i].children, partIndex + 1, parts,\r\n obj, nodeTree[i].node, delimiter);\r\n return;\r\n }\r\n\r\n if (nodeTree.filter((n) => n.node.name === partName).length === 0) {\r\n if (end) {\r\n nodeTree.push(new TreeNode(obj, partName, parent));\r\n return;\r\n }\r\n const newPartName = parts[partIndex] + delimiter + parts[partIndex + 1];\r\n ServiceUtils.nestedTraverse(nodeTree, 0, [newPartName, ...parts.slice(partIndex + 2)],\r\n obj, parent, delimiter);\r\n }\r\n }\r\n\r\n static getTreeNodeObject(nodeTree: Array>, id: string): TreeNode {\r\n for (let i = 0; i < nodeTree.length; i++) {\r\n if (nodeTree[i].node.id === id) {\r\n return nodeTree[i];\r\n } else if (nodeTree[i].children != null) {\r\n const node = ServiceUtils.getTreeNodeObject(nodeTree[i].children, id);\r\n if (node !== null) {\r\n return node;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { CryptoService } from '../abstractions/crypto.service';\r\n\r\nexport class ContainerService {\r\n constructor(private cryptoService: CryptoService) {\r\n }\r\n\r\n // deprecated, use attachToGlobal instead\r\n attachToWindow(win: any) {\r\n this.attachToGlobal(win);\r\n }\r\n\r\n attachToGlobal(global: any) {\r\n if (!global.bitwardenContainerService) {\r\n global.bitwardenContainerService = this;\r\n }\r\n }\r\n\r\n getCryptoService(): CryptoService {\r\n return this.cryptoService;\r\n }\r\n}\r\n","import * as bigInt from 'big-integer';\n\nimport { EncryptionType } from '../enums/encryptionType';\nimport { KdfType } from '../enums/kdfType';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { EncryptedObject } from '../models/domain/encryptedObject';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\nimport { EEFLongWordList } from '../misc/wordlist';\n\nconst Keys = {\n key: 'key',\n encOrgKeys: 'encOrgKeys',\n encPrivateKey: 'encPrivateKey',\n encKey: 'encKey',\n keyHash: 'keyHash',\n};\n\nexport class CryptoService implements CryptoServiceAbstraction {\n private key: SymmetricCryptoKey;\n private encKey: SymmetricCryptoKey;\n private legacyEtmKey: SymmetricCryptoKey;\n private keyHash: string;\n private publicKey: ArrayBuffer;\n private privateKey: ArrayBuffer;\n private orgKeys: Map;\n\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\n private cryptoFunctionService: CryptoFunctionService) { }\n\n async setKey(key: SymmetricCryptoKey): Promise {\n this.key = key;\n\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null) {\n // if we have a lock option set, we do not store the key\n return;\n }\n\n return this.secureStorageService.save(Keys.key, key.keyB64);\n }\n\n setKeyHash(keyHash: string): Promise<{}> {\n this.keyHash = keyHash;\n return this.storageService.save(Keys.keyHash, keyHash);\n }\n\n async setEncKey(encKey: string): Promise<{}> {\n if (encKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encKey, encKey);\n this.encKey = null;\n }\n\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\n if (encPrivateKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\n this.privateKey = null;\n }\n\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\n const orgKeys: any = {};\n orgs.forEach((org) => {\n orgKeys[org.id] = org.key;\n });\n\n this.orgKeys = null;\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\n }\n\n async getKey(): Promise {\n if (this.key != null) {\n return this.key;\n }\n\n const key = await this.secureStorageService.get(Keys.key);\n if (key != null) {\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\n }\n\n return key == null ? null : this.key;\n }\n\n getKeyHash(): Promise {\n if (this.keyHash != null) {\n return Promise.resolve(this.keyHash);\n }\n\n return this.storageService.get(Keys.keyHash);\n }\n\n @sequentialize(() => 'getEncKey')\n async getEncKey(): Promise {\n if (this.encKey != null) {\n return this.encKey;\n }\n\n const encKey = await this.storageService.get(Keys.encKey);\n if (encKey == null) {\n return null;\n }\n\n const key = await this.getKey();\n if (key == null) {\n return null;\n }\n\n let decEncKey: ArrayBuffer;\n const encKeyCipher = new CipherString(encKey);\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\n decEncKey = await this.decryptToBytes(encKeyCipher, key);\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\n const newKey = await this.stretchKey(key);\n decEncKey = await this.decryptToBytes(encKeyCipher, newKey);\n } else {\n throw new Error('Unsupported encKey type.');\n }\n\n if (decEncKey == null) {\n return null;\n }\n this.encKey = new SymmetricCryptoKey(decEncKey);\n return this.encKey;\n }\n\n async getPublicKey(): Promise {\n if (this.publicKey != null) {\n return this.publicKey;\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n return null;\n }\n\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\n return this.publicKey;\n }\n\n async getPrivateKey(): Promise {\n if (this.privateKey != null) {\n return this.privateKey;\n }\n\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\n if (encPrivateKey == null) {\n return null;\n }\n\n this.privateKey = await this.decryptToBytes(new CipherString(encPrivateKey), null);\n return this.privateKey;\n }\n\n async getFingerprint(userId: string, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey === null) {\n throw new Error('No public key available.');\n }\n const keyFingerprint = await this.cryptoFunctionService.hash(publicKey, 'sha256');\n const userFingerprint = await this.hkdfExpand(keyFingerprint, Utils.fromUtf8ToArray(userId), 32);\n return this.hashPhrase(userFingerprint.buffer);\n }\n\n @sequentialize(() => 'getOrgKeys')\n async getOrgKeys(): Promise> {\n if (this.orgKeys != null && this.orgKeys.size > 0) {\n return this.orgKeys;\n }\n\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\n if (encOrgKeys == null) {\n return null;\n }\n\n const orgKeys: Map = new Map();\n let setKey = false;\n\n for (const orgId in encOrgKeys) {\n if (!encOrgKeys.hasOwnProperty(orgId)) {\n continue;\n }\n\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\n setKey = true;\n }\n\n if (setKey) {\n this.orgKeys = orgKeys;\n }\n\n return this.orgKeys;\n }\n\n async getOrgKey(orgId: string): Promise {\n if (orgId == null) {\n return null;\n }\n\n const orgKeys = await this.getOrgKeys();\n if (orgKeys == null || !orgKeys.has(orgId)) {\n return null;\n }\n\n return orgKeys.get(orgId);\n }\n\n async hasKey(): Promise {\n return (await this.getKey()) != null;\n }\n\n async hasEncKey(): Promise {\n const encKey = await this.storageService.get(Keys.encKey);\n return encKey != null;\n }\n\n clearKey(): Promise {\n this.key = this.legacyEtmKey = null;\n return this.secureStorageService.remove(Keys.key);\n }\n\n clearKeyHash(): Promise {\n this.keyHash = null;\n return this.storageService.remove(Keys.keyHash);\n }\n\n clearEncKey(memoryOnly?: boolean): Promise {\n this.encKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encKey);\n }\n\n clearKeyPair(memoryOnly?: boolean): Promise {\n this.privateKey = null;\n this.publicKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encPrivateKey);\n }\n\n clearOrgKeys(memoryOnly?: boolean): Promise {\n this.orgKeys = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encOrgKeys);\n }\n\n clearPinProtectedKey(): Promise {\n return this.storageService.remove(ConstantsService.pinProtectedKey);\n }\n\n clearKeys(): Promise {\n return Promise.all([\n this.clearKey(),\n this.clearKeyHash(),\n this.clearOrgKeys(),\n this.clearEncKey(),\n this.clearKeyPair(),\n this.clearPinProtectedKey(),\n ]);\n }\n\n async toggleKey(): Promise {\n const key = await this.getKey();\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null || option === 0) {\n // if we have a lock option set, clear the key\n await this.clearKey();\n this.key = key;\n return;\n }\n\n await this.setKey(key);\n }\n\n async makeKey(password: string, salt: string, kdf: KdfType, kdfIterations: number):\n Promise {\n let key: ArrayBuffer = null;\n if (kdf == null || kdf === KdfType.PBKDF2_SHA256) {\n if (kdfIterations == null) {\n kdfIterations = 5000;\n } else if (kdfIterations < 5000) {\n throw new Error('PBKDF2 iteration minimum is 5000.');\n }\n key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', kdfIterations);\n } else {\n throw new Error('Unknown Kdf.');\n }\n return new SymmetricCryptoKey(key);\n }\n\n async makeKeyFromPin(pin: string, salt: string, kdf: KdfType, kdfIterations: number):\n Promise {\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n if (pinProtectedKey == null) {\n throw new Error('No PIN protected key found.');\n }\n const protectedKeyCs = new CipherString(pinProtectedKey);\n const pinKey = await this.makePinKey(pin, salt, kdf, kdfIterations);\n const decKey = await this.decryptToBytes(protectedKeyCs, pinKey);\n return new SymmetricCryptoKey(decKey);\n }\n\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\n const publicKey = await this.getPublicKey();\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey);\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\n }\n\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\n const privateEnc = await this.encrypt(keyPair[1], key);\n return [publicB64, privateEnc];\n }\n\n async makePinKey(pin: string, salt: string, kdf: KdfType, kdfIterations: number): Promise {\n const pinKey = await this.makeKey(pin, salt, kdf, kdfIterations);\n return await this.stretchKey(pinKey);\n }\n\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\n if (key == null) {\n key = await this.getKey();\n }\n if (password == null || key == null) {\n throw new Error('Invalid parameters.');\n }\n\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\n return Utils.fromBufferToB64(hash);\n }\n\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const theKey = await this.getKeyForEncryption(key);\n const encKey = await this.cryptoFunctionService.randomBytes(64);\n return this.buildEncKey(theKey, encKey);\n }\n\n async remakeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const encKey = await this.getEncKey();\n return this.buildEncKey(key, encKey.key);\n }\n\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (plainValue == null) {\n return Promise.resolve(null);\n }\n\n let plainBuf: ArrayBuffer;\n if (typeof (plainValue) === 'string') {\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\n } else {\n plainBuf = plainValue;\n }\n\n const encObj = await this.aesEncrypt(plainBuf, key);\n const iv = Utils.fromBufferToB64(encObj.iv);\n const data = Utils.fromBufferToB64(encObj.data);\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\n return new CipherString(encObj.key.encType, iv, data, mac);\n }\n\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n const encValue = await this.aesEncrypt(plainValue, key);\n let macLen = 0;\n if (encValue.mac != null) {\n macLen = encValue.mac.byteLength;\n }\n\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\n encBytes.set([encValue.key.encType]);\n encBytes.set(new Uint8Array(encValue.iv), 1);\n if (encValue.mac != null) {\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\n }\n\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\n return encBytes.buffer;\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey == null) {\n throw new Error('Public key unavailable.');\n }\n\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\n return new CipherString(EncryptionType.Rsa2048_OaepSha1_B64, Utils.fromBufferToB64(encBytes));\n }\n\n async decryptToBytes(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\n if (decipher == null) {\n return null;\n }\n\n return decipher;\n }\n\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\n cipherString.iv, cipherString.mac, key);\n }\n\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n if (encBuf == null) {\n throw new Error('no encBuf.');\n }\n\n const encBytes = new Uint8Array(encBuf);\n const encType = encBytes[0];\n let ctBytes: Uint8Array = null;\n let ivBytes: Uint8Array = null;\n let macBytes: Uint8Array = null;\n\n switch (encType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n macBytes = encBytes.slice(17, 49);\n ctBytes = encBytes.slice(49);\n break;\n case EncryptionType.AesCbc256_B64:\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n ctBytes = encBytes.slice(17);\n break;\n default:\n return null;\n }\n\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\n macBytes != null ? macBytes.buffer : null, key);\n }\n\n // EFForg/OpenWireless\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\n async randomNumber(min: number, max: number): Promise {\n let rval = 0;\n const range = max - min + 1;\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error('We cannot generate numbers larger than 53 bits.');\n }\n\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\n\n // Fill a byte array with N random numbers\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\n\n let p = (bytesNeeded - 1) * 8;\n for (let i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n // Use & to apply the mask and reduce the number of recursive lookups\n // tslint:disable-next-line\n rval = rval & mask;\n\n if (rval >= range) {\n // Integer out of acceptable range\n return this.randomNumber(min, max);\n }\n\n // Return an integer that falls within the range\n return min + rval;\n }\n\n // Helpers\n\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const obj = new EncryptedObject();\n obj.key = await this.getKeyForEncryption(key);\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\n\n if (obj.key.macKey != null) {\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\n macData.set(new Uint8Array(obj.iv), 0);\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\n }\n\n return obj;\n }\n\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\n key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n // tslint:disable-next-line\n console.error('mac required.');\n return null;\n }\n\n if (theKey.encType !== encType) {\n // tslint:disable-next-line\n console.error('encType unavailable.');\n return null;\n }\n\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\n if (fastParams.macKey != null && fastParams.mac != null) {\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\n fastParams.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\n if (!macsEqual) {\n // tslint:disable-next-line\n console.error('mac failed.');\n return null;\n }\n }\n\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\n }\n\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n return null;\n }\n\n if (theKey.encType !== encType) {\n return null;\n }\n\n if (theKey.macKey != null && mac != null) {\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\n macData.set(new Uint8Array(iv), 0);\n macData.set(new Uint8Array(data), iv.byteLength);\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\n if (computedMac === null) {\n return null;\n }\n\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsMatch) {\n // tslint:disable-next-line\n console.error('mac failed.');\n return null;\n }\n }\n\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\n }\n\n private async rsaDecrypt(encValue: string): Promise {\n const headerPieces = encValue.split('.');\n let encType: EncryptionType = null;\n let encPieces: string[];\n\n if (headerPieces.length === 1) {\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\n encPieces = [headerPieces[0]];\n } else if (headerPieces.length === 2) {\n try {\n encType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) { }\n }\n\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n // HmacSha256 types are deprecated\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n if (encPieces == null || encPieces.length <= 0) {\n throw new Error('encPieces unavailable.');\n }\n\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n throw new Error('No private key.');\n }\n\n let alg: 'sha1' | 'sha256' = 'sha1';\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n alg = 'sha256';\n break;\n case EncryptionType.Rsa2048_OaepSha1_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\n }\n\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\n if (key != null) {\n return key;\n }\n\n const encKey = await this.getEncKey();\n if (encKey != null) {\n return encKey;\n }\n\n return await this.getKey();\n }\n\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\n key.encType === EncryptionType.AesCbc256_B64) {\n // Old encrypt-then-mac scheme, make a new key\n if (this.legacyEtmKey == null) {\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\n }\n return this.legacyEtmKey;\n }\n\n return key;\n }\n\n private async stretchKey(key: SymmetricCryptoKey): Promise {\n const newKey = new Uint8Array(64);\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('enc'), 32));\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('mac'), 32), 32);\n return new SymmetricCryptoKey(newKey.buffer);\n }\n\n // ref: https://tools.ietf.org/html/rfc5869\n private async hkdfExpand(prk: ArrayBuffer, info: Uint8Array, size: number) {\n const hashLen = 32; // sha256\n const okm = new Uint8Array(size);\n let previousT = new Uint8Array(0);\n const n = Math.ceil(size / hashLen);\n for (let i = 0; i < n; i++) {\n const t = new Uint8Array(previousT.length + info.length + 1);\n t.set(previousT);\n t.set(info, previousT.length);\n t.set([i + 1], t.length - 1);\n previousT = new Uint8Array(await this.cryptoFunctionService.hmac(t.buffer, prk, 'sha256'));\n okm.set(previousT, i * hashLen);\n }\n return okm;\n }\n\n private async hashPhrase(hash: ArrayBuffer, minimumEntropy: number = 64) {\n const entropyPerWord = Math.log(EEFLongWordList.length) / Math.log(2);\n let numWords = Math.ceil(minimumEntropy / entropyPerWord);\n\n const hashArr = Array.from(new Uint8Array(hash));\n const entropyAvailable = hashArr.length * 4;\n if (numWords * entropyPerWord > entropyAvailable) {\n throw new Error('Output entropy of hash function is too small');\n }\n\n const phrase: string[] = [];\n let hashNumber = bigInt.fromArray(hashArr, 256);\n while (numWords--) {\n const remainder = hashNumber.mod(EEFLongWordList.length);\n hashNumber = hashNumber.divide(EEFLongWordList.length);\n phrase.push(EEFLongWordList[remainder as any]);\n }\n return phrase;\n }\n\n private async buildEncKey(key: SymmetricCryptoKey, encKey: ArrayBuffer = null)\n : Promise<[SymmetricCryptoKey, CipherString]> {\n let encKeyEnc: CipherString = null;\n if (key.key.byteLength === 32) {\n const newKey = await this.stretchKey(key);\n encKeyEnc = await this.encrypt(encKey, newKey);\n } else if (key.key.byteLength === 64) {\n encKeyEnc = await this.encrypt(encKey, key);\n } else {\n throw new Error('Invalid key size.');\n }\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\n }\n}\n","// EFF's Long Wordlist from https://www.eff.org/dice\r\nexport const EEFLongWordList = [\r\n 'abacus',\r\n 'abdomen',\r\n 'abdominal',\r\n 'abide',\r\n 'abiding',\r\n 'ability',\r\n 'ablaze',\r\n 'able',\r\n 'abnormal',\r\n 'abrasion',\r\n 'abrasive',\r\n 'abreast',\r\n 'abridge',\r\n 'abroad',\r\n 'abruptly',\r\n 'absence',\r\n 'absentee',\r\n 'absently',\r\n 'absinthe',\r\n 'absolute',\r\n 'absolve',\r\n 'abstain',\r\n 'abstract',\r\n 'absurd',\r\n 'accent',\r\n 'acclaim',\r\n 'acclimate',\r\n 'accompany',\r\n 'account',\r\n 'accuracy',\r\n 'accurate',\r\n 'accustom',\r\n 'acetone',\r\n 'achiness',\r\n 'aching',\r\n 'acid',\r\n 'acorn',\r\n 'acquaint',\r\n 'acquire',\r\n 'acre',\r\n 'acrobat',\r\n 'acronym',\r\n 'acting',\r\n 'action',\r\n 'activate',\r\n 'activator',\r\n 'active',\r\n 'activism',\r\n 'activist',\r\n 'activity',\r\n 'actress',\r\n 'acts',\r\n 'acutely',\r\n 'acuteness',\r\n 'aeration',\r\n 'aerobics',\r\n 'aerosol',\r\n 'aerospace',\r\n 'afar',\r\n 'affair',\r\n 'affected',\r\n 'affecting',\r\n 'affection',\r\n 'affidavit',\r\n 'affiliate',\r\n 'affirm',\r\n 'affix',\r\n 'afflicted',\r\n 'affluent',\r\n 'afford',\r\n 'affront',\r\n 'aflame',\r\n 'afloat',\r\n 'aflutter',\r\n 'afoot',\r\n 'afraid',\r\n 'afterglow',\r\n 'afterlife',\r\n 'aftermath',\r\n 'aftermost',\r\n 'afternoon',\r\n 'aged',\r\n 'ageless',\r\n 'agency',\r\n 'agenda',\r\n 'agent',\r\n 'aggregate',\r\n 'aghast',\r\n 'agile',\r\n 'agility',\r\n 'aging',\r\n 'agnostic',\r\n 'agonize',\r\n 'agonizing',\r\n 'agony',\r\n 'agreeable',\r\n 'agreeably',\r\n 'agreed',\r\n 'agreeing',\r\n 'agreement',\r\n 'aground',\r\n 'ahead',\r\n 'ahoy',\r\n 'aide',\r\n 'aids',\r\n 'aim',\r\n 'ajar',\r\n 'alabaster',\r\n 'alarm',\r\n 'albatross',\r\n 'album',\r\n 'alfalfa',\r\n 'algebra',\r\n 'algorithm',\r\n 'alias',\r\n 'alibi',\r\n 'alienable',\r\n 'alienate',\r\n 'aliens',\r\n 'alike',\r\n 'alive',\r\n 'alkaline',\r\n 'alkalize',\r\n 'almanac',\r\n 'almighty',\r\n 'almost',\r\n 'aloe',\r\n 'aloft',\r\n 'aloha',\r\n 'alone',\r\n 'alongside',\r\n 'aloof',\r\n 'alphabet',\r\n 'alright',\r\n 'although',\r\n 'altitude',\r\n 'alto',\r\n 'aluminum',\r\n 'alumni',\r\n 'always',\r\n 'amaretto',\r\n 'amaze',\r\n 'amazingly',\r\n 'amber',\r\n 'ambiance',\r\n 'ambiguity',\r\n 'ambiguous',\r\n 'ambition',\r\n 'ambitious',\r\n 'ambulance',\r\n 'ambush',\r\n 'amendable',\r\n 'amendment',\r\n 'amends',\r\n 'amenity',\r\n 'amiable',\r\n 'amicably',\r\n 'amid',\r\n 'amigo',\r\n 'amino',\r\n 'amiss',\r\n 'ammonia',\r\n 'ammonium',\r\n 'amnesty',\r\n 'amniotic',\r\n 'among',\r\n 'amount',\r\n 'amperage',\r\n 'ample',\r\n 'amplifier',\r\n 'amplify',\r\n 'amply',\r\n 'amuck',\r\n 'amulet',\r\n 'amusable',\r\n 'amused',\r\n 'amusement',\r\n 'amuser',\r\n 'amusing',\r\n 'anaconda',\r\n 'anaerobic',\r\n 'anagram',\r\n 'anatomist',\r\n 'anatomy',\r\n 'anchor',\r\n 'anchovy',\r\n 'ancient',\r\n 'android',\r\n 'anemia',\r\n 'anemic',\r\n 'aneurism',\r\n 'anew',\r\n 'angelfish',\r\n 'angelic',\r\n 'anger',\r\n 'angled',\r\n 'angler',\r\n 'angles',\r\n 'angling',\r\n 'angrily',\r\n 'angriness',\r\n 'anguished',\r\n 'angular',\r\n 'animal',\r\n 'animate',\r\n 'animating',\r\n 'animation',\r\n 'animator',\r\n 'anime',\r\n 'animosity',\r\n 'ankle',\r\n 'annex',\r\n 'annotate',\r\n 'announcer',\r\n 'annoying',\r\n 'annually',\r\n 'annuity',\r\n 'anointer',\r\n 'another',\r\n 'answering',\r\n 'antacid',\r\n 'antarctic',\r\n 'anteater',\r\n 'antelope',\r\n 'antennae',\r\n 'anthem',\r\n 'anthill',\r\n 'anthology',\r\n 'antibody',\r\n 'antics',\r\n 'antidote',\r\n 'antihero',\r\n 'antiquely',\r\n 'antiques',\r\n 'antiquity',\r\n 'antirust',\r\n 'antitoxic',\r\n 'antitrust',\r\n 'antiviral',\r\n 'antivirus',\r\n 'antler',\r\n 'antonym',\r\n 'antsy',\r\n 'anvil',\r\n 'anybody',\r\n 'anyhow',\r\n 'anymore',\r\n 'anyone',\r\n 'anyplace',\r\n 'anything',\r\n 'anytime',\r\n 'anyway',\r\n 'anywhere',\r\n 'aorta',\r\n 'apache',\r\n 'apostle',\r\n 'appealing',\r\n 'appear',\r\n 'appease',\r\n 'appeasing',\r\n 'appendage',\r\n 'appendix',\r\n 'appetite',\r\n 'appetizer',\r\n 'applaud',\r\n 'applause',\r\n 'apple',\r\n 'appliance',\r\n 'applicant',\r\n 'applied',\r\n 'apply',\r\n 'appointee',\r\n 'appraisal',\r\n 'appraiser',\r\n 'apprehend',\r\n 'approach',\r\n 'approval',\r\n 'approve',\r\n 'apricot',\r\n 'april',\r\n 'apron',\r\n 'aptitude',\r\n 'aptly',\r\n 'aqua',\r\n 'aqueduct',\r\n 'arbitrary',\r\n 'arbitrate',\r\n 'ardently',\r\n 'area',\r\n 'arena',\r\n 'arguable',\r\n 'arguably',\r\n 'argue',\r\n 'arise',\r\n 'armadillo',\r\n 'armband',\r\n 'armchair',\r\n 'armed',\r\n 'armful',\r\n 'armhole',\r\n 'arming',\r\n 'armless',\r\n 'armoire',\r\n 'armored',\r\n 'armory',\r\n 'armrest',\r\n 'army',\r\n 'aroma',\r\n 'arose',\r\n 'around',\r\n 'arousal',\r\n 'arrange',\r\n 'array',\r\n 'arrest',\r\n 'arrival',\r\n 'arrive',\r\n 'arrogance',\r\n 'arrogant',\r\n 'arson',\r\n 'art',\r\n 'ascend',\r\n 'ascension',\r\n 'ascent',\r\n 'ascertain',\r\n 'ashamed',\r\n 'ashen',\r\n 'ashes',\r\n 'ashy',\r\n 'aside',\r\n 'askew',\r\n 'asleep',\r\n 'asparagus',\r\n 'aspect',\r\n 'aspirate',\r\n 'aspire',\r\n 'aspirin',\r\n 'astonish',\r\n 'astound',\r\n 'astride',\r\n 'astrology',\r\n 'astronaut',\r\n 'astronomy',\r\n 'astute',\r\n 'atlantic',\r\n 'atlas',\r\n 'atom',\r\n 'atonable',\r\n 'atop',\r\n 'atrium',\r\n 'atrocious',\r\n 'atrophy',\r\n 'attach',\r\n 'attain',\r\n 'attempt',\r\n 'attendant',\r\n 'attendee',\r\n 'attention',\r\n 'attentive',\r\n 'attest',\r\n 'attic',\r\n 'attire',\r\n 'attitude',\r\n 'attractor',\r\n 'attribute',\r\n 'atypical',\r\n 'auction',\r\n 'audacious',\r\n 'audacity',\r\n 'audible',\r\n 'audibly',\r\n 'audience',\r\n 'audio',\r\n 'audition',\r\n 'augmented',\r\n 'august',\r\n 'authentic',\r\n 'author',\r\n 'autism',\r\n 'autistic',\r\n 'autograph',\r\n 'automaker',\r\n 'automated',\r\n 'automatic',\r\n 'autopilot',\r\n 'available',\r\n 'avalanche',\r\n 'avatar',\r\n 'avenge',\r\n 'avenging',\r\n 'avenue',\r\n 'average',\r\n 'aversion',\r\n 'avert',\r\n 'aviation',\r\n 'aviator',\r\n 'avid',\r\n 'avoid',\r\n 'await',\r\n 'awaken',\r\n 'award',\r\n 'aware',\r\n 'awhile',\r\n 'awkward',\r\n 'awning',\r\n 'awoke',\r\n 'awry',\r\n 'axis',\r\n 'babble',\r\n 'babbling',\r\n 'babied',\r\n 'baboon',\r\n 'backache',\r\n 'backboard',\r\n 'backboned',\r\n 'backdrop',\r\n 'backed',\r\n 'backer',\r\n 'backfield',\r\n 'backfire',\r\n 'backhand',\r\n 'backing',\r\n 'backlands',\r\n 'backlash',\r\n 'backless',\r\n 'backlight',\r\n 'backlit',\r\n 'backlog',\r\n 'backpack',\r\n 'backpedal',\r\n 'backrest',\r\n 'backroom',\r\n 'backshift',\r\n 'backside',\r\n 'backslid',\r\n 'backspace',\r\n 'backspin',\r\n 'backstab',\r\n 'backstage',\r\n 'backtalk',\r\n 'backtrack',\r\n 'backup',\r\n 'backward',\r\n 'backwash',\r\n 'backwater',\r\n 'backyard',\r\n 'bacon',\r\n 'bacteria',\r\n 'bacterium',\r\n 'badass',\r\n 'badge',\r\n 'badland',\r\n 'badly',\r\n 'badness',\r\n 'baffle',\r\n 'baffling',\r\n 'bagel',\r\n 'bagful',\r\n 'baggage',\r\n 'bagged',\r\n 'baggie',\r\n 'bagginess',\r\n 'bagging',\r\n 'baggy',\r\n 'bagpipe',\r\n 'baguette',\r\n 'baked',\r\n 'bakery',\r\n 'bakeshop',\r\n 'baking',\r\n 'balance',\r\n 'balancing',\r\n 'balcony',\r\n 'balmy',\r\n 'balsamic',\r\n 'bamboo',\r\n 'banana',\r\n 'banish',\r\n 'banister',\r\n 'banjo',\r\n 'bankable',\r\n 'bankbook',\r\n 'banked',\r\n 'banker',\r\n 'banking',\r\n 'banknote',\r\n 'bankroll',\r\n 'banner',\r\n 'bannister',\r\n 'banshee',\r\n 'banter',\r\n 'barbecue',\r\n 'barbed',\r\n 'barbell',\r\n 'barber',\r\n 'barcode',\r\n 'barge',\r\n 'bargraph',\r\n 'barista',\r\n 'baritone',\r\n 'barley',\r\n 'barmaid',\r\n 'barman',\r\n 'barn',\r\n 'barometer',\r\n 'barrack',\r\n 'barracuda',\r\n 'barrel',\r\n 'barrette',\r\n 'barricade',\r\n 'barrier',\r\n 'barstool',\r\n 'bartender',\r\n 'barterer',\r\n 'bash',\r\n 'basically',\r\n 'basics',\r\n 'basil',\r\n 'basin',\r\n 'basis',\r\n 'basket',\r\n 'batboy',\r\n 'batch',\r\n 'bath',\r\n 'baton',\r\n 'bats',\r\n 'battalion',\r\n 'battered',\r\n 'battering',\r\n 'battery',\r\n 'batting',\r\n 'battle',\r\n 'bauble',\r\n 'bazooka',\r\n 'blabber',\r\n 'bladder',\r\n 'blade',\r\n 'blah',\r\n 'blame',\r\n 'blaming',\r\n 'blanching',\r\n 'blandness',\r\n 'blank',\r\n 'blaspheme',\r\n 'blasphemy',\r\n 'blast',\r\n 'blatancy',\r\n 'blatantly',\r\n 'blazer',\r\n 'blazing',\r\n 'bleach',\r\n 'bleak',\r\n 'bleep',\r\n 'blemish',\r\n 'blend',\r\n 'bless',\r\n 'blighted',\r\n 'blimp',\r\n 'bling',\r\n 'blinked',\r\n 'blinker',\r\n 'blinking',\r\n 'blinks',\r\n 'blip',\r\n 'blissful',\r\n 'blitz',\r\n 'blizzard',\r\n 'bloated',\r\n 'bloating',\r\n 'blob',\r\n 'blog',\r\n 'bloomers',\r\n 'blooming',\r\n 'blooper',\r\n 'blot',\r\n 'blouse',\r\n 'blubber',\r\n 'bluff',\r\n 'bluish',\r\n 'blunderer',\r\n 'blunt',\r\n 'blurb',\r\n 'blurred',\r\n 'blurry',\r\n 'blurt',\r\n 'blush',\r\n 'blustery',\r\n 'boaster',\r\n 'boastful',\r\n 'boasting',\r\n 'boat',\r\n 'bobbed',\r\n 'bobbing',\r\n 'bobble',\r\n 'bobcat',\r\n 'bobsled',\r\n 'bobtail',\r\n 'bodacious',\r\n 'body',\r\n 'bogged',\r\n 'boggle',\r\n 'bogus',\r\n 'boil',\r\n 'bok',\r\n 'bolster',\r\n 'bolt',\r\n 'bonanza',\r\n 'bonded',\r\n 'bonding',\r\n 'bondless',\r\n 'boned',\r\n 'bonehead',\r\n 'boneless',\r\n 'bonelike',\r\n 'boney',\r\n 'bonfire',\r\n 'bonnet',\r\n 'bonsai',\r\n 'bonus',\r\n 'bony',\r\n 'boogeyman',\r\n 'boogieman',\r\n 'book',\r\n 'boondocks',\r\n 'booted',\r\n 'booth',\r\n 'bootie',\r\n 'booting',\r\n 'bootlace',\r\n 'bootleg',\r\n 'boots',\r\n 'boozy',\r\n 'borax',\r\n 'boring',\r\n 'borough',\r\n 'borrower',\r\n 'borrowing',\r\n 'boss',\r\n 'botanical',\r\n 'botanist',\r\n 'botany',\r\n 'botch',\r\n 'both',\r\n 'bottle',\r\n 'bottling',\r\n 'bottom',\r\n 'bounce',\r\n 'bouncing',\r\n 'bouncy',\r\n 'bounding',\r\n 'boundless',\r\n 'bountiful',\r\n 'bovine',\r\n 'boxcar',\r\n 'boxer',\r\n 'boxing',\r\n 'boxlike',\r\n 'boxy',\r\n 'breach',\r\n 'breath',\r\n 'breeches',\r\n 'breeching',\r\n 'breeder',\r\n 'breeding',\r\n 'breeze',\r\n 'breezy',\r\n 'brethren',\r\n 'brewery',\r\n 'brewing',\r\n 'briar',\r\n 'bribe',\r\n 'brick',\r\n 'bride',\r\n 'bridged',\r\n 'brigade',\r\n 'bright',\r\n 'brilliant',\r\n 'brim',\r\n 'bring',\r\n 'brink',\r\n 'brisket',\r\n 'briskly',\r\n 'briskness',\r\n 'bristle',\r\n 'brittle',\r\n 'broadband',\r\n 'broadcast',\r\n 'broaden',\r\n 'broadly',\r\n 'broadness',\r\n 'broadside',\r\n 'broadways',\r\n 'broiler',\r\n 'broiling',\r\n 'broken',\r\n 'broker',\r\n 'bronchial',\r\n 'bronco',\r\n 'bronze',\r\n 'bronzing',\r\n 'brook',\r\n 'broom',\r\n 'brought',\r\n 'browbeat',\r\n 'brownnose',\r\n 'browse',\r\n 'browsing',\r\n 'bruising',\r\n 'brunch',\r\n 'brunette',\r\n 'brunt',\r\n 'brush',\r\n 'brussels',\r\n 'brute',\r\n 'brutishly',\r\n 'bubble',\r\n 'bubbling',\r\n 'bubbly',\r\n 'buccaneer',\r\n 'bucked',\r\n 'bucket',\r\n 'buckle',\r\n 'buckshot',\r\n 'buckskin',\r\n 'bucktooth',\r\n 'buckwheat',\r\n 'buddhism',\r\n 'buddhist',\r\n 'budding',\r\n 'buddy',\r\n 'budget',\r\n 'buffalo',\r\n 'buffed',\r\n 'buffer',\r\n 'buffing',\r\n 'buffoon',\r\n 'buggy',\r\n 'bulb',\r\n 'bulge',\r\n 'bulginess',\r\n 'bulgur',\r\n 'bulk',\r\n 'bulldog',\r\n 'bulldozer',\r\n 'bullfight',\r\n 'bullfrog',\r\n 'bullhorn',\r\n 'bullion',\r\n 'bullish',\r\n 'bullpen',\r\n 'bullring',\r\n 'bullseye',\r\n 'bullwhip',\r\n 'bully',\r\n 'bunch',\r\n 'bundle',\r\n 'bungee',\r\n 'bunion',\r\n 'bunkbed',\r\n 'bunkhouse',\r\n 'bunkmate',\r\n 'bunny',\r\n 'bunt',\r\n 'busboy',\r\n 'bush',\r\n 'busily',\r\n 'busload',\r\n 'bust',\r\n 'busybody',\r\n 'buzz',\r\n 'cabana',\r\n 'cabbage',\r\n 'cabbie',\r\n 'cabdriver',\r\n 'cable',\r\n 'caboose',\r\n 'cache',\r\n 'cackle',\r\n 'cacti',\r\n 'cactus',\r\n 'caddie',\r\n 'caddy',\r\n 'cadet',\r\n 'cadillac',\r\n 'cadmium',\r\n 'cage',\r\n 'cahoots',\r\n 'cake',\r\n 'calamari',\r\n 'calamity',\r\n 'calcium',\r\n 'calculate',\r\n 'calculus',\r\n 'caliber',\r\n 'calibrate',\r\n 'calm',\r\n 'caloric',\r\n 'calorie',\r\n 'calzone',\r\n 'camcorder',\r\n 'cameo',\r\n 'camera',\r\n 'camisole',\r\n 'camper',\r\n 'campfire',\r\n 'camping',\r\n 'campsite',\r\n 'campus',\r\n 'canal',\r\n 'canary',\r\n 'cancel',\r\n 'candied',\r\n 'candle',\r\n 'candy',\r\n 'cane',\r\n 'canine',\r\n 'canister',\r\n 'cannabis',\r\n 'canned',\r\n 'canning',\r\n 'cannon',\r\n 'cannot',\r\n 'canola',\r\n 'canon',\r\n 'canopener',\r\n 'canopy',\r\n 'canteen',\r\n 'canyon',\r\n 'capable',\r\n 'capably',\r\n 'capacity',\r\n 'cape',\r\n 'capillary',\r\n 'capital',\r\n 'capitol',\r\n 'capped',\r\n 'capricorn',\r\n 'capsize',\r\n 'capsule',\r\n 'caption',\r\n 'captivate',\r\n 'captive',\r\n 'captivity',\r\n 'capture',\r\n 'caramel',\r\n 'carat',\r\n 'caravan',\r\n 'carbon',\r\n 'cardboard',\r\n 'carded',\r\n 'cardiac',\r\n 'cardigan',\r\n 'cardinal',\r\n 'cardstock',\r\n 'carefully',\r\n 'caregiver',\r\n 'careless',\r\n 'caress',\r\n 'caretaker',\r\n 'cargo',\r\n 'caring',\r\n 'carless',\r\n 'carload',\r\n 'carmaker',\r\n 'carnage',\r\n 'carnation',\r\n 'carnival',\r\n 'carnivore',\r\n 'carol',\r\n 'carpenter',\r\n 'carpentry',\r\n 'carpool',\r\n 'carport',\r\n 'carried',\r\n 'carrot',\r\n 'carrousel',\r\n 'carry',\r\n 'cartel',\r\n 'cartload',\r\n 'carton',\r\n 'cartoon',\r\n 'cartridge',\r\n 'cartwheel',\r\n 'carve',\r\n 'carving',\r\n 'carwash',\r\n 'cascade',\r\n 'case',\r\n 'cash',\r\n 'casing',\r\n 'casino',\r\n 'casket',\r\n 'cassette',\r\n 'casually',\r\n 'casualty',\r\n 'catacomb',\r\n 'catalog',\r\n 'catalyst',\r\n 'catalyze',\r\n 'catapult',\r\n 'cataract',\r\n 'catatonic',\r\n 'catcall',\r\n 'catchable',\r\n 'catcher',\r\n 'catching',\r\n 'catchy',\r\n 'caterer',\r\n 'catering',\r\n 'catfight',\r\n 'catfish',\r\n 'cathedral',\r\n 'cathouse',\r\n 'catlike',\r\n 'catnap',\r\n 'catnip',\r\n 'catsup',\r\n 'cattail',\r\n 'cattishly',\r\n 'cattle',\r\n 'catty',\r\n 'catwalk',\r\n 'caucasian',\r\n 'caucus',\r\n 'causal',\r\n 'causation',\r\n 'cause',\r\n 'causing',\r\n 'cauterize',\r\n 'caution',\r\n 'cautious',\r\n 'cavalier',\r\n 'cavalry',\r\n 'caviar',\r\n 'cavity',\r\n 'cedar',\r\n 'celery',\r\n 'celestial',\r\n 'celibacy',\r\n 'celibate',\r\n 'celtic',\r\n 'cement',\r\n 'census',\r\n 'ceramics',\r\n 'ceremony',\r\n 'certainly',\r\n 'certainty',\r\n 'certified',\r\n 'certify',\r\n 'cesarean',\r\n 'cesspool',\r\n 'chafe',\r\n 'chaffing',\r\n 'chain',\r\n 'chair',\r\n 'chalice',\r\n 'challenge',\r\n 'chamber',\r\n 'chamomile',\r\n 'champion',\r\n 'chance',\r\n 'change',\r\n 'channel',\r\n 'chant',\r\n 'chaos',\r\n 'chaperone',\r\n 'chaplain',\r\n 'chapped',\r\n 'chaps',\r\n 'chapter',\r\n 'character',\r\n 'charbroil',\r\n 'charcoal',\r\n 'charger',\r\n 'charging',\r\n 'chariot',\r\n 'charity',\r\n 'charm',\r\n 'charred',\r\n 'charter',\r\n 'charting',\r\n 'chase',\r\n 'chasing',\r\n 'chaste',\r\n 'chastise',\r\n 'chastity',\r\n 'chatroom',\r\n 'chatter',\r\n 'chatting',\r\n 'chatty',\r\n 'cheating',\r\n 'cheddar',\r\n 'cheek',\r\n 'cheer',\r\n 'cheese',\r\n 'cheesy',\r\n 'chef',\r\n 'chemicals',\r\n 'chemist',\r\n 'chemo',\r\n 'cherisher',\r\n 'cherub',\r\n 'chess',\r\n 'chest',\r\n 'chevron',\r\n 'chevy',\r\n 'chewable',\r\n 'chewer',\r\n 'chewing',\r\n 'chewy',\r\n 'chief',\r\n 'chihuahua',\r\n 'childcare',\r\n 'childhood',\r\n 'childish',\r\n 'childless',\r\n 'childlike',\r\n 'chili',\r\n 'chill',\r\n 'chimp',\r\n 'chip',\r\n 'chirping',\r\n 'chirpy',\r\n 'chitchat',\r\n 'chivalry',\r\n 'chive',\r\n 'chloride',\r\n 'chlorine',\r\n 'choice',\r\n 'chokehold',\r\n 'choking',\r\n 'chomp',\r\n 'chooser',\r\n 'choosing',\r\n 'choosy',\r\n 'chop',\r\n 'chosen',\r\n 'chowder',\r\n 'chowtime',\r\n 'chrome',\r\n 'chubby',\r\n 'chuck',\r\n 'chug',\r\n 'chummy',\r\n 'chump',\r\n 'chunk',\r\n 'churn',\r\n 'chute',\r\n 'cider',\r\n 'cilantro',\r\n 'cinch',\r\n 'cinema',\r\n 'cinnamon',\r\n 'circle',\r\n 'circling',\r\n 'circular',\r\n 'circulate',\r\n 'circus',\r\n 'citable',\r\n 'citadel',\r\n 'citation',\r\n 'citizen',\r\n 'citric',\r\n 'citrus',\r\n 'city',\r\n 'civic',\r\n 'civil',\r\n 'clad',\r\n 'claim',\r\n 'clambake',\r\n 'clammy',\r\n 'clamor',\r\n 'clamp',\r\n 'clamshell',\r\n 'clang',\r\n 'clanking',\r\n 'clapped',\r\n 'clapper',\r\n 'clapping',\r\n 'clarify',\r\n 'clarinet',\r\n 'clarity',\r\n 'clash',\r\n 'clasp',\r\n 'class',\r\n 'clatter',\r\n 'clause',\r\n 'clavicle',\r\n 'claw',\r\n 'clay',\r\n 'clean',\r\n 'clear',\r\n 'cleat',\r\n 'cleaver',\r\n 'cleft',\r\n 'clench',\r\n 'clergyman',\r\n 'clerical',\r\n 'clerk',\r\n 'clever',\r\n 'clicker',\r\n 'client',\r\n 'climate',\r\n 'climatic',\r\n 'cling',\r\n 'clinic',\r\n 'clinking',\r\n 'clip',\r\n 'clique',\r\n 'cloak',\r\n 'clobber',\r\n 'clock',\r\n 'clone',\r\n 'cloning',\r\n 'closable',\r\n 'closure',\r\n 'clothes',\r\n 'clothing',\r\n 'cloud',\r\n 'clover',\r\n 'clubbed',\r\n 'clubbing',\r\n 'clubhouse',\r\n 'clump',\r\n 'clumsily',\r\n 'clumsy',\r\n 'clunky',\r\n 'clustered',\r\n 'clutch',\r\n 'clutter',\r\n 'coach',\r\n 'coagulant',\r\n 'coastal',\r\n 'coaster',\r\n 'coasting',\r\n 'coastland',\r\n 'coastline',\r\n 'coat',\r\n 'coauthor',\r\n 'cobalt',\r\n 'cobbler',\r\n 'cobweb',\r\n 'cocoa',\r\n 'coconut',\r\n 'cod',\r\n 'coeditor',\r\n 'coerce',\r\n 'coexist',\r\n 'coffee',\r\n 'cofounder',\r\n 'cognition',\r\n 'cognitive',\r\n 'cogwheel',\r\n 'coherence',\r\n 'coherent',\r\n 'cohesive',\r\n 'coil',\r\n 'coke',\r\n 'cola',\r\n 'cold',\r\n 'coleslaw',\r\n 'coliseum',\r\n 'collage',\r\n 'collapse',\r\n 'collar',\r\n 'collected',\r\n 'collector',\r\n 'collide',\r\n 'collie',\r\n 'collision',\r\n 'colonial',\r\n 'colonist',\r\n 'colonize',\r\n 'colony',\r\n 'colossal',\r\n 'colt',\r\n 'coma',\r\n 'come',\r\n 'comfort',\r\n 'comfy',\r\n 'comic',\r\n 'coming',\r\n 'comma',\r\n 'commence',\r\n 'commend',\r\n 'comment',\r\n 'commerce',\r\n 'commode',\r\n 'commodity',\r\n 'commodore',\r\n 'common',\r\n 'commotion',\r\n 'commute',\r\n 'commuting',\r\n 'compacted',\r\n 'compacter',\r\n 'compactly',\r\n 'compactor',\r\n 'companion',\r\n 'company',\r\n 'compare',\r\n 'compel',\r\n 'compile',\r\n 'comply',\r\n 'component',\r\n 'composed',\r\n 'composer',\r\n 'composite',\r\n 'compost',\r\n 'composure',\r\n 'compound',\r\n 'compress',\r\n 'comprised',\r\n 'computer',\r\n 'computing',\r\n 'comrade',\r\n 'concave',\r\n 'conceal',\r\n 'conceded',\r\n 'concept',\r\n 'concerned',\r\n 'concert',\r\n 'conch',\r\n 'concierge',\r\n 'concise',\r\n 'conclude',\r\n 'concrete',\r\n 'concur',\r\n 'condense',\r\n 'condiment',\r\n 'condition',\r\n 'condone',\r\n 'conducive',\r\n 'conductor',\r\n 'conduit',\r\n 'cone',\r\n 'confess',\r\n 'confetti',\r\n 'confidant',\r\n 'confident',\r\n 'confider',\r\n 'confiding',\r\n 'configure',\r\n 'confined',\r\n 'confining',\r\n 'confirm',\r\n 'conflict',\r\n 'conform',\r\n 'confound',\r\n 'confront',\r\n 'confused',\r\n 'confusing',\r\n 'confusion',\r\n 'congenial',\r\n 'congested',\r\n 'congrats',\r\n 'congress',\r\n 'conical',\r\n 'conjoined',\r\n 'conjure',\r\n 'conjuror',\r\n 'connected',\r\n 'connector',\r\n 'consensus',\r\n 'consent',\r\n 'console',\r\n 'consoling',\r\n 'consonant',\r\n 'constable',\r\n 'constant',\r\n 'constrain',\r\n 'constrict',\r\n 'construct',\r\n 'consult',\r\n 'consumer',\r\n 'consuming',\r\n 'contact',\r\n 'container',\r\n 'contempt',\r\n 'contend',\r\n 'contented',\r\n 'contently',\r\n 'contents',\r\n 'contest',\r\n 'context',\r\n 'contort',\r\n 'contour',\r\n 'contrite',\r\n 'control',\r\n 'contusion',\r\n 'convene',\r\n 'convent',\r\n 'copartner',\r\n 'cope',\r\n 'copied',\r\n 'copier',\r\n 'copilot',\r\n 'coping',\r\n 'copious',\r\n 'copper',\r\n 'copy',\r\n 'coral',\r\n 'cork',\r\n 'cornball',\r\n 'cornbread',\r\n 'corncob',\r\n 'cornea',\r\n 'corned',\r\n 'corner',\r\n 'cornfield',\r\n 'cornflake',\r\n 'cornhusk',\r\n 'cornmeal',\r\n 'cornstalk',\r\n 'corny',\r\n 'coronary',\r\n 'coroner',\r\n 'corporal',\r\n 'corporate',\r\n 'corral',\r\n 'correct',\r\n 'corridor',\r\n 'corrode',\r\n 'corroding',\r\n 'corrosive',\r\n 'corsage',\r\n 'corset',\r\n 'cortex',\r\n 'cosigner',\r\n 'cosmetics',\r\n 'cosmic',\r\n 'cosmos',\r\n 'cosponsor',\r\n 'cost',\r\n 'cottage',\r\n 'cotton',\r\n 'couch',\r\n 'cough',\r\n 'could',\r\n 'countable',\r\n 'countdown',\r\n 'counting',\r\n 'countless',\r\n 'country',\r\n 'county',\r\n 'courier',\r\n 'covenant',\r\n 'cover',\r\n 'coveted',\r\n 'coveting',\r\n 'coyness',\r\n 'cozily',\r\n 'coziness',\r\n 'cozy',\r\n 'crabbing',\r\n 'crabgrass',\r\n 'crablike',\r\n 'crabmeat',\r\n 'cradle',\r\n 'cradling',\r\n 'crafter',\r\n 'craftily',\r\n 'craftsman',\r\n 'craftwork',\r\n 'crafty',\r\n 'cramp',\r\n 'cranberry',\r\n 'crane',\r\n 'cranial',\r\n 'cranium',\r\n 'crank',\r\n 'crate',\r\n 'crave',\r\n 'craving',\r\n 'crawfish',\r\n 'crawlers',\r\n 'crawling',\r\n 'crayfish',\r\n 'crayon',\r\n 'crazed',\r\n 'crazily',\r\n 'craziness',\r\n 'crazy',\r\n 'creamed',\r\n 'creamer',\r\n 'creamlike',\r\n 'crease',\r\n 'creasing',\r\n 'creatable',\r\n 'create',\r\n 'creation',\r\n 'creative',\r\n 'creature',\r\n 'credible',\r\n 'credibly',\r\n 'credit',\r\n 'creed',\r\n 'creme',\r\n 'creole',\r\n 'crepe',\r\n 'crept',\r\n 'crescent',\r\n 'crested',\r\n 'cresting',\r\n 'crestless',\r\n 'crevice',\r\n 'crewless',\r\n 'crewman',\r\n 'crewmate',\r\n 'crib',\r\n 'cricket',\r\n 'cried',\r\n 'crier',\r\n 'crimp',\r\n 'crimson',\r\n 'cringe',\r\n 'cringing',\r\n 'crinkle',\r\n 'crinkly',\r\n 'crisped',\r\n 'crisping',\r\n 'crisply',\r\n 'crispness',\r\n 'crispy',\r\n 'criteria',\r\n 'critter',\r\n 'croak',\r\n 'crock',\r\n 'crook',\r\n 'croon',\r\n 'crop',\r\n 'cross',\r\n 'crouch',\r\n 'crouton',\r\n 'crowbar',\r\n 'crowd',\r\n 'crown',\r\n 'crucial',\r\n 'crudely',\r\n 'crudeness',\r\n 'cruelly',\r\n 'cruelness',\r\n 'cruelty',\r\n 'crumb',\r\n 'crummiest',\r\n 'crummy',\r\n 'crumpet',\r\n 'crumpled',\r\n 'cruncher',\r\n 'crunching',\r\n 'crunchy',\r\n 'crusader',\r\n 'crushable',\r\n 'crushed',\r\n 'crusher',\r\n 'crushing',\r\n 'crust',\r\n 'crux',\r\n 'crying',\r\n 'cryptic',\r\n 'crystal',\r\n 'cubbyhole',\r\n 'cube',\r\n 'cubical',\r\n 'cubicle',\r\n 'cucumber',\r\n 'cuddle',\r\n 'cuddly',\r\n 'cufflink',\r\n 'culinary',\r\n 'culminate',\r\n 'culpable',\r\n 'culprit',\r\n 'cultivate',\r\n 'cultural',\r\n 'culture',\r\n 'cupbearer',\r\n 'cupcake',\r\n 'cupid',\r\n 'cupped',\r\n 'cupping',\r\n 'curable',\r\n 'curator',\r\n 'curdle',\r\n 'cure',\r\n 'curfew',\r\n 'curing',\r\n 'curled',\r\n 'curler',\r\n 'curliness',\r\n 'curling',\r\n 'curly',\r\n 'curry',\r\n 'curse',\r\n 'cursive',\r\n 'cursor',\r\n 'curtain',\r\n 'curtly',\r\n 'curtsy',\r\n 'curvature',\r\n 'curve',\r\n 'curvy',\r\n 'cushy',\r\n 'cusp',\r\n 'cussed',\r\n 'custard',\r\n 'custodian',\r\n 'custody',\r\n 'customary',\r\n 'customer',\r\n 'customize',\r\n 'customs',\r\n 'cut',\r\n 'cycle',\r\n 'cyclic',\r\n 'cycling',\r\n 'cyclist',\r\n 'cylinder',\r\n 'cymbal',\r\n 'cytoplasm',\r\n 'cytoplast',\r\n 'dab',\r\n 'dad',\r\n 'daffodil',\r\n 'dagger',\r\n 'daily',\r\n 'daintily',\r\n 'dainty',\r\n 'dairy',\r\n 'daisy',\r\n 'dallying',\r\n 'dance',\r\n 'dancing',\r\n 'dandelion',\r\n 'dander',\r\n 'dandruff',\r\n 'dandy',\r\n 'danger',\r\n 'dangle',\r\n 'dangling',\r\n 'daredevil',\r\n 'dares',\r\n 'daringly',\r\n 'darkened',\r\n 'darkening',\r\n 'darkish',\r\n 'darkness',\r\n 'darkroom',\r\n 'darling',\r\n 'darn',\r\n 'dart',\r\n 'darwinism',\r\n 'dash',\r\n 'dastardly',\r\n 'data',\r\n 'datebook',\r\n 'dating',\r\n 'daughter',\r\n 'daunting',\r\n 'dawdler',\r\n 'dawn',\r\n 'daybed',\r\n 'daybreak',\r\n 'daycare',\r\n 'daydream',\r\n 'daylight',\r\n 'daylong',\r\n 'dayroom',\r\n 'daytime',\r\n 'dazzler',\r\n 'dazzling',\r\n 'deacon',\r\n 'deafening',\r\n 'deafness',\r\n 'dealer',\r\n 'dealing',\r\n 'dealmaker',\r\n 'dealt',\r\n 'dean',\r\n 'debatable',\r\n 'debate',\r\n 'debating',\r\n 'debit',\r\n 'debrief',\r\n 'debtless',\r\n 'debtor',\r\n 'debug',\r\n 'debunk',\r\n 'decade',\r\n 'decaf',\r\n 'decal',\r\n 'decathlon',\r\n 'decay',\r\n 'deceased',\r\n 'deceit',\r\n 'deceiver',\r\n 'deceiving',\r\n 'december',\r\n 'decency',\r\n 'decent',\r\n 'deception',\r\n 'deceptive',\r\n 'decibel',\r\n 'decidable',\r\n 'decimal',\r\n 'decimeter',\r\n 'decipher',\r\n 'deck',\r\n 'declared',\r\n 'decline',\r\n 'decode',\r\n 'decompose',\r\n 'decorated',\r\n 'decorator',\r\n 'decoy',\r\n 'decrease',\r\n 'decree',\r\n 'dedicate',\r\n 'dedicator',\r\n 'deduce',\r\n 'deduct',\r\n 'deed',\r\n 'deem',\r\n 'deepen',\r\n 'deeply',\r\n 'deepness',\r\n 'deface',\r\n 'defacing',\r\n 'defame',\r\n 'default',\r\n 'defeat',\r\n 'defection',\r\n 'defective',\r\n 'defendant',\r\n 'defender',\r\n 'defense',\r\n 'defensive',\r\n 'deferral',\r\n 'deferred',\r\n 'defiance',\r\n 'defiant',\r\n 'defile',\r\n 'defiling',\r\n 'define',\r\n 'definite',\r\n 'deflate',\r\n 'deflation',\r\n 'deflator',\r\n 'deflected',\r\n 'deflector',\r\n 'defog',\r\n 'deforest',\r\n 'defraud',\r\n 'defrost',\r\n 'deftly',\r\n 'defuse',\r\n 'defy',\r\n 'degraded',\r\n 'degrading',\r\n 'degrease',\r\n 'degree',\r\n 'dehydrate',\r\n 'deity',\r\n 'dejected',\r\n 'delay',\r\n 'delegate',\r\n 'delegator',\r\n 'delete',\r\n 'deletion',\r\n 'delicacy',\r\n 'delicate',\r\n 'delicious',\r\n 'delighted',\r\n 'delirious',\r\n 'delirium',\r\n 'deliverer',\r\n 'delivery',\r\n 'delouse',\r\n 'delta',\r\n 'deluge',\r\n 'delusion',\r\n 'deluxe',\r\n 'demanding',\r\n 'demeaning',\r\n 'demeanor',\r\n 'demise',\r\n 'democracy',\r\n 'democrat',\r\n 'demote',\r\n 'demotion',\r\n 'demystify',\r\n 'denatured',\r\n 'deniable',\r\n 'denial',\r\n 'denim',\r\n 'denote',\r\n 'dense',\r\n 'density',\r\n 'dental',\r\n 'dentist',\r\n 'denture',\r\n 'deny',\r\n 'deodorant',\r\n 'deodorize',\r\n 'departed',\r\n 'departure',\r\n 'depict',\r\n 'deplete',\r\n 'depletion',\r\n 'deplored',\r\n 'deploy',\r\n 'deport',\r\n 'depose',\r\n 'depraved',\r\n 'depravity',\r\n 'deprecate',\r\n 'depress',\r\n 'deprive',\r\n 'depth',\r\n 'deputize',\r\n 'deputy',\r\n 'derail',\r\n 'deranged',\r\n 'derby',\r\n 'derived',\r\n 'desecrate',\r\n 'deserve',\r\n 'deserving',\r\n 'designate',\r\n 'designed',\r\n 'designer',\r\n 'designing',\r\n 'deskbound',\r\n 'desktop',\r\n 'deskwork',\r\n 'desolate',\r\n 'despair',\r\n 'despise',\r\n 'despite',\r\n 'destiny',\r\n 'destitute',\r\n 'destruct',\r\n 'detached',\r\n 'detail',\r\n 'detection',\r\n 'detective',\r\n 'detector',\r\n 'detention',\r\n 'detergent',\r\n 'detest',\r\n 'detonate',\r\n 'detonator',\r\n 'detoxify',\r\n 'detract',\r\n 'deuce',\r\n 'devalue',\r\n 'deviancy',\r\n 'deviant',\r\n 'deviate',\r\n 'deviation',\r\n 'deviator',\r\n 'device',\r\n 'devious',\r\n 'devotedly',\r\n 'devotee',\r\n 'devotion',\r\n 'devourer',\r\n 'devouring',\r\n 'devoutly',\r\n 'dexterity',\r\n 'dexterous',\r\n 'diabetes',\r\n 'diabetic',\r\n 'diabolic',\r\n 'diagnoses',\r\n 'diagnosis',\r\n 'diagram',\r\n 'dial',\r\n 'diameter',\r\n 'diaper',\r\n 'diaphragm',\r\n 'diary',\r\n 'dice',\r\n 'dicing',\r\n 'dictate',\r\n 'dictation',\r\n 'dictator',\r\n 'difficult',\r\n 'diffused',\r\n 'diffuser',\r\n 'diffusion',\r\n 'diffusive',\r\n 'dig',\r\n 'dilation',\r\n 'diligence',\r\n 'diligent',\r\n 'dill',\r\n 'dilute',\r\n 'dime',\r\n 'diminish',\r\n 'dimly',\r\n 'dimmed',\r\n 'dimmer',\r\n 'dimness',\r\n 'dimple',\r\n 'diner',\r\n 'dingbat',\r\n 'dinghy',\r\n 'dinginess',\r\n 'dingo',\r\n 'dingy',\r\n 'dining',\r\n 'dinner',\r\n 'diocese',\r\n 'dioxide',\r\n 'diploma',\r\n 'dipped',\r\n 'dipper',\r\n 'dipping',\r\n 'directed',\r\n 'direction',\r\n 'directive',\r\n 'directly',\r\n 'directory',\r\n 'direness',\r\n 'dirtiness',\r\n 'disabled',\r\n 'disagree',\r\n 'disallow',\r\n 'disarm',\r\n 'disarray',\r\n 'disaster',\r\n 'disband',\r\n 'disbelief',\r\n 'disburse',\r\n 'discard',\r\n 'discern',\r\n 'discharge',\r\n 'disclose',\r\n 'discolor',\r\n 'discount',\r\n 'discourse',\r\n 'discover',\r\n 'discuss',\r\n 'disdain',\r\n 'disengage',\r\n 'disfigure',\r\n 'disgrace',\r\n 'dish',\r\n 'disinfect',\r\n 'disjoin',\r\n 'disk',\r\n 'dislike',\r\n 'disliking',\r\n 'dislocate',\r\n 'dislodge',\r\n 'disloyal',\r\n 'dismantle',\r\n 'dismay',\r\n 'dismiss',\r\n 'dismount',\r\n 'disobey',\r\n 'disorder',\r\n 'disown',\r\n 'disparate',\r\n 'disparity',\r\n 'dispatch',\r\n 'dispense',\r\n 'dispersal',\r\n 'dispersed',\r\n 'disperser',\r\n 'displace',\r\n 'display',\r\n 'displease',\r\n 'disposal',\r\n 'dispose',\r\n 'disprove',\r\n 'dispute',\r\n 'disregard',\r\n 'disrupt',\r\n 'dissuade',\r\n 'distance',\r\n 'distant',\r\n 'distaste',\r\n 'distill',\r\n 'distinct',\r\n 'distort',\r\n 'distract',\r\n 'distress',\r\n 'district',\r\n 'distrust',\r\n 'ditch',\r\n 'ditto',\r\n 'ditzy',\r\n 'dividable',\r\n 'divided',\r\n 'dividend',\r\n 'dividers',\r\n 'dividing',\r\n 'divinely',\r\n 'diving',\r\n 'divinity',\r\n 'divisible',\r\n 'divisibly',\r\n 'division',\r\n 'divisive',\r\n 'divorcee',\r\n 'dizziness',\r\n 'dizzy',\r\n 'doable',\r\n 'docile',\r\n 'dock',\r\n 'doctrine',\r\n 'document',\r\n 'dodge',\r\n 'dodgy',\r\n 'doily',\r\n 'doing',\r\n 'dole',\r\n 'dollar',\r\n 'dollhouse',\r\n 'dollop',\r\n 'dolly',\r\n 'dolphin',\r\n 'domain',\r\n 'domelike',\r\n 'domestic',\r\n 'dominion',\r\n 'dominoes',\r\n 'donated',\r\n 'donation',\r\n 'donator',\r\n 'donor',\r\n 'donut',\r\n 'doodle',\r\n 'doorbell',\r\n 'doorframe',\r\n 'doorknob',\r\n 'doorman',\r\n 'doormat',\r\n 'doornail',\r\n 'doorpost',\r\n 'doorstep',\r\n 'doorstop',\r\n 'doorway',\r\n 'doozy',\r\n 'dork',\r\n 'dormitory',\r\n 'dorsal',\r\n 'dosage',\r\n 'dose',\r\n 'dotted',\r\n 'doubling',\r\n 'douche',\r\n 'dove',\r\n 'down',\r\n 'dowry',\r\n 'doze',\r\n 'drab',\r\n 'dragging',\r\n 'dragonfly',\r\n 'dragonish',\r\n 'dragster',\r\n 'drainable',\r\n 'drainage',\r\n 'drained',\r\n 'drainer',\r\n 'drainpipe',\r\n 'dramatic',\r\n 'dramatize',\r\n 'drank',\r\n 'drapery',\r\n 'drastic',\r\n 'draw',\r\n 'dreaded',\r\n 'dreadful',\r\n 'dreadlock',\r\n 'dreamboat',\r\n 'dreamily',\r\n 'dreamland',\r\n 'dreamless',\r\n 'dreamlike',\r\n 'dreamt',\r\n 'dreamy',\r\n 'drearily',\r\n 'dreary',\r\n 'drench',\r\n 'dress',\r\n 'drew',\r\n 'dribble',\r\n 'dried',\r\n 'drier',\r\n 'drift',\r\n 'driller',\r\n 'drilling',\r\n 'drinkable',\r\n 'drinking',\r\n 'dripping',\r\n 'drippy',\r\n 'drivable',\r\n 'driven',\r\n 'driver',\r\n 'driveway',\r\n 'driving',\r\n 'drizzle',\r\n 'drizzly',\r\n 'drone',\r\n 'drool',\r\n 'droop',\r\n 'drop-down',\r\n 'dropbox',\r\n 'dropkick',\r\n 'droplet',\r\n 'dropout',\r\n 'dropper',\r\n 'drove',\r\n 'drown',\r\n 'drowsily',\r\n 'drudge',\r\n 'drum',\r\n 'dry',\r\n 'dubbed',\r\n 'dubiously',\r\n 'duchess',\r\n 'duckbill',\r\n 'ducking',\r\n 'duckling',\r\n 'ducktail',\r\n 'ducky',\r\n 'duct',\r\n 'dude',\r\n 'duffel',\r\n 'dugout',\r\n 'duh',\r\n 'duke',\r\n 'duller',\r\n 'dullness',\r\n 'duly',\r\n 'dumping',\r\n 'dumpling',\r\n 'dumpster',\r\n 'duo',\r\n 'dupe',\r\n 'duplex',\r\n 'duplicate',\r\n 'duplicity',\r\n 'durable',\r\n 'durably',\r\n 'duration',\r\n 'duress',\r\n 'during',\r\n 'dusk',\r\n 'dust',\r\n 'dutiful',\r\n 'duty',\r\n 'duvet',\r\n 'dwarf',\r\n 'dweeb',\r\n 'dwelled',\r\n 'dweller',\r\n 'dwelling',\r\n 'dwindle',\r\n 'dwindling',\r\n 'dynamic',\r\n 'dynamite',\r\n 'dynasty',\r\n 'dyslexia',\r\n 'dyslexic',\r\n 'each',\r\n 'eagle',\r\n 'earache',\r\n 'eardrum',\r\n 'earflap',\r\n 'earful',\r\n 'earlobe',\r\n 'early',\r\n 'earmark',\r\n 'earmuff',\r\n 'earphone',\r\n 'earpiece',\r\n 'earplugs',\r\n 'earring',\r\n 'earshot',\r\n 'earthen',\r\n 'earthlike',\r\n 'earthling',\r\n 'earthly',\r\n 'earthworm',\r\n 'earthy',\r\n 'earwig',\r\n 'easeful',\r\n 'easel',\r\n 'easiest',\r\n 'easily',\r\n 'easiness',\r\n 'easing',\r\n 'eastbound',\r\n 'eastcoast',\r\n 'easter',\r\n 'eastward',\r\n 'eatable',\r\n 'eaten',\r\n 'eatery',\r\n 'eating',\r\n 'eats',\r\n 'ebay',\r\n 'ebony',\r\n 'ebook',\r\n 'ecard',\r\n 'eccentric',\r\n 'echo',\r\n 'eclair',\r\n 'eclipse',\r\n 'ecologist',\r\n 'ecology',\r\n 'economic',\r\n 'economist',\r\n 'economy',\r\n 'ecosphere',\r\n 'ecosystem',\r\n 'edge',\r\n 'edginess',\r\n 'edging',\r\n 'edgy',\r\n 'edition',\r\n 'editor',\r\n 'educated',\r\n 'education',\r\n 'educator',\r\n 'eel',\r\n 'effective',\r\n 'effects',\r\n 'efficient',\r\n 'effort',\r\n 'eggbeater',\r\n 'egging',\r\n 'eggnog',\r\n 'eggplant',\r\n 'eggshell',\r\n 'egomaniac',\r\n 'egotism',\r\n 'egotistic',\r\n 'either',\r\n 'eject',\r\n 'elaborate',\r\n 'elastic',\r\n 'elated',\r\n 'elbow',\r\n 'eldercare',\r\n 'elderly',\r\n 'eldest',\r\n 'electable',\r\n 'election',\r\n 'elective',\r\n 'elephant',\r\n 'elevate',\r\n 'elevating',\r\n 'elevation',\r\n 'elevator',\r\n 'eleven',\r\n 'elf',\r\n 'eligible',\r\n 'eligibly',\r\n 'eliminate',\r\n 'elite',\r\n 'elitism',\r\n 'elixir',\r\n 'elk',\r\n 'ellipse',\r\n 'elliptic',\r\n 'elm',\r\n 'elongated',\r\n 'elope',\r\n 'eloquence',\r\n 'eloquent',\r\n 'elsewhere',\r\n 'elude',\r\n 'elusive',\r\n 'elves',\r\n 'email',\r\n 'embargo',\r\n 'embark',\r\n 'embassy',\r\n 'embattled',\r\n 'embellish',\r\n 'ember',\r\n 'embezzle',\r\n 'emblaze',\r\n 'emblem',\r\n 'embody',\r\n 'embolism',\r\n 'emboss',\r\n 'embroider',\r\n 'emcee',\r\n 'emerald',\r\n 'emergency',\r\n 'emission',\r\n 'emit',\r\n 'emote',\r\n 'emoticon',\r\n 'emotion',\r\n 'empathic',\r\n 'empathy',\r\n 'emperor',\r\n 'emphases',\r\n 'emphasis',\r\n 'emphasize',\r\n 'emphatic',\r\n 'empirical',\r\n 'employed',\r\n 'employee',\r\n 'employer',\r\n 'emporium',\r\n 'empower',\r\n 'emptier',\r\n 'emptiness',\r\n 'empty',\r\n 'emu',\r\n 'enable',\r\n 'enactment',\r\n 'enamel',\r\n 'enchanted',\r\n 'enchilada',\r\n 'encircle',\r\n 'enclose',\r\n 'enclosure',\r\n 'encode',\r\n 'encore',\r\n 'encounter',\r\n 'encourage',\r\n 'encroach',\r\n 'encrust',\r\n 'encrypt',\r\n 'endanger',\r\n 'endeared',\r\n 'endearing',\r\n 'ended',\r\n 'ending',\r\n 'endless',\r\n 'endnote',\r\n 'endocrine',\r\n 'endorphin',\r\n 'endorse',\r\n 'endowment',\r\n 'endpoint',\r\n 'endurable',\r\n 'endurance',\r\n 'enduring',\r\n 'energetic',\r\n 'energize',\r\n 'energy',\r\n 'enforced',\r\n 'enforcer',\r\n 'engaged',\r\n 'engaging',\r\n 'engine',\r\n 'engorge',\r\n 'engraved',\r\n 'engraver',\r\n 'engraving',\r\n 'engross',\r\n 'engulf',\r\n 'enhance',\r\n 'enigmatic',\r\n 'enjoyable',\r\n 'enjoyably',\r\n 'enjoyer',\r\n 'enjoying',\r\n 'enjoyment',\r\n 'enlarged',\r\n 'enlarging',\r\n 'enlighten',\r\n 'enlisted',\r\n 'enquirer',\r\n 'enrage',\r\n 'enrich',\r\n 'enroll',\r\n 'enslave',\r\n 'ensnare',\r\n 'ensure',\r\n 'entail',\r\n 'entangled',\r\n 'entering',\r\n 'entertain',\r\n 'enticing',\r\n 'entire',\r\n 'entitle',\r\n 'entity',\r\n 'entomb',\r\n 'entourage',\r\n 'entrap',\r\n 'entree',\r\n 'entrench',\r\n 'entrust',\r\n 'entryway',\r\n 'entwine',\r\n 'enunciate',\r\n 'envelope',\r\n 'enviable',\r\n 'enviably',\r\n 'envious',\r\n 'envision',\r\n 'envoy',\r\n 'envy',\r\n 'enzyme',\r\n 'epic',\r\n 'epidemic',\r\n 'epidermal',\r\n 'epidermis',\r\n 'epidural',\r\n 'epilepsy',\r\n 'epileptic',\r\n 'epilogue',\r\n 'epiphany',\r\n 'episode',\r\n 'equal',\r\n 'equate',\r\n 'equation',\r\n 'equator',\r\n 'equinox',\r\n 'equipment',\r\n 'equity',\r\n 'equivocal',\r\n 'eradicate',\r\n 'erasable',\r\n 'erased',\r\n 'eraser',\r\n 'erasure',\r\n 'ergonomic',\r\n 'errand',\r\n 'errant',\r\n 'erratic',\r\n 'error',\r\n 'erupt',\r\n 'escalate',\r\n 'escalator',\r\n 'escapable',\r\n 'escapade',\r\n 'escapist',\r\n 'escargot',\r\n 'eskimo',\r\n 'esophagus',\r\n 'espionage',\r\n 'espresso',\r\n 'esquire',\r\n 'essay',\r\n 'essence',\r\n 'essential',\r\n 'establish',\r\n 'estate',\r\n 'esteemed',\r\n 'estimate',\r\n 'estimator',\r\n 'estranged',\r\n 'estrogen',\r\n 'etching',\r\n 'eternal',\r\n 'eternity',\r\n 'ethanol',\r\n 'ether',\r\n 'ethically',\r\n 'ethics',\r\n 'euphemism',\r\n 'evacuate',\r\n 'evacuee',\r\n 'evade',\r\n 'evaluate',\r\n 'evaluator',\r\n 'evaporate',\r\n 'evasion',\r\n 'evasive',\r\n 'even',\r\n 'everglade',\r\n 'evergreen',\r\n 'everybody',\r\n 'everyday',\r\n 'everyone',\r\n 'evict',\r\n 'evidence',\r\n 'evident',\r\n 'evil',\r\n 'evoke',\r\n 'evolution',\r\n 'evolve',\r\n 'exact',\r\n 'exalted',\r\n 'example',\r\n 'excavate',\r\n 'excavator',\r\n 'exceeding',\r\n 'exception',\r\n 'excess',\r\n 'exchange',\r\n 'excitable',\r\n 'exciting',\r\n 'exclaim',\r\n 'exclude',\r\n 'excluding',\r\n 'exclusion',\r\n 'exclusive',\r\n 'excretion',\r\n 'excretory',\r\n 'excursion',\r\n 'excusable',\r\n 'excusably',\r\n 'excuse',\r\n 'exemplary',\r\n 'exemplify',\r\n 'exemption',\r\n 'exerciser',\r\n 'exert',\r\n 'exes',\r\n 'exfoliate',\r\n 'exhale',\r\n 'exhaust',\r\n 'exhume',\r\n 'exile',\r\n 'existing',\r\n 'exit',\r\n 'exodus',\r\n 'exonerate',\r\n 'exorcism',\r\n 'exorcist',\r\n 'expand',\r\n 'expanse',\r\n 'expansion',\r\n 'expansive',\r\n 'expectant',\r\n 'expedited',\r\n 'expediter',\r\n 'expel',\r\n 'expend',\r\n 'expenses',\r\n 'expensive',\r\n 'expert',\r\n 'expire',\r\n 'expiring',\r\n 'explain',\r\n 'expletive',\r\n 'explicit',\r\n 'explode',\r\n 'exploit',\r\n 'explore',\r\n 'exploring',\r\n 'exponent',\r\n 'exporter',\r\n 'exposable',\r\n 'expose',\r\n 'exposure',\r\n 'express',\r\n 'expulsion',\r\n 'exquisite',\r\n 'extended',\r\n 'extending',\r\n 'extent',\r\n 'extenuate',\r\n 'exterior',\r\n 'external',\r\n 'extinct',\r\n 'extortion',\r\n 'extradite',\r\n 'extras',\r\n 'extrovert',\r\n 'extrude',\r\n 'extruding',\r\n 'exuberant',\r\n 'fable',\r\n 'fabric',\r\n 'fabulous',\r\n 'facebook',\r\n 'facecloth',\r\n 'facedown',\r\n 'faceless',\r\n 'facelift',\r\n 'faceplate',\r\n 'faceted',\r\n 'facial',\r\n 'facility',\r\n 'facing',\r\n 'facsimile',\r\n 'faction',\r\n 'factoid',\r\n 'factor',\r\n 'factsheet',\r\n 'factual',\r\n 'faculty',\r\n 'fade',\r\n 'fading',\r\n 'failing',\r\n 'falcon',\r\n 'fall',\r\n 'false',\r\n 'falsify',\r\n 'fame',\r\n 'familiar',\r\n 'family',\r\n 'famine',\r\n 'famished',\r\n 'fanatic',\r\n 'fancied',\r\n 'fanciness',\r\n 'fancy',\r\n 'fanfare',\r\n 'fang',\r\n 'fanning',\r\n 'fantasize',\r\n 'fantastic',\r\n 'fantasy',\r\n 'fascism',\r\n 'fastball',\r\n 'faster',\r\n 'fasting',\r\n 'fastness',\r\n 'faucet',\r\n 'favorable',\r\n 'favorably',\r\n 'favored',\r\n 'favoring',\r\n 'favorite',\r\n 'fax',\r\n 'feast',\r\n 'federal',\r\n 'fedora',\r\n 'feeble',\r\n 'feed',\r\n 'feel',\r\n 'feisty',\r\n 'feline',\r\n 'felt-tip',\r\n 'feminine',\r\n 'feminism',\r\n 'feminist',\r\n 'feminize',\r\n 'femur',\r\n 'fence',\r\n 'fencing',\r\n 'fender',\r\n 'ferment',\r\n 'fernlike',\r\n 'ferocious',\r\n 'ferocity',\r\n 'ferret',\r\n 'ferris',\r\n 'ferry',\r\n 'fervor',\r\n 'fester',\r\n 'festival',\r\n 'festive',\r\n 'festivity',\r\n 'fetal',\r\n 'fetch',\r\n 'fever',\r\n 'fiber',\r\n 'fiction',\r\n 'fiddle',\r\n 'fiddling',\r\n 'fidelity',\r\n 'fidgeting',\r\n 'fidgety',\r\n 'fifteen',\r\n 'fifth',\r\n 'fiftieth',\r\n 'fifty',\r\n 'figment',\r\n 'figure',\r\n 'figurine',\r\n 'filing',\r\n 'filled',\r\n 'filler',\r\n 'filling',\r\n 'film',\r\n 'filter',\r\n 'filth',\r\n 'filtrate',\r\n 'finale',\r\n 'finalist',\r\n 'finalize',\r\n 'finally',\r\n 'finance',\r\n 'financial',\r\n 'finch',\r\n 'fineness',\r\n 'finer',\r\n 'finicky',\r\n 'finished',\r\n 'finisher',\r\n 'finishing',\r\n 'finite',\r\n 'finless',\r\n 'finlike',\r\n 'fiscally',\r\n 'fit',\r\n 'five',\r\n 'flaccid',\r\n 'flagman',\r\n 'flagpole',\r\n 'flagship',\r\n 'flagstick',\r\n 'flagstone',\r\n 'flail',\r\n 'flakily',\r\n 'flaky',\r\n 'flame',\r\n 'flammable',\r\n 'flanked',\r\n 'flanking',\r\n 'flannels',\r\n 'flap',\r\n 'flaring',\r\n 'flashback',\r\n 'flashbulb',\r\n 'flashcard',\r\n 'flashily',\r\n 'flashing',\r\n 'flashy',\r\n 'flask',\r\n 'flatbed',\r\n 'flatfoot',\r\n 'flatly',\r\n 'flatness',\r\n 'flatten',\r\n 'flattered',\r\n 'flatterer',\r\n 'flattery',\r\n 'flattop',\r\n 'flatware',\r\n 'flatworm',\r\n 'flavored',\r\n 'flavorful',\r\n 'flavoring',\r\n 'flaxseed',\r\n 'fled',\r\n 'fleshed',\r\n 'fleshy',\r\n 'flick',\r\n 'flier',\r\n 'flight',\r\n 'flinch',\r\n 'fling',\r\n 'flint',\r\n 'flip',\r\n 'flirt',\r\n 'float',\r\n 'flock',\r\n 'flogging',\r\n 'flop',\r\n 'floral',\r\n 'florist',\r\n 'floss',\r\n 'flounder',\r\n 'flyable',\r\n 'flyaway',\r\n 'flyer',\r\n 'flying',\r\n 'flyover',\r\n 'flypaper',\r\n 'foam',\r\n 'foe',\r\n 'fog',\r\n 'foil',\r\n 'folic',\r\n 'folk',\r\n 'follicle',\r\n 'follow',\r\n 'fondling',\r\n 'fondly',\r\n 'fondness',\r\n 'fondue',\r\n 'font',\r\n 'food',\r\n 'fool',\r\n 'footage',\r\n 'football',\r\n 'footbath',\r\n 'footboard',\r\n 'footer',\r\n 'footgear',\r\n 'foothill',\r\n 'foothold',\r\n 'footing',\r\n 'footless',\r\n 'footman',\r\n 'footnote',\r\n 'footpad',\r\n 'footpath',\r\n 'footprint',\r\n 'footrest',\r\n 'footsie',\r\n 'footsore',\r\n 'footwear',\r\n 'footwork',\r\n 'fossil',\r\n 'foster',\r\n 'founder',\r\n 'founding',\r\n 'fountain',\r\n 'fox',\r\n 'foyer',\r\n 'fraction',\r\n 'fracture',\r\n 'fragile',\r\n 'fragility',\r\n 'fragment',\r\n 'fragrance',\r\n 'fragrant',\r\n 'frail',\r\n 'frame',\r\n 'framing',\r\n 'frantic',\r\n 'fraternal',\r\n 'frayed',\r\n 'fraying',\r\n 'frays',\r\n 'freckled',\r\n 'freckles',\r\n 'freebase',\r\n 'freebee',\r\n 'freebie',\r\n 'freedom',\r\n 'freefall',\r\n 'freehand',\r\n 'freeing',\r\n 'freeload',\r\n 'freely',\r\n 'freemason',\r\n 'freeness',\r\n 'freestyle',\r\n 'freeware',\r\n 'freeway',\r\n 'freewill',\r\n 'freezable',\r\n 'freezing',\r\n 'freight',\r\n 'french',\r\n 'frenzied',\r\n 'frenzy',\r\n 'frequency',\r\n 'frequent',\r\n 'fresh',\r\n 'fretful',\r\n 'fretted',\r\n 'friction',\r\n 'friday',\r\n 'fridge',\r\n 'fried',\r\n 'friend',\r\n 'frighten',\r\n 'frightful',\r\n 'frigidity',\r\n 'frigidly',\r\n 'frill',\r\n 'fringe',\r\n 'frisbee',\r\n 'frisk',\r\n 'fritter',\r\n 'frivolous',\r\n 'frolic',\r\n 'from',\r\n 'front',\r\n 'frostbite',\r\n 'frosted',\r\n 'frostily',\r\n 'frosting',\r\n 'frostlike',\r\n 'frosty',\r\n 'froth',\r\n 'frown',\r\n 'frozen',\r\n 'fructose',\r\n 'frugality',\r\n 'frugally',\r\n 'fruit',\r\n 'frustrate',\r\n 'frying',\r\n 'gab',\r\n 'gaffe',\r\n 'gag',\r\n 'gainfully',\r\n 'gaining',\r\n 'gains',\r\n 'gala',\r\n 'gallantly',\r\n 'galleria',\r\n 'gallery',\r\n 'galley',\r\n 'gallon',\r\n 'gallows',\r\n 'gallstone',\r\n 'galore',\r\n 'galvanize',\r\n 'gambling',\r\n 'game',\r\n 'gaming',\r\n 'gamma',\r\n 'gander',\r\n 'gangly',\r\n 'gangrene',\r\n 'gangway',\r\n 'gap',\r\n 'garage',\r\n 'garbage',\r\n 'garden',\r\n 'gargle',\r\n 'garland',\r\n 'garlic',\r\n 'garment',\r\n 'garnet',\r\n 'garnish',\r\n 'garter',\r\n 'gas',\r\n 'gatherer',\r\n 'gathering',\r\n 'gating',\r\n 'gauging',\r\n 'gauntlet',\r\n 'gauze',\r\n 'gave',\r\n 'gawk',\r\n 'gazing',\r\n 'gear',\r\n 'gecko',\r\n 'geek',\r\n 'geiger',\r\n 'gem',\r\n 'gender',\r\n 'generic',\r\n 'generous',\r\n 'genetics',\r\n 'genre',\r\n 'gentile',\r\n 'gentleman',\r\n 'gently',\r\n 'gents',\r\n 'geography',\r\n 'geologic',\r\n 'geologist',\r\n 'geology',\r\n 'geometric',\r\n 'geometry',\r\n 'geranium',\r\n 'gerbil',\r\n 'geriatric',\r\n 'germicide',\r\n 'germinate',\r\n 'germless',\r\n 'germproof',\r\n 'gestate',\r\n 'gestation',\r\n 'gesture',\r\n 'getaway',\r\n 'getting',\r\n 'getup',\r\n 'giant',\r\n 'gibberish',\r\n 'giblet',\r\n 'giddily',\r\n 'giddiness',\r\n 'giddy',\r\n 'gift',\r\n 'gigabyte',\r\n 'gigahertz',\r\n 'gigantic',\r\n 'giggle',\r\n 'giggling',\r\n 'giggly',\r\n 'gigolo',\r\n 'gilled',\r\n 'gills',\r\n 'gimmick',\r\n 'girdle',\r\n 'giveaway',\r\n 'given',\r\n 'giver',\r\n 'giving',\r\n 'gizmo',\r\n 'gizzard',\r\n 'glacial',\r\n 'glacier',\r\n 'glade',\r\n 'gladiator',\r\n 'gladly',\r\n 'glamorous',\r\n 'glamour',\r\n 'glance',\r\n 'glancing',\r\n 'glandular',\r\n 'glare',\r\n 'glaring',\r\n 'glass',\r\n 'glaucoma',\r\n 'glazing',\r\n 'gleaming',\r\n 'gleeful',\r\n 'glider',\r\n 'gliding',\r\n 'glimmer',\r\n 'glimpse',\r\n 'glisten',\r\n 'glitch',\r\n 'glitter',\r\n 'glitzy',\r\n 'gloater',\r\n 'gloating',\r\n 'gloomily',\r\n 'gloomy',\r\n 'glorified',\r\n 'glorifier',\r\n 'glorify',\r\n 'glorious',\r\n 'glory',\r\n 'gloss',\r\n 'glove',\r\n 'glowing',\r\n 'glowworm',\r\n 'glucose',\r\n 'glue',\r\n 'gluten',\r\n 'glutinous',\r\n 'glutton',\r\n 'gnarly',\r\n 'gnat',\r\n 'goal',\r\n 'goatskin',\r\n 'goes',\r\n 'goggles',\r\n 'going',\r\n 'goldfish',\r\n 'goldmine',\r\n 'goldsmith',\r\n 'golf',\r\n 'goliath',\r\n 'gonad',\r\n 'gondola',\r\n 'gone',\r\n 'gong',\r\n 'good',\r\n 'gooey',\r\n 'goofball',\r\n 'goofiness',\r\n 'goofy',\r\n 'google',\r\n 'goon',\r\n 'gopher',\r\n 'gore',\r\n 'gorged',\r\n 'gorgeous',\r\n 'gory',\r\n 'gosling',\r\n 'gossip',\r\n 'gothic',\r\n 'gotten',\r\n 'gout',\r\n 'gown',\r\n 'grab',\r\n 'graceful',\r\n 'graceless',\r\n 'gracious',\r\n 'gradation',\r\n 'graded',\r\n 'grader',\r\n 'gradient',\r\n 'grading',\r\n 'gradually',\r\n 'graduate',\r\n 'graffiti',\r\n 'grafted',\r\n 'grafting',\r\n 'grain',\r\n 'granddad',\r\n 'grandkid',\r\n 'grandly',\r\n 'grandma',\r\n 'grandpa',\r\n 'grandson',\r\n 'granite',\r\n 'granny',\r\n 'granola',\r\n 'grant',\r\n 'granular',\r\n 'grape',\r\n 'graph',\r\n 'grapple',\r\n 'grappling',\r\n 'grasp',\r\n 'grass',\r\n 'gratified',\r\n 'gratify',\r\n 'grating',\r\n 'gratitude',\r\n 'gratuity',\r\n 'gravel',\r\n 'graveness',\r\n 'graves',\r\n 'graveyard',\r\n 'gravitate',\r\n 'gravity',\r\n 'gravy',\r\n 'gray',\r\n 'grazing',\r\n 'greasily',\r\n 'greedily',\r\n 'greedless',\r\n 'greedy',\r\n 'green',\r\n 'greeter',\r\n 'greeting',\r\n 'grew',\r\n 'greyhound',\r\n 'grid',\r\n 'grief',\r\n 'grievance',\r\n 'grieving',\r\n 'grievous',\r\n 'grill',\r\n 'grimace',\r\n 'grimacing',\r\n 'grime',\r\n 'griminess',\r\n 'grimy',\r\n 'grinch',\r\n 'grinning',\r\n 'grip',\r\n 'gristle',\r\n 'grit',\r\n 'groggily',\r\n 'groggy',\r\n 'groin',\r\n 'groom',\r\n 'groove',\r\n 'grooving',\r\n 'groovy',\r\n 'grope',\r\n 'ground',\r\n 'grouped',\r\n 'grout',\r\n 'grove',\r\n 'grower',\r\n 'growing',\r\n 'growl',\r\n 'grub',\r\n 'grudge',\r\n 'grudging',\r\n 'grueling',\r\n 'gruffly',\r\n 'grumble',\r\n 'grumbling',\r\n 'grumbly',\r\n 'grumpily',\r\n 'grunge',\r\n 'grunt',\r\n 'guacamole',\r\n 'guidable',\r\n 'guidance',\r\n 'guide',\r\n 'guiding',\r\n 'guileless',\r\n 'guise',\r\n 'gulf',\r\n 'gullible',\r\n 'gully',\r\n 'gulp',\r\n 'gumball',\r\n 'gumdrop',\r\n 'gumminess',\r\n 'gumming',\r\n 'gummy',\r\n 'gurgle',\r\n 'gurgling',\r\n 'guru',\r\n 'gush',\r\n 'gusto',\r\n 'gusty',\r\n 'gutless',\r\n 'guts',\r\n 'gutter',\r\n 'guy',\r\n 'guzzler',\r\n 'gyration',\r\n 'habitable',\r\n 'habitant',\r\n 'habitat',\r\n 'habitual',\r\n 'hacked',\r\n 'hacker',\r\n 'hacking',\r\n 'hacksaw',\r\n 'had',\r\n 'haggler',\r\n 'haiku',\r\n 'half',\r\n 'halogen',\r\n 'halt',\r\n 'halved',\r\n 'halves',\r\n 'hamburger',\r\n 'hamlet',\r\n 'hammock',\r\n 'hamper',\r\n 'hamster',\r\n 'hamstring',\r\n 'handbag',\r\n 'handball',\r\n 'handbook',\r\n 'handbrake',\r\n 'handcart',\r\n 'handclap',\r\n 'handclasp',\r\n 'handcraft',\r\n 'handcuff',\r\n 'handed',\r\n 'handful',\r\n 'handgrip',\r\n 'handgun',\r\n 'handheld',\r\n 'handiness',\r\n 'handiwork',\r\n 'handlebar',\r\n 'handled',\r\n 'handler',\r\n 'handling',\r\n 'handmade',\r\n 'handoff',\r\n 'handpick',\r\n 'handprint',\r\n 'handrail',\r\n 'handsaw',\r\n 'handset',\r\n 'handsfree',\r\n 'handshake',\r\n 'handstand',\r\n 'handwash',\r\n 'handwork',\r\n 'handwoven',\r\n 'handwrite',\r\n 'handyman',\r\n 'hangnail',\r\n 'hangout',\r\n 'hangover',\r\n 'hangup',\r\n 'hankering',\r\n 'hankie',\r\n 'hanky',\r\n 'haphazard',\r\n 'happening',\r\n 'happier',\r\n 'happiest',\r\n 'happily',\r\n 'happiness',\r\n 'happy',\r\n 'harbor',\r\n 'hardcopy',\r\n 'hardcore',\r\n 'hardcover',\r\n 'harddisk',\r\n 'hardened',\r\n 'hardener',\r\n 'hardening',\r\n 'hardhat',\r\n 'hardhead',\r\n 'hardiness',\r\n 'hardly',\r\n 'hardness',\r\n 'hardship',\r\n 'hardware',\r\n 'hardwired',\r\n 'hardwood',\r\n 'hardy',\r\n 'harmful',\r\n 'harmless',\r\n 'harmonica',\r\n 'harmonics',\r\n 'harmonize',\r\n 'harmony',\r\n 'harness',\r\n 'harpist',\r\n 'harsh',\r\n 'harvest',\r\n 'hash',\r\n 'hassle',\r\n 'haste',\r\n 'hastily',\r\n 'hastiness',\r\n 'hasty',\r\n 'hatbox',\r\n 'hatchback',\r\n 'hatchery',\r\n 'hatchet',\r\n 'hatching',\r\n 'hatchling',\r\n 'hate',\r\n 'hatless',\r\n 'hatred',\r\n 'haunt',\r\n 'haven',\r\n 'hazard',\r\n 'hazelnut',\r\n 'hazily',\r\n 'haziness',\r\n 'hazing',\r\n 'hazy',\r\n 'headache',\r\n 'headband',\r\n 'headboard',\r\n 'headcount',\r\n 'headdress',\r\n 'headed',\r\n 'header',\r\n 'headfirst',\r\n 'headgear',\r\n 'heading',\r\n 'headlamp',\r\n 'headless',\r\n 'headlock',\r\n 'headphone',\r\n 'headpiece',\r\n 'headrest',\r\n 'headroom',\r\n 'headscarf',\r\n 'headset',\r\n 'headsman',\r\n 'headstand',\r\n 'headstone',\r\n 'headway',\r\n 'headwear',\r\n 'heap',\r\n 'heat',\r\n 'heave',\r\n 'heavily',\r\n 'heaviness',\r\n 'heaving',\r\n 'hedge',\r\n 'hedging',\r\n 'heftiness',\r\n 'hefty',\r\n 'helium',\r\n 'helmet',\r\n 'helper',\r\n 'helpful',\r\n 'helping',\r\n 'helpless',\r\n 'helpline',\r\n 'hemlock',\r\n 'hemstitch',\r\n 'hence',\r\n 'henchman',\r\n 'henna',\r\n 'herald',\r\n 'herbal',\r\n 'herbicide',\r\n 'herbs',\r\n 'heritage',\r\n 'hermit',\r\n 'heroics',\r\n 'heroism',\r\n 'herring',\r\n 'herself',\r\n 'hertz',\r\n 'hesitancy',\r\n 'hesitant',\r\n 'hesitate',\r\n 'hexagon',\r\n 'hexagram',\r\n 'hubcap',\r\n 'huddle',\r\n 'huddling',\r\n 'huff',\r\n 'hug',\r\n 'hula',\r\n 'hulk',\r\n 'hull',\r\n 'human',\r\n 'humble',\r\n 'humbling',\r\n 'humbly',\r\n 'humid',\r\n 'humiliate',\r\n 'humility',\r\n 'humming',\r\n 'hummus',\r\n 'humongous',\r\n 'humorist',\r\n 'humorless',\r\n 'humorous',\r\n 'humpback',\r\n 'humped',\r\n 'humvee',\r\n 'hunchback',\r\n 'hundredth',\r\n 'hunger',\r\n 'hungrily',\r\n 'hungry',\r\n 'hunk',\r\n 'hunter',\r\n 'hunting',\r\n 'huntress',\r\n 'huntsman',\r\n 'hurdle',\r\n 'hurled',\r\n 'hurler',\r\n 'hurling',\r\n 'hurray',\r\n 'hurricane',\r\n 'hurried',\r\n 'hurry',\r\n 'hurt',\r\n 'husband',\r\n 'hush',\r\n 'husked',\r\n 'huskiness',\r\n 'hut',\r\n 'hybrid',\r\n 'hydrant',\r\n 'hydrated',\r\n 'hydration',\r\n 'hydrogen',\r\n 'hydroxide',\r\n 'hyperlink',\r\n 'hypertext',\r\n 'hyphen',\r\n 'hypnoses',\r\n 'hypnosis',\r\n 'hypnotic',\r\n 'hypnotism',\r\n 'hypnotist',\r\n 'hypnotize',\r\n 'hypocrisy',\r\n 'hypocrite',\r\n 'ibuprofen',\r\n 'ice',\r\n 'iciness',\r\n 'icing',\r\n 'icky',\r\n 'icon',\r\n 'icy',\r\n 'idealism',\r\n 'idealist',\r\n 'idealize',\r\n 'ideally',\r\n 'idealness',\r\n 'identical',\r\n 'identify',\r\n 'identity',\r\n 'ideology',\r\n 'idiocy',\r\n 'idiom',\r\n 'idly',\r\n 'igloo',\r\n 'ignition',\r\n 'ignore',\r\n 'iguana',\r\n 'illicitly',\r\n 'illusion',\r\n 'illusive',\r\n 'image',\r\n 'imaginary',\r\n 'imagines',\r\n 'imaging',\r\n 'imbecile',\r\n 'imitate',\r\n 'imitation',\r\n 'immature',\r\n 'immerse',\r\n 'immersion',\r\n 'imminent',\r\n 'immobile',\r\n 'immodest',\r\n 'immorally',\r\n 'immortal',\r\n 'immovable',\r\n 'immovably',\r\n 'immunity',\r\n 'immunize',\r\n 'impaired',\r\n 'impale',\r\n 'impart',\r\n 'impatient',\r\n 'impeach',\r\n 'impeding',\r\n 'impending',\r\n 'imperfect',\r\n 'imperial',\r\n 'impish',\r\n 'implant',\r\n 'implement',\r\n 'implicate',\r\n 'implicit',\r\n 'implode',\r\n 'implosion',\r\n 'implosive',\r\n 'imply',\r\n 'impolite',\r\n 'important',\r\n 'importer',\r\n 'impose',\r\n 'imposing',\r\n 'impotence',\r\n 'impotency',\r\n 'impotent',\r\n 'impound',\r\n 'imprecise',\r\n 'imprint',\r\n 'imprison',\r\n 'impromptu',\r\n 'improper',\r\n 'improve',\r\n 'improving',\r\n 'improvise',\r\n 'imprudent',\r\n 'impulse',\r\n 'impulsive',\r\n 'impure',\r\n 'impurity',\r\n 'iodine',\r\n 'iodize',\r\n 'ion',\r\n 'ipad',\r\n 'iphone',\r\n 'ipod',\r\n 'irate',\r\n 'irk',\r\n 'iron',\r\n 'irregular',\r\n 'irrigate',\r\n 'irritable',\r\n 'irritably',\r\n 'irritant',\r\n 'irritate',\r\n 'islamic',\r\n 'islamist',\r\n 'isolated',\r\n 'isolating',\r\n 'isolation',\r\n 'isotope',\r\n 'issue',\r\n 'issuing',\r\n 'italicize',\r\n 'italics',\r\n 'item',\r\n 'itinerary',\r\n 'itunes',\r\n 'ivory',\r\n 'ivy',\r\n 'jab',\r\n 'jackal',\r\n 'jacket',\r\n 'jackknife',\r\n 'jackpot',\r\n 'jailbird',\r\n 'jailbreak',\r\n 'jailer',\r\n 'jailhouse',\r\n 'jalapeno',\r\n 'jam',\r\n 'janitor',\r\n 'january',\r\n 'jargon',\r\n 'jarring',\r\n 'jasmine',\r\n 'jaundice',\r\n 'jaunt',\r\n 'java',\r\n 'jawed',\r\n 'jawless',\r\n 'jawline',\r\n 'jaws',\r\n 'jaybird',\r\n 'jaywalker',\r\n 'jazz',\r\n 'jeep',\r\n 'jeeringly',\r\n 'jellied',\r\n 'jelly',\r\n 'jersey',\r\n 'jester',\r\n 'jet',\r\n 'jiffy',\r\n 'jigsaw',\r\n 'jimmy',\r\n 'jingle',\r\n 'jingling',\r\n 'jinx',\r\n 'jitters',\r\n 'jittery',\r\n 'job',\r\n 'jockey',\r\n 'jockstrap',\r\n 'jogger',\r\n 'jogging',\r\n 'john',\r\n 'joining',\r\n 'jokester',\r\n 'jokingly',\r\n 'jolliness',\r\n 'jolly',\r\n 'jolt',\r\n 'jot',\r\n 'jovial',\r\n 'joyfully',\r\n 'joylessly',\r\n 'joyous',\r\n 'joyride',\r\n 'joystick',\r\n 'jubilance',\r\n 'jubilant',\r\n 'judge',\r\n 'judgingly',\r\n 'judicial',\r\n 'judiciary',\r\n 'judo',\r\n 'juggle',\r\n 'juggling',\r\n 'jugular',\r\n 'juice',\r\n 'juiciness',\r\n 'juicy',\r\n 'jujitsu',\r\n 'jukebox',\r\n 'july',\r\n 'jumble',\r\n 'jumbo',\r\n 'jump',\r\n 'junction',\r\n 'juncture',\r\n 'june',\r\n 'junior',\r\n 'juniper',\r\n 'junkie',\r\n 'junkman',\r\n 'junkyard',\r\n 'jurist',\r\n 'juror',\r\n 'jury',\r\n 'justice',\r\n 'justifier',\r\n 'justify',\r\n 'justly',\r\n 'justness',\r\n 'juvenile',\r\n 'kabob',\r\n 'kangaroo',\r\n 'karaoke',\r\n 'karate',\r\n 'karma',\r\n 'kebab',\r\n 'keenly',\r\n 'keenness',\r\n 'keep',\r\n 'keg',\r\n 'kelp',\r\n 'kennel',\r\n 'kept',\r\n 'kerchief',\r\n 'kerosene',\r\n 'kettle',\r\n 'kick',\r\n 'kiln',\r\n 'kilobyte',\r\n 'kilogram',\r\n 'kilometer',\r\n 'kilowatt',\r\n 'kilt',\r\n 'kimono',\r\n 'kindle',\r\n 'kindling',\r\n 'kindly',\r\n 'kindness',\r\n 'kindred',\r\n 'kinetic',\r\n 'kinfolk',\r\n 'king',\r\n 'kinship',\r\n 'kinsman',\r\n 'kinswoman',\r\n 'kissable',\r\n 'kisser',\r\n 'kissing',\r\n 'kitchen',\r\n 'kite',\r\n 'kitten',\r\n 'kitty',\r\n 'kiwi',\r\n 'kleenex',\r\n 'knapsack',\r\n 'knee',\r\n 'knelt',\r\n 'knickers',\r\n 'knoll',\r\n 'koala',\r\n 'kooky',\r\n 'kosher',\r\n 'krypton',\r\n 'kudos',\r\n 'kung',\r\n 'labored',\r\n 'laborer',\r\n 'laboring',\r\n 'laborious',\r\n 'labrador',\r\n 'ladder',\r\n 'ladies',\r\n 'ladle',\r\n 'ladybug',\r\n 'ladylike',\r\n 'lagged',\r\n 'lagging',\r\n 'lagoon',\r\n 'lair',\r\n 'lake',\r\n 'lance',\r\n 'landed',\r\n 'landfall',\r\n 'landfill',\r\n 'landing',\r\n 'landlady',\r\n 'landless',\r\n 'landline',\r\n 'landlord',\r\n 'landmark',\r\n 'landmass',\r\n 'landmine',\r\n 'landowner',\r\n 'landscape',\r\n 'landside',\r\n 'landslide',\r\n 'language',\r\n 'lankiness',\r\n 'lanky',\r\n 'lantern',\r\n 'lapdog',\r\n 'lapel',\r\n 'lapped',\r\n 'lapping',\r\n 'laptop',\r\n 'lard',\r\n 'large',\r\n 'lark',\r\n 'lash',\r\n 'lasso',\r\n 'last',\r\n 'latch',\r\n 'late',\r\n 'lather',\r\n 'latitude',\r\n 'latrine',\r\n 'latter',\r\n 'latticed',\r\n 'launch',\r\n 'launder',\r\n 'laundry',\r\n 'laurel',\r\n 'lavender',\r\n 'lavish',\r\n 'laxative',\r\n 'lazily',\r\n 'laziness',\r\n 'lazy',\r\n 'lecturer',\r\n 'left',\r\n 'legacy',\r\n 'legal',\r\n 'legend',\r\n 'legged',\r\n 'leggings',\r\n 'legible',\r\n 'legibly',\r\n 'legislate',\r\n 'lego',\r\n 'legroom',\r\n 'legume',\r\n 'legwarmer',\r\n 'legwork',\r\n 'lemon',\r\n 'lend',\r\n 'length',\r\n 'lens',\r\n 'lent',\r\n 'leotard',\r\n 'lesser',\r\n 'letdown',\r\n 'lethargic',\r\n 'lethargy',\r\n 'letter',\r\n 'lettuce',\r\n 'level',\r\n 'leverage',\r\n 'levers',\r\n 'levitate',\r\n 'levitator',\r\n 'liability',\r\n 'liable',\r\n 'liberty',\r\n 'librarian',\r\n 'library',\r\n 'licking',\r\n 'licorice',\r\n 'lid',\r\n 'life',\r\n 'lifter',\r\n 'lifting',\r\n 'liftoff',\r\n 'ligament',\r\n 'likely',\r\n 'likeness',\r\n 'likewise',\r\n 'liking',\r\n 'lilac',\r\n 'lilly',\r\n 'lily',\r\n 'limb',\r\n 'limeade',\r\n 'limelight',\r\n 'limes',\r\n 'limit',\r\n 'limping',\r\n 'limpness',\r\n 'line',\r\n 'lingo',\r\n 'linguini',\r\n 'linguist',\r\n 'lining',\r\n 'linked',\r\n 'linoleum',\r\n 'linseed',\r\n 'lint',\r\n 'lion',\r\n 'lip',\r\n 'liquefy',\r\n 'liqueur',\r\n 'liquid',\r\n 'lisp',\r\n 'list',\r\n 'litigate',\r\n 'litigator',\r\n 'litmus',\r\n 'litter',\r\n 'little',\r\n 'livable',\r\n 'lived',\r\n 'lively',\r\n 'liver',\r\n 'livestock',\r\n 'lividly',\r\n 'living',\r\n 'lizard',\r\n 'lubricant',\r\n 'lubricate',\r\n 'lucid',\r\n 'luckily',\r\n 'luckiness',\r\n 'luckless',\r\n 'lucrative',\r\n 'ludicrous',\r\n 'lugged',\r\n 'lukewarm',\r\n 'lullaby',\r\n 'lumber',\r\n 'luminance',\r\n 'luminous',\r\n 'lumpiness',\r\n 'lumping',\r\n 'lumpish',\r\n 'lunacy',\r\n 'lunar',\r\n 'lunchbox',\r\n 'luncheon',\r\n 'lunchroom',\r\n 'lunchtime',\r\n 'lung',\r\n 'lurch',\r\n 'lure',\r\n 'luridness',\r\n 'lurk',\r\n 'lushly',\r\n 'lushness',\r\n 'luster',\r\n 'lustfully',\r\n 'lustily',\r\n 'lustiness',\r\n 'lustrous',\r\n 'lusty',\r\n 'luxurious',\r\n 'luxury',\r\n 'lying',\r\n 'lyrically',\r\n 'lyricism',\r\n 'lyricist',\r\n 'lyrics',\r\n 'macarena',\r\n 'macaroni',\r\n 'macaw',\r\n 'mace',\r\n 'machine',\r\n 'machinist',\r\n 'magazine',\r\n 'magenta',\r\n 'maggot',\r\n 'magical',\r\n 'magician',\r\n 'magma',\r\n 'magnesium',\r\n 'magnetic',\r\n 'magnetism',\r\n 'magnetize',\r\n 'magnifier',\r\n 'magnify',\r\n 'magnitude',\r\n 'magnolia',\r\n 'mahogany',\r\n 'maimed',\r\n 'majestic',\r\n 'majesty',\r\n 'majorette',\r\n 'majority',\r\n 'makeover',\r\n 'maker',\r\n 'makeshift',\r\n 'making',\r\n 'malformed',\r\n 'malt',\r\n 'mama',\r\n 'mammal',\r\n 'mammary',\r\n 'mammogram',\r\n 'manager',\r\n 'managing',\r\n 'manatee',\r\n 'mandarin',\r\n 'mandate',\r\n 'mandatory',\r\n 'mandolin',\r\n 'manger',\r\n 'mangle',\r\n 'mango',\r\n 'mangy',\r\n 'manhandle',\r\n 'manhole',\r\n 'manhood',\r\n 'manhunt',\r\n 'manicotti',\r\n 'manicure',\r\n 'manifesto',\r\n 'manila',\r\n 'mankind',\r\n 'manlike',\r\n 'manliness',\r\n 'manly',\r\n 'manmade',\r\n 'manned',\r\n 'mannish',\r\n 'manor',\r\n 'manpower',\r\n 'mantis',\r\n 'mantra',\r\n 'manual',\r\n 'many',\r\n 'map',\r\n 'marathon',\r\n 'marauding',\r\n 'marbled',\r\n 'marbles',\r\n 'marbling',\r\n 'march',\r\n 'mardi',\r\n 'margarine',\r\n 'margarita',\r\n 'margin',\r\n 'marigold',\r\n 'marina',\r\n 'marine',\r\n 'marital',\r\n 'maritime',\r\n 'marlin',\r\n 'marmalade',\r\n 'maroon',\r\n 'married',\r\n 'marrow',\r\n 'marry',\r\n 'marshland',\r\n 'marshy',\r\n 'marsupial',\r\n 'marvelous',\r\n 'marxism',\r\n 'mascot',\r\n 'masculine',\r\n 'mashed',\r\n 'mashing',\r\n 'massager',\r\n 'masses',\r\n 'massive',\r\n 'mastiff',\r\n 'matador',\r\n 'matchbook',\r\n 'matchbox',\r\n 'matcher',\r\n 'matching',\r\n 'matchless',\r\n 'material',\r\n 'maternal',\r\n 'maternity',\r\n 'math',\r\n 'mating',\r\n 'matriarch',\r\n 'matrimony',\r\n 'matrix',\r\n 'matron',\r\n 'matted',\r\n 'matter',\r\n 'maturely',\r\n 'maturing',\r\n 'maturity',\r\n 'mauve',\r\n 'maverick',\r\n 'maximize',\r\n 'maximum',\r\n 'maybe',\r\n 'mayday',\r\n 'mayflower',\r\n 'moaner',\r\n 'moaning',\r\n 'mobile',\r\n 'mobility',\r\n 'mobilize',\r\n 'mobster',\r\n 'mocha',\r\n 'mocker',\r\n 'mockup',\r\n 'modified',\r\n 'modify',\r\n 'modular',\r\n 'modulator',\r\n 'module',\r\n 'moisten',\r\n 'moistness',\r\n 'moisture',\r\n 'molar',\r\n 'molasses',\r\n 'mold',\r\n 'molecular',\r\n 'molecule',\r\n 'molehill',\r\n 'mollusk',\r\n 'mom',\r\n 'monastery',\r\n 'monday',\r\n 'monetary',\r\n 'monetize',\r\n 'moneybags',\r\n 'moneyless',\r\n 'moneywise',\r\n 'mongoose',\r\n 'mongrel',\r\n 'monitor',\r\n 'monkhood',\r\n 'monogamy',\r\n 'monogram',\r\n 'monologue',\r\n 'monopoly',\r\n 'monorail',\r\n 'monotone',\r\n 'monotype',\r\n 'monoxide',\r\n 'monsieur',\r\n 'monsoon',\r\n 'monstrous',\r\n 'monthly',\r\n 'monument',\r\n 'moocher',\r\n 'moodiness',\r\n 'moody',\r\n 'mooing',\r\n 'moonbeam',\r\n 'mooned',\r\n 'moonlight',\r\n 'moonlike',\r\n 'moonlit',\r\n 'moonrise',\r\n 'moonscape',\r\n 'moonshine',\r\n 'moonstone',\r\n 'moonwalk',\r\n 'mop',\r\n 'morale',\r\n 'morality',\r\n 'morally',\r\n 'morbidity',\r\n 'morbidly',\r\n 'morphine',\r\n 'morphing',\r\n 'morse',\r\n 'mortality',\r\n 'mortally',\r\n 'mortician',\r\n 'mortified',\r\n 'mortify',\r\n 'mortuary',\r\n 'mosaic',\r\n 'mossy',\r\n 'most',\r\n 'mothball',\r\n 'mothproof',\r\n 'motion',\r\n 'motivate',\r\n 'motivator',\r\n 'motive',\r\n 'motocross',\r\n 'motor',\r\n 'motto',\r\n 'mountable',\r\n 'mountain',\r\n 'mounted',\r\n 'mounting',\r\n 'mourner',\r\n 'mournful',\r\n 'mouse',\r\n 'mousiness',\r\n 'moustache',\r\n 'mousy',\r\n 'mouth',\r\n 'movable',\r\n 'move',\r\n 'movie',\r\n 'moving',\r\n 'mower',\r\n 'mowing',\r\n 'much',\r\n 'muck',\r\n 'mud',\r\n 'mug',\r\n 'mulberry',\r\n 'mulch',\r\n 'mule',\r\n 'mulled',\r\n 'mullets',\r\n 'multiple',\r\n 'multiply',\r\n 'multitask',\r\n 'multitude',\r\n 'mumble',\r\n 'mumbling',\r\n 'mumbo',\r\n 'mummified',\r\n 'mummify',\r\n 'mummy',\r\n 'mumps',\r\n 'munchkin',\r\n 'mundane',\r\n 'municipal',\r\n 'muppet',\r\n 'mural',\r\n 'murkiness',\r\n 'murky',\r\n 'murmuring',\r\n 'muscular',\r\n 'museum',\r\n 'mushily',\r\n 'mushiness',\r\n 'mushroom',\r\n 'mushy',\r\n 'music',\r\n 'musket',\r\n 'muskiness',\r\n 'musky',\r\n 'mustang',\r\n 'mustard',\r\n 'muster',\r\n 'mustiness',\r\n 'musty',\r\n 'mutable',\r\n 'mutate',\r\n 'mutation',\r\n 'mute',\r\n 'mutilated',\r\n 'mutilator',\r\n 'mutiny',\r\n 'mutt',\r\n 'mutual',\r\n 'muzzle',\r\n 'myself',\r\n 'myspace',\r\n 'mystified',\r\n 'mystify',\r\n 'myth',\r\n 'nacho',\r\n 'nag',\r\n 'nail',\r\n 'name',\r\n 'naming',\r\n 'nanny',\r\n 'nanometer',\r\n 'nape',\r\n 'napkin',\r\n 'napped',\r\n 'napping',\r\n 'nappy',\r\n 'narrow',\r\n 'nastily',\r\n 'nastiness',\r\n 'national',\r\n 'native',\r\n 'nativity',\r\n 'natural',\r\n 'nature',\r\n 'naturist',\r\n 'nautical',\r\n 'navigate',\r\n 'navigator',\r\n 'navy',\r\n 'nearby',\r\n 'nearest',\r\n 'nearly',\r\n 'nearness',\r\n 'neatly',\r\n 'neatness',\r\n 'nebula',\r\n 'nebulizer',\r\n 'nectar',\r\n 'negate',\r\n 'negation',\r\n 'negative',\r\n 'neglector',\r\n 'negligee',\r\n 'negligent',\r\n 'negotiate',\r\n 'nemeses',\r\n 'nemesis',\r\n 'neon',\r\n 'nephew',\r\n 'nerd',\r\n 'nervous',\r\n 'nervy',\r\n 'nest',\r\n 'net',\r\n 'neurology',\r\n 'neuron',\r\n 'neurosis',\r\n 'neurotic',\r\n 'neuter',\r\n 'neutron',\r\n 'never',\r\n 'next',\r\n 'nibble',\r\n 'nickname',\r\n 'nicotine',\r\n 'niece',\r\n 'nifty',\r\n 'nimble',\r\n 'nimbly',\r\n 'nineteen',\r\n 'ninetieth',\r\n 'ninja',\r\n 'nintendo',\r\n 'ninth',\r\n 'nuclear',\r\n 'nuclei',\r\n 'nucleus',\r\n 'nugget',\r\n 'nullify',\r\n 'number',\r\n 'numbing',\r\n 'numbly',\r\n 'numbness',\r\n 'numeral',\r\n 'numerate',\r\n 'numerator',\r\n 'numeric',\r\n 'numerous',\r\n 'nuptials',\r\n 'nursery',\r\n 'nursing',\r\n 'nurture',\r\n 'nutcase',\r\n 'nutlike',\r\n 'nutmeg',\r\n 'nutrient',\r\n 'nutshell',\r\n 'nuttiness',\r\n 'nutty',\r\n 'nuzzle',\r\n 'nylon',\r\n 'oaf',\r\n 'oak',\r\n 'oasis',\r\n 'oat',\r\n 'obedience',\r\n 'obedient',\r\n 'obituary',\r\n 'object',\r\n 'obligate',\r\n 'obliged',\r\n 'oblivion',\r\n 'oblivious',\r\n 'oblong',\r\n 'obnoxious',\r\n 'oboe',\r\n 'obscure',\r\n 'obscurity',\r\n 'observant',\r\n 'observer',\r\n 'observing',\r\n 'obsessed',\r\n 'obsession',\r\n 'obsessive',\r\n 'obsolete',\r\n 'obstacle',\r\n 'obstinate',\r\n 'obstruct',\r\n 'obtain',\r\n 'obtrusive',\r\n 'obtuse',\r\n 'obvious',\r\n 'occultist',\r\n 'occupancy',\r\n 'occupant',\r\n 'occupier',\r\n 'occupy',\r\n 'ocean',\r\n 'ocelot',\r\n 'octagon',\r\n 'octane',\r\n 'october',\r\n 'octopus',\r\n 'ogle',\r\n 'oil',\r\n 'oink',\r\n 'ointment',\r\n 'okay',\r\n 'old',\r\n 'olive',\r\n 'olympics',\r\n 'omega',\r\n 'omen',\r\n 'ominous',\r\n 'omission',\r\n 'omit',\r\n 'omnivore',\r\n 'onboard',\r\n 'oncoming',\r\n 'ongoing',\r\n 'onion',\r\n 'online',\r\n 'onlooker',\r\n 'only',\r\n 'onscreen',\r\n 'onset',\r\n 'onshore',\r\n 'onslaught',\r\n 'onstage',\r\n 'onto',\r\n 'onward',\r\n 'onyx',\r\n 'oops',\r\n 'ooze',\r\n 'oozy',\r\n 'opacity',\r\n 'opal',\r\n 'open',\r\n 'operable',\r\n 'operate',\r\n 'operating',\r\n 'operation',\r\n 'operative',\r\n 'operator',\r\n 'opium',\r\n 'opossum',\r\n 'opponent',\r\n 'oppose',\r\n 'opposing',\r\n 'opposite',\r\n 'oppressed',\r\n 'oppressor',\r\n 'opt',\r\n 'opulently',\r\n 'osmosis',\r\n 'other',\r\n 'otter',\r\n 'ouch',\r\n 'ought',\r\n 'ounce',\r\n 'outage',\r\n 'outback',\r\n 'outbid',\r\n 'outboard',\r\n 'outbound',\r\n 'outbreak',\r\n 'outburst',\r\n 'outcast',\r\n 'outclass',\r\n 'outcome',\r\n 'outdated',\r\n 'outdoors',\r\n 'outer',\r\n 'outfield',\r\n 'outfit',\r\n 'outflank',\r\n 'outgoing',\r\n 'outgrow',\r\n 'outhouse',\r\n 'outing',\r\n 'outlast',\r\n 'outlet',\r\n 'outline',\r\n 'outlook',\r\n 'outlying',\r\n 'outmatch',\r\n 'outmost',\r\n 'outnumber',\r\n 'outplayed',\r\n 'outpost',\r\n 'outpour',\r\n 'output',\r\n 'outrage',\r\n 'outrank',\r\n 'outreach',\r\n 'outright',\r\n 'outscore',\r\n 'outsell',\r\n 'outshine',\r\n 'outshoot',\r\n 'outsider',\r\n 'outskirts',\r\n 'outsmart',\r\n 'outsource',\r\n 'outspoken',\r\n 'outtakes',\r\n 'outthink',\r\n 'outward',\r\n 'outweigh',\r\n 'outwit',\r\n 'oval',\r\n 'ovary',\r\n 'oven',\r\n 'overact',\r\n 'overall',\r\n 'overarch',\r\n 'overbid',\r\n 'overbill',\r\n 'overbite',\r\n 'overblown',\r\n 'overboard',\r\n 'overbook',\r\n 'overbuilt',\r\n 'overcast',\r\n 'overcoat',\r\n 'overcome',\r\n 'overcook',\r\n 'overcrowd',\r\n 'overdraft',\r\n 'overdrawn',\r\n 'overdress',\r\n 'overdrive',\r\n 'overdue',\r\n 'overeager',\r\n 'overeater',\r\n 'overexert',\r\n 'overfed',\r\n 'overfeed',\r\n 'overfill',\r\n 'overflow',\r\n 'overfull',\r\n 'overgrown',\r\n 'overhand',\r\n 'overhang',\r\n 'overhaul',\r\n 'overhead',\r\n 'overhear',\r\n 'overheat',\r\n 'overhung',\r\n 'overjoyed',\r\n 'overkill',\r\n 'overlabor',\r\n 'overlaid',\r\n 'overlap',\r\n 'overlay',\r\n 'overload',\r\n 'overlook',\r\n 'overlord',\r\n 'overlying',\r\n 'overnight',\r\n 'overpass',\r\n 'overpay',\r\n 'overplant',\r\n 'overplay',\r\n 'overpower',\r\n 'overprice',\r\n 'overrate',\r\n 'overreach',\r\n 'overreact',\r\n 'override',\r\n 'overripe',\r\n 'overrule',\r\n 'overrun',\r\n 'overshoot',\r\n 'overshot',\r\n 'oversight',\r\n 'oversized',\r\n 'oversleep',\r\n 'oversold',\r\n 'overspend',\r\n 'overstate',\r\n 'overstay',\r\n 'overstep',\r\n 'overstock',\r\n 'overstuff',\r\n 'oversweet',\r\n 'overtake',\r\n 'overthrow',\r\n 'overtime',\r\n 'overtly',\r\n 'overtone',\r\n 'overture',\r\n 'overturn',\r\n 'overuse',\r\n 'overvalue',\r\n 'overview',\r\n 'overwrite',\r\n 'owl',\r\n 'oxford',\r\n 'oxidant',\r\n 'oxidation',\r\n 'oxidize',\r\n 'oxidizing',\r\n 'oxygen',\r\n 'oxymoron',\r\n 'oyster',\r\n 'ozone',\r\n 'paced',\r\n 'pacemaker',\r\n 'pacific',\r\n 'pacifier',\r\n 'pacifism',\r\n 'pacifist',\r\n 'pacify',\r\n 'padded',\r\n 'padding',\r\n 'paddle',\r\n 'paddling',\r\n 'padlock',\r\n 'pagan',\r\n 'pager',\r\n 'paging',\r\n 'pajamas',\r\n 'palace',\r\n 'palatable',\r\n 'palm',\r\n 'palpable',\r\n 'palpitate',\r\n 'paltry',\r\n 'pampered',\r\n 'pamperer',\r\n 'pampers',\r\n 'pamphlet',\r\n 'panama',\r\n 'pancake',\r\n 'pancreas',\r\n 'panda',\r\n 'pandemic',\r\n 'pang',\r\n 'panhandle',\r\n 'panic',\r\n 'panning',\r\n 'panorama',\r\n 'panoramic',\r\n 'panther',\r\n 'pantomime',\r\n 'pantry',\r\n 'pants',\r\n 'pantyhose',\r\n 'paparazzi',\r\n 'papaya',\r\n 'paper',\r\n 'paprika',\r\n 'papyrus',\r\n 'parabola',\r\n 'parachute',\r\n 'parade',\r\n 'paradox',\r\n 'paragraph',\r\n 'parakeet',\r\n 'paralegal',\r\n 'paralyses',\r\n 'paralysis',\r\n 'paralyze',\r\n 'paramedic',\r\n 'parameter',\r\n 'paramount',\r\n 'parasail',\r\n 'parasite',\r\n 'parasitic',\r\n 'parcel',\r\n 'parched',\r\n 'parchment',\r\n 'pardon',\r\n 'parish',\r\n 'parka',\r\n 'parking',\r\n 'parkway',\r\n 'parlor',\r\n 'parmesan',\r\n 'parole',\r\n 'parrot',\r\n 'parsley',\r\n 'parsnip',\r\n 'partake',\r\n 'parted',\r\n 'parting',\r\n 'partition',\r\n 'partly',\r\n 'partner',\r\n 'partridge',\r\n 'party',\r\n 'passable',\r\n 'passably',\r\n 'passage',\r\n 'passcode',\r\n 'passenger',\r\n 'passerby',\r\n 'passing',\r\n 'passion',\r\n 'passive',\r\n 'passivism',\r\n 'passover',\r\n 'passport',\r\n 'password',\r\n 'pasta',\r\n 'pasted',\r\n 'pastel',\r\n 'pastime',\r\n 'pastor',\r\n 'pastrami',\r\n 'pasture',\r\n 'pasty',\r\n 'patchwork',\r\n 'patchy',\r\n 'paternal',\r\n 'paternity',\r\n 'path',\r\n 'patience',\r\n 'patient',\r\n 'patio',\r\n 'patriarch',\r\n 'patriot',\r\n 'patrol',\r\n 'patronage',\r\n 'patronize',\r\n 'pauper',\r\n 'pavement',\r\n 'paver',\r\n 'pavestone',\r\n 'pavilion',\r\n 'paving',\r\n 'pawing',\r\n 'payable',\r\n 'payback',\r\n 'paycheck',\r\n 'payday',\r\n 'payee',\r\n 'payer',\r\n 'paying',\r\n 'payment',\r\n 'payphone',\r\n 'payroll',\r\n 'pebble',\r\n 'pebbly',\r\n 'pecan',\r\n 'pectin',\r\n 'peculiar',\r\n 'peddling',\r\n 'pediatric',\r\n 'pedicure',\r\n 'pedigree',\r\n 'pedometer',\r\n 'pegboard',\r\n 'pelican',\r\n 'pellet',\r\n 'pelt',\r\n 'pelvis',\r\n 'penalize',\r\n 'penalty',\r\n 'pencil',\r\n 'pendant',\r\n 'pending',\r\n 'penholder',\r\n 'penknife',\r\n 'pennant',\r\n 'penniless',\r\n 'penny',\r\n 'penpal',\r\n 'pension',\r\n 'pentagon',\r\n 'pentagram',\r\n 'pep',\r\n 'perceive',\r\n 'percent',\r\n 'perch',\r\n 'percolate',\r\n 'perennial',\r\n 'perfected',\r\n 'perfectly',\r\n 'perfume',\r\n 'periscope',\r\n 'perish',\r\n 'perjurer',\r\n 'perjury',\r\n 'perkiness',\r\n 'perky',\r\n 'perm',\r\n 'peroxide',\r\n 'perpetual',\r\n 'perplexed',\r\n 'persecute',\r\n 'persevere',\r\n 'persuaded',\r\n 'persuader',\r\n 'pesky',\r\n 'peso',\r\n 'pessimism',\r\n 'pessimist',\r\n 'pester',\r\n 'pesticide',\r\n 'petal',\r\n 'petite',\r\n 'petition',\r\n 'petri',\r\n 'petroleum',\r\n 'petted',\r\n 'petticoat',\r\n 'pettiness',\r\n 'petty',\r\n 'petunia',\r\n 'phantom',\r\n 'phobia',\r\n 'phoenix',\r\n 'phonebook',\r\n 'phoney',\r\n 'phonics',\r\n 'phoniness',\r\n 'phony',\r\n 'phosphate',\r\n 'photo',\r\n 'phrase',\r\n 'phrasing',\r\n 'placard',\r\n 'placate',\r\n 'placidly',\r\n 'plank',\r\n 'planner',\r\n 'plant',\r\n 'plasma',\r\n 'plaster',\r\n 'plastic',\r\n 'plated',\r\n 'platform',\r\n 'plating',\r\n 'platinum',\r\n 'platonic',\r\n 'platter',\r\n 'platypus',\r\n 'plausible',\r\n 'plausibly',\r\n 'playable',\r\n 'playback',\r\n 'player',\r\n 'playful',\r\n 'playgroup',\r\n 'playhouse',\r\n 'playing',\r\n 'playlist',\r\n 'playmaker',\r\n 'playmate',\r\n 'playoff',\r\n 'playpen',\r\n 'playroom',\r\n 'playset',\r\n 'plaything',\r\n 'playtime',\r\n 'plaza',\r\n 'pleading',\r\n 'pleat',\r\n 'pledge',\r\n 'plentiful',\r\n 'plenty',\r\n 'plethora',\r\n 'plexiglas',\r\n 'pliable',\r\n 'plod',\r\n 'plop',\r\n 'plot',\r\n 'plow',\r\n 'ploy',\r\n 'pluck',\r\n 'plug',\r\n 'plunder',\r\n 'plunging',\r\n 'plural',\r\n 'plus',\r\n 'plutonium',\r\n 'plywood',\r\n 'poach',\r\n 'pod',\r\n 'poem',\r\n 'poet',\r\n 'pogo',\r\n 'pointed',\r\n 'pointer',\r\n 'pointing',\r\n 'pointless',\r\n 'pointy',\r\n 'poise',\r\n 'poison',\r\n 'poker',\r\n 'poking',\r\n 'polar',\r\n 'police',\r\n 'policy',\r\n 'polio',\r\n 'polish',\r\n 'politely',\r\n 'polka',\r\n 'polo',\r\n 'polyester',\r\n 'polygon',\r\n 'polygraph',\r\n 'polymer',\r\n 'poncho',\r\n 'pond',\r\n 'pony',\r\n 'popcorn',\r\n 'pope',\r\n 'poplar',\r\n 'popper',\r\n 'poppy',\r\n 'popsicle',\r\n 'populace',\r\n 'popular',\r\n 'populate',\r\n 'porcupine',\r\n 'pork',\r\n 'porous',\r\n 'porridge',\r\n 'portable',\r\n 'portal',\r\n 'portfolio',\r\n 'porthole',\r\n 'portion',\r\n 'portly',\r\n 'portside',\r\n 'poser',\r\n 'posh',\r\n 'posing',\r\n 'possible',\r\n 'possibly',\r\n 'possum',\r\n 'postage',\r\n 'postal',\r\n 'postbox',\r\n 'postcard',\r\n 'posted',\r\n 'poster',\r\n 'posting',\r\n 'postnasal',\r\n 'posture',\r\n 'postwar',\r\n 'pouch',\r\n 'pounce',\r\n 'pouncing',\r\n 'pound',\r\n 'pouring',\r\n 'pout',\r\n 'powdered',\r\n 'powdering',\r\n 'powdery',\r\n 'power',\r\n 'powwow',\r\n 'pox',\r\n 'praising',\r\n 'prance',\r\n 'prancing',\r\n 'pranker',\r\n 'prankish',\r\n 'prankster',\r\n 'prayer',\r\n 'praying',\r\n 'preacher',\r\n 'preaching',\r\n 'preachy',\r\n 'preamble',\r\n 'precinct',\r\n 'precise',\r\n 'precision',\r\n 'precook',\r\n 'precut',\r\n 'predator',\r\n 'predefine',\r\n 'predict',\r\n 'preface',\r\n 'prefix',\r\n 'preflight',\r\n 'preformed',\r\n 'pregame',\r\n 'pregnancy',\r\n 'pregnant',\r\n 'preheated',\r\n 'prelaunch',\r\n 'prelaw',\r\n 'prelude',\r\n 'premiere',\r\n 'premises',\r\n 'premium',\r\n 'prenatal',\r\n 'preoccupy',\r\n 'preorder',\r\n 'prepaid',\r\n 'prepay',\r\n 'preplan',\r\n 'preppy',\r\n 'preschool',\r\n 'prescribe',\r\n 'preseason',\r\n 'preset',\r\n 'preshow',\r\n 'president',\r\n 'presoak',\r\n 'press',\r\n 'presume',\r\n 'presuming',\r\n 'preteen',\r\n 'pretended',\r\n 'pretender',\r\n 'pretense',\r\n 'pretext',\r\n 'pretty',\r\n 'pretzel',\r\n 'prevail',\r\n 'prevalent',\r\n 'prevent',\r\n 'preview',\r\n 'previous',\r\n 'prewar',\r\n 'prewashed',\r\n 'prideful',\r\n 'pried',\r\n 'primal',\r\n 'primarily',\r\n 'primary',\r\n 'primate',\r\n 'primer',\r\n 'primp',\r\n 'princess',\r\n 'print',\r\n 'prior',\r\n 'prism',\r\n 'prison',\r\n 'prissy',\r\n 'pristine',\r\n 'privacy',\r\n 'private',\r\n 'privatize',\r\n 'prize',\r\n 'proactive',\r\n 'probable',\r\n 'probably',\r\n 'probation',\r\n 'probe',\r\n 'probing',\r\n 'probiotic',\r\n 'problem',\r\n 'procedure',\r\n 'process',\r\n 'proclaim',\r\n 'procreate',\r\n 'procurer',\r\n 'prodigal',\r\n 'prodigy',\r\n 'produce',\r\n 'product',\r\n 'profane',\r\n 'profanity',\r\n 'professed',\r\n 'professor',\r\n 'profile',\r\n 'profound',\r\n 'profusely',\r\n 'progeny',\r\n 'prognosis',\r\n 'program',\r\n 'progress',\r\n 'projector',\r\n 'prologue',\r\n 'prolonged',\r\n 'promenade',\r\n 'prominent',\r\n 'promoter',\r\n 'promotion',\r\n 'prompter',\r\n 'promptly',\r\n 'prone',\r\n 'prong',\r\n 'pronounce',\r\n 'pronto',\r\n 'proofing',\r\n 'proofread',\r\n 'proofs',\r\n 'propeller',\r\n 'properly',\r\n 'property',\r\n 'proponent',\r\n 'proposal',\r\n 'propose',\r\n 'props',\r\n 'prorate',\r\n 'protector',\r\n 'protegee',\r\n 'proton',\r\n 'prototype',\r\n 'protozoan',\r\n 'protract',\r\n 'protrude',\r\n 'proud',\r\n 'provable',\r\n 'proved',\r\n 'proven',\r\n 'provided',\r\n 'provider',\r\n 'providing',\r\n 'province',\r\n 'proving',\r\n 'provoke',\r\n 'provoking',\r\n 'provolone',\r\n 'prowess',\r\n 'prowler',\r\n 'prowling',\r\n 'proximity',\r\n 'proxy',\r\n 'prozac',\r\n 'prude',\r\n 'prudishly',\r\n 'prune',\r\n 'pruning',\r\n 'pry',\r\n 'psychic',\r\n 'public',\r\n 'publisher',\r\n 'pucker',\r\n 'pueblo',\r\n 'pug',\r\n 'pull',\r\n 'pulmonary',\r\n 'pulp',\r\n 'pulsate',\r\n 'pulse',\r\n 'pulverize',\r\n 'puma',\r\n 'pumice',\r\n 'pummel',\r\n 'punch',\r\n 'punctual',\r\n 'punctuate',\r\n 'punctured',\r\n 'pungent',\r\n 'punisher',\r\n 'punk',\r\n 'pupil',\r\n 'puppet',\r\n 'puppy',\r\n 'purchase',\r\n 'pureblood',\r\n 'purebred',\r\n 'purely',\r\n 'pureness',\r\n 'purgatory',\r\n 'purge',\r\n 'purging',\r\n 'purifier',\r\n 'purify',\r\n 'purist',\r\n 'puritan',\r\n 'purity',\r\n 'purple',\r\n 'purplish',\r\n 'purposely',\r\n 'purr',\r\n 'purse',\r\n 'pursuable',\r\n 'pursuant',\r\n 'pursuit',\r\n 'purveyor',\r\n 'pushcart',\r\n 'pushchair',\r\n 'pusher',\r\n 'pushiness',\r\n 'pushing',\r\n 'pushover',\r\n 'pushpin',\r\n 'pushup',\r\n 'pushy',\r\n 'putdown',\r\n 'putt',\r\n 'puzzle',\r\n 'puzzling',\r\n 'pyramid',\r\n 'pyromania',\r\n 'python',\r\n 'quack',\r\n 'quadrant',\r\n 'quail',\r\n 'quaintly',\r\n 'quake',\r\n 'quaking',\r\n 'qualified',\r\n 'qualifier',\r\n 'qualify',\r\n 'quality',\r\n 'qualm',\r\n 'quantum',\r\n 'quarrel',\r\n 'quarry',\r\n 'quartered',\r\n 'quarterly',\r\n 'quarters',\r\n 'quartet',\r\n 'quench',\r\n 'query',\r\n 'quicken',\r\n 'quickly',\r\n 'quickness',\r\n 'quicksand',\r\n 'quickstep',\r\n 'quiet',\r\n 'quill',\r\n 'quilt',\r\n 'quintet',\r\n 'quintuple',\r\n 'quirk',\r\n 'quit',\r\n 'quiver',\r\n 'quizzical',\r\n 'quotable',\r\n 'quotation',\r\n 'quote',\r\n 'rabid',\r\n 'race',\r\n 'racing',\r\n 'racism',\r\n 'rack',\r\n 'racoon',\r\n 'radar',\r\n 'radial',\r\n 'radiance',\r\n 'radiantly',\r\n 'radiated',\r\n 'radiation',\r\n 'radiator',\r\n 'radio',\r\n 'radish',\r\n 'raffle',\r\n 'raft',\r\n 'rage',\r\n 'ragged',\r\n 'raging',\r\n 'ragweed',\r\n 'raider',\r\n 'railcar',\r\n 'railing',\r\n 'railroad',\r\n 'railway',\r\n 'raisin',\r\n 'rake',\r\n 'raking',\r\n 'rally',\r\n 'ramble',\r\n 'rambling',\r\n 'ramp',\r\n 'ramrod',\r\n 'ranch',\r\n 'rancidity',\r\n 'random',\r\n 'ranged',\r\n 'ranger',\r\n 'ranging',\r\n 'ranked',\r\n 'ranking',\r\n 'ransack',\r\n 'ranting',\r\n 'rants',\r\n 'rare',\r\n 'rarity',\r\n 'rascal',\r\n 'rash',\r\n 'rasping',\r\n 'ravage',\r\n 'raven',\r\n 'ravine',\r\n 'raving',\r\n 'ravioli',\r\n 'ravishing',\r\n 'reabsorb',\r\n 'reach',\r\n 'reacquire',\r\n 'reaction',\r\n 'reactive',\r\n 'reactor',\r\n 'reaffirm',\r\n 'ream',\r\n 'reanalyze',\r\n 'reappear',\r\n 'reapply',\r\n 'reappoint',\r\n 'reapprove',\r\n 'rearrange',\r\n 'rearview',\r\n 'reason',\r\n 'reassign',\r\n 'reassure',\r\n 'reattach',\r\n 'reawake',\r\n 'rebalance',\r\n 'rebate',\r\n 'rebel',\r\n 'rebirth',\r\n 'reboot',\r\n 'reborn',\r\n 'rebound',\r\n 'rebuff',\r\n 'rebuild',\r\n 'rebuilt',\r\n 'reburial',\r\n 'rebuttal',\r\n 'recall',\r\n 'recant',\r\n 'recapture',\r\n 'recast',\r\n 'recede',\r\n 'recent',\r\n 'recess',\r\n 'recharger',\r\n 'recipient',\r\n 'recital',\r\n 'recite',\r\n 'reckless',\r\n 'reclaim',\r\n 'recliner',\r\n 'reclining',\r\n 'recluse',\r\n 'reclusive',\r\n 'recognize',\r\n 'recoil',\r\n 'recollect',\r\n 'recolor',\r\n 'reconcile',\r\n 'reconfirm',\r\n 'reconvene',\r\n 'recopy',\r\n 'record',\r\n 'recount',\r\n 'recoup',\r\n 'recovery',\r\n 'recreate',\r\n 'rectal',\r\n 'rectangle',\r\n 'rectified',\r\n 'rectify',\r\n 'recycled',\r\n 'recycler',\r\n 'recycling',\r\n 'reemerge',\r\n 'reenact',\r\n 'reenter',\r\n 'reentry',\r\n 'reexamine',\r\n 'referable',\r\n 'referee',\r\n 'reference',\r\n 'refill',\r\n 'refinance',\r\n 'refined',\r\n 'refinery',\r\n 'refining',\r\n 'refinish',\r\n 'reflected',\r\n 'reflector',\r\n 'reflex',\r\n 'reflux',\r\n 'refocus',\r\n 'refold',\r\n 'reforest',\r\n 'reformat',\r\n 'reformed',\r\n 'reformer',\r\n 'reformist',\r\n 'refract',\r\n 'refrain',\r\n 'refreeze',\r\n 'refresh',\r\n 'refried',\r\n 'refueling',\r\n 'refund',\r\n 'refurbish',\r\n 'refurnish',\r\n 'refusal',\r\n 'refuse',\r\n 'refusing',\r\n 'refutable',\r\n 'refute',\r\n 'regain',\r\n 'regalia',\r\n 'regally',\r\n 'reggae',\r\n 'regime',\r\n 'region',\r\n 'register',\r\n 'registrar',\r\n 'registry',\r\n 'regress',\r\n 'regretful',\r\n 'regroup',\r\n 'regular',\r\n 'regulate',\r\n 'regulator',\r\n 'rehab',\r\n 'reheat',\r\n 'rehire',\r\n 'rehydrate',\r\n 'reimburse',\r\n 'reissue',\r\n 'reiterate',\r\n 'rejoice',\r\n 'rejoicing',\r\n 'rejoin',\r\n 'rekindle',\r\n 'relapse',\r\n 'relapsing',\r\n 'relatable',\r\n 'related',\r\n 'relation',\r\n 'relative',\r\n 'relax',\r\n 'relay',\r\n 'relearn',\r\n 'release',\r\n 'relenting',\r\n 'reliable',\r\n 'reliably',\r\n 'reliance',\r\n 'reliant',\r\n 'relic',\r\n 'relieve',\r\n 'relieving',\r\n 'relight',\r\n 'relish',\r\n 'relive',\r\n 'reload',\r\n 'relocate',\r\n 'relock',\r\n 'reluctant',\r\n 'rely',\r\n 'remake',\r\n 'remark',\r\n 'remarry',\r\n 'rematch',\r\n 'remedial',\r\n 'remedy',\r\n 'remember',\r\n 'reminder',\r\n 'remindful',\r\n 'remission',\r\n 'remix',\r\n 'remnant',\r\n 'remodeler',\r\n 'remold',\r\n 'remorse',\r\n 'remote',\r\n 'removable',\r\n 'removal',\r\n 'removed',\r\n 'remover',\r\n 'removing',\r\n 'rename',\r\n 'renderer',\r\n 'rendering',\r\n 'rendition',\r\n 'renegade',\r\n 'renewable',\r\n 'renewably',\r\n 'renewal',\r\n 'renewed',\r\n 'renounce',\r\n 'renovate',\r\n 'renovator',\r\n 'rentable',\r\n 'rental',\r\n 'rented',\r\n 'renter',\r\n 'reoccupy',\r\n 'reoccur',\r\n 'reopen',\r\n 'reorder',\r\n 'repackage',\r\n 'repacking',\r\n 'repaint',\r\n 'repair',\r\n 'repave',\r\n 'repaying',\r\n 'repayment',\r\n 'repeal',\r\n 'repeated',\r\n 'repeater',\r\n 'repent',\r\n 'rephrase',\r\n 'replace',\r\n 'replay',\r\n 'replica',\r\n 'reply',\r\n 'reporter',\r\n 'repose',\r\n 'repossess',\r\n 'repost',\r\n 'repressed',\r\n 'reprimand',\r\n 'reprint',\r\n 'reprise',\r\n 'reproach',\r\n 'reprocess',\r\n 'reproduce',\r\n 'reprogram',\r\n 'reps',\r\n 'reptile',\r\n 'reptilian',\r\n 'repugnant',\r\n 'repulsion',\r\n 'repulsive',\r\n 'repurpose',\r\n 'reputable',\r\n 'reputably',\r\n 'request',\r\n 'require',\r\n 'requisite',\r\n 'reroute',\r\n 'rerun',\r\n 'resale',\r\n 'resample',\r\n 'rescuer',\r\n 'reseal',\r\n 'research',\r\n 'reselect',\r\n 'reseller',\r\n 'resemble',\r\n 'resend',\r\n 'resent',\r\n 'reset',\r\n 'reshape',\r\n 'reshoot',\r\n 'reshuffle',\r\n 'residence',\r\n 'residency',\r\n 'resident',\r\n 'residual',\r\n 'residue',\r\n 'resigned',\r\n 'resilient',\r\n 'resistant',\r\n 'resisting',\r\n 'resize',\r\n 'resolute',\r\n 'resolved',\r\n 'resonant',\r\n 'resonate',\r\n 'resort',\r\n 'resource',\r\n 'respect',\r\n 'resubmit',\r\n 'result',\r\n 'resume',\r\n 'resupply',\r\n 'resurface',\r\n 'resurrect',\r\n 'retail',\r\n 'retainer',\r\n 'retaining',\r\n 'retake',\r\n 'retaliate',\r\n 'retention',\r\n 'rethink',\r\n 'retinal',\r\n 'retired',\r\n 'retiree',\r\n 'retiring',\r\n 'retold',\r\n 'retool',\r\n 'retorted',\r\n 'retouch',\r\n 'retrace',\r\n 'retract',\r\n 'retrain',\r\n 'retread',\r\n 'retreat',\r\n 'retrial',\r\n 'retrieval',\r\n 'retriever',\r\n 'retry',\r\n 'return',\r\n 'retying',\r\n 'retype',\r\n 'reunion',\r\n 'reunite',\r\n 'reusable',\r\n 'reuse',\r\n 'reveal',\r\n 'reveler',\r\n 'revenge',\r\n 'revenue',\r\n 'reverb',\r\n 'revered',\r\n 'reverence',\r\n 'reverend',\r\n 'reversal',\r\n 'reverse',\r\n 'reversing',\r\n 'reversion',\r\n 'revert',\r\n 'revisable',\r\n 'revise',\r\n 'revision',\r\n 'revisit',\r\n 'revivable',\r\n 'revival',\r\n 'reviver',\r\n 'reviving',\r\n 'revocable',\r\n 'revoke',\r\n 'revolt',\r\n 'revolver',\r\n 'revolving',\r\n 'reward',\r\n 'rewash',\r\n 'rewind',\r\n 'rewire',\r\n 'reword',\r\n 'rework',\r\n 'rewrap',\r\n 'rewrite',\r\n 'rhyme',\r\n 'ribbon',\r\n 'ribcage',\r\n 'rice',\r\n 'riches',\r\n 'richly',\r\n 'richness',\r\n 'rickety',\r\n 'ricotta',\r\n 'riddance',\r\n 'ridden',\r\n 'ride',\r\n 'riding',\r\n 'rifling',\r\n 'rift',\r\n 'rigging',\r\n 'rigid',\r\n 'rigor',\r\n 'rimless',\r\n 'rimmed',\r\n 'rind',\r\n 'rink',\r\n 'rinse',\r\n 'rinsing',\r\n 'riot',\r\n 'ripcord',\r\n 'ripeness',\r\n 'ripening',\r\n 'ripping',\r\n 'ripple',\r\n 'rippling',\r\n 'riptide',\r\n 'rise',\r\n 'rising',\r\n 'risk',\r\n 'risotto',\r\n 'ritalin',\r\n 'ritzy',\r\n 'rival',\r\n 'riverbank',\r\n 'riverbed',\r\n 'riverboat',\r\n 'riverside',\r\n 'riveter',\r\n 'riveting',\r\n 'roamer',\r\n 'roaming',\r\n 'roast',\r\n 'robbing',\r\n 'robe',\r\n 'robin',\r\n 'robotics',\r\n 'robust',\r\n 'rockband',\r\n 'rocker',\r\n 'rocket',\r\n 'rockfish',\r\n 'rockiness',\r\n 'rocking',\r\n 'rocklike',\r\n 'rockslide',\r\n 'rockstar',\r\n 'rocky',\r\n 'rogue',\r\n 'roman',\r\n 'romp',\r\n 'rope',\r\n 'roping',\r\n 'roster',\r\n 'rosy',\r\n 'rotten',\r\n 'rotting',\r\n 'rotunda',\r\n 'roulette',\r\n 'rounding',\r\n 'roundish',\r\n 'roundness',\r\n 'roundup',\r\n 'roundworm',\r\n 'routine',\r\n 'routing',\r\n 'rover',\r\n 'roving',\r\n 'royal',\r\n 'rubbed',\r\n 'rubber',\r\n 'rubbing',\r\n 'rubble',\r\n 'rubdown',\r\n 'ruby',\r\n 'ruckus',\r\n 'rudder',\r\n 'rug',\r\n 'ruined',\r\n 'rule',\r\n 'rumble',\r\n 'rumbling',\r\n 'rummage',\r\n 'rumor',\r\n 'runaround',\r\n 'rundown',\r\n 'runner',\r\n 'running',\r\n 'runny',\r\n 'runt',\r\n 'runway',\r\n 'rupture',\r\n 'rural',\r\n 'ruse',\r\n 'rush',\r\n 'rust',\r\n 'rut',\r\n 'sabbath',\r\n 'sabotage',\r\n 'sacrament',\r\n 'sacred',\r\n 'sacrifice',\r\n 'sadden',\r\n 'saddlebag',\r\n 'saddled',\r\n 'saddling',\r\n 'sadly',\r\n 'sadness',\r\n 'safari',\r\n 'safeguard',\r\n 'safehouse',\r\n 'safely',\r\n 'safeness',\r\n 'saffron',\r\n 'saga',\r\n 'sage',\r\n 'sagging',\r\n 'saggy',\r\n 'said',\r\n 'saint',\r\n 'sake',\r\n 'salad',\r\n 'salami',\r\n 'salaried',\r\n 'salary',\r\n 'saline',\r\n 'salon',\r\n 'saloon',\r\n 'salsa',\r\n 'salt',\r\n 'salutary',\r\n 'salute',\r\n 'salvage',\r\n 'salvaging',\r\n 'salvation',\r\n 'same',\r\n 'sample',\r\n 'sampling',\r\n 'sanction',\r\n 'sanctity',\r\n 'sanctuary',\r\n 'sandal',\r\n 'sandbag',\r\n 'sandbank',\r\n 'sandbar',\r\n 'sandblast',\r\n 'sandbox',\r\n 'sanded',\r\n 'sandfish',\r\n 'sanding',\r\n 'sandlot',\r\n 'sandpaper',\r\n 'sandpit',\r\n 'sandstone',\r\n 'sandstorm',\r\n 'sandworm',\r\n 'sandy',\r\n 'sanitary',\r\n 'sanitizer',\r\n 'sank',\r\n 'santa',\r\n 'sapling',\r\n 'sappiness',\r\n 'sappy',\r\n 'sarcasm',\r\n 'sarcastic',\r\n 'sardine',\r\n 'sash',\r\n 'sasquatch',\r\n 'sassy',\r\n 'satchel',\r\n 'satiable',\r\n 'satin',\r\n 'satirical',\r\n 'satisfied',\r\n 'satisfy',\r\n 'saturate',\r\n 'saturday',\r\n 'sauciness',\r\n 'saucy',\r\n 'sauna',\r\n 'savage',\r\n 'savanna',\r\n 'saved',\r\n 'savings',\r\n 'savior',\r\n 'savor',\r\n 'saxophone',\r\n 'say',\r\n 'scabbed',\r\n 'scabby',\r\n 'scalded',\r\n 'scalding',\r\n 'scale',\r\n 'scaling',\r\n 'scallion',\r\n 'scallop',\r\n 'scalping',\r\n 'scam',\r\n 'scandal',\r\n 'scanner',\r\n 'scanning',\r\n 'scant',\r\n 'scapegoat',\r\n 'scarce',\r\n 'scarcity',\r\n 'scarecrow',\r\n 'scared',\r\n 'scarf',\r\n 'scarily',\r\n 'scariness',\r\n 'scarring',\r\n 'scary',\r\n 'scavenger',\r\n 'scenic',\r\n 'schedule',\r\n 'schematic',\r\n 'scheme',\r\n 'scheming',\r\n 'schilling',\r\n 'schnapps',\r\n 'scholar',\r\n 'science',\r\n 'scientist',\r\n 'scion',\r\n 'scoff',\r\n 'scolding',\r\n 'scone',\r\n 'scoop',\r\n 'scooter',\r\n 'scope',\r\n 'scorch',\r\n 'scorebook',\r\n 'scorecard',\r\n 'scored',\r\n 'scoreless',\r\n 'scorer',\r\n 'scoring',\r\n 'scorn',\r\n 'scorpion',\r\n 'scotch',\r\n 'scoundrel',\r\n 'scoured',\r\n 'scouring',\r\n 'scouting',\r\n 'scouts',\r\n 'scowling',\r\n 'scrabble',\r\n 'scraggly',\r\n 'scrambled',\r\n 'scrambler',\r\n 'scrap',\r\n 'scratch',\r\n 'scrawny',\r\n 'screen',\r\n 'scribble',\r\n 'scribe',\r\n 'scribing',\r\n 'scrimmage',\r\n 'script',\r\n 'scroll',\r\n 'scrooge',\r\n 'scrounger',\r\n 'scrubbed',\r\n 'scrubber',\r\n 'scruffy',\r\n 'scrunch',\r\n 'scrutiny',\r\n 'scuba',\r\n 'scuff',\r\n 'sculptor',\r\n 'sculpture',\r\n 'scurvy',\r\n 'scuttle',\r\n 'secluded',\r\n 'secluding',\r\n 'seclusion',\r\n 'second',\r\n 'secrecy',\r\n 'secret',\r\n 'sectional',\r\n 'sector',\r\n 'secular',\r\n 'securely',\r\n 'security',\r\n 'sedan',\r\n 'sedate',\r\n 'sedation',\r\n 'sedative',\r\n 'sediment',\r\n 'seduce',\r\n 'seducing',\r\n 'segment',\r\n 'seismic',\r\n 'seizing',\r\n 'seldom',\r\n 'selected',\r\n 'selection',\r\n 'selective',\r\n 'selector',\r\n 'self',\r\n 'seltzer',\r\n 'semantic',\r\n 'semester',\r\n 'semicolon',\r\n 'semifinal',\r\n 'seminar',\r\n 'semisoft',\r\n 'semisweet',\r\n 'senate',\r\n 'senator',\r\n 'send',\r\n 'senior',\r\n 'senorita',\r\n 'sensation',\r\n 'sensitive',\r\n 'sensitize',\r\n 'sensually',\r\n 'sensuous',\r\n 'sepia',\r\n 'september',\r\n 'septic',\r\n 'septum',\r\n 'sequel',\r\n 'sequence',\r\n 'sequester',\r\n 'series',\r\n 'sermon',\r\n 'serotonin',\r\n 'serpent',\r\n 'serrated',\r\n 'serve',\r\n 'service',\r\n 'serving',\r\n 'sesame',\r\n 'sessions',\r\n 'setback',\r\n 'setting',\r\n 'settle',\r\n 'settling',\r\n 'setup',\r\n 'sevenfold',\r\n 'seventeen',\r\n 'seventh',\r\n 'seventy',\r\n 'severity',\r\n 'shabby',\r\n 'shack',\r\n 'shaded',\r\n 'shadily',\r\n 'shadiness',\r\n 'shading',\r\n 'shadow',\r\n 'shady',\r\n 'shaft',\r\n 'shakable',\r\n 'shakily',\r\n 'shakiness',\r\n 'shaking',\r\n 'shaky',\r\n 'shale',\r\n 'shallot',\r\n 'shallow',\r\n 'shame',\r\n 'shampoo',\r\n 'shamrock',\r\n 'shank',\r\n 'shanty',\r\n 'shape',\r\n 'shaping',\r\n 'share',\r\n 'sharpener',\r\n 'sharper',\r\n 'sharpie',\r\n 'sharply',\r\n 'sharpness',\r\n 'shawl',\r\n 'sheath',\r\n 'shed',\r\n 'sheep',\r\n 'sheet',\r\n 'shelf',\r\n 'shell',\r\n 'shelter',\r\n 'shelve',\r\n 'shelving',\r\n 'sherry',\r\n 'shield',\r\n 'shifter',\r\n 'shifting',\r\n 'shiftless',\r\n 'shifty',\r\n 'shimmer',\r\n 'shimmy',\r\n 'shindig',\r\n 'shine',\r\n 'shingle',\r\n 'shininess',\r\n 'shining',\r\n 'shiny',\r\n 'ship',\r\n 'shirt',\r\n 'shivering',\r\n 'shock',\r\n 'shone',\r\n 'shoplift',\r\n 'shopper',\r\n 'shopping',\r\n 'shoptalk',\r\n 'shore',\r\n 'shortage',\r\n 'shortcake',\r\n 'shortcut',\r\n 'shorten',\r\n 'shorter',\r\n 'shorthand',\r\n 'shortlist',\r\n 'shortly',\r\n 'shortness',\r\n 'shorts',\r\n 'shortwave',\r\n 'shorty',\r\n 'shout',\r\n 'shove',\r\n 'showbiz',\r\n 'showcase',\r\n 'showdown',\r\n 'shower',\r\n 'showgirl',\r\n 'showing',\r\n 'showman',\r\n 'shown',\r\n 'showoff',\r\n 'showpiece',\r\n 'showplace',\r\n 'showroom',\r\n 'showy',\r\n 'shrank',\r\n 'shrapnel',\r\n 'shredder',\r\n 'shredding',\r\n 'shrewdly',\r\n 'shriek',\r\n 'shrill',\r\n 'shrimp',\r\n 'shrine',\r\n 'shrink',\r\n 'shrivel',\r\n 'shrouded',\r\n 'shrubbery',\r\n 'shrubs',\r\n 'shrug',\r\n 'shrunk',\r\n 'shucking',\r\n 'shudder',\r\n 'shuffle',\r\n 'shuffling',\r\n 'shun',\r\n 'shush',\r\n 'shut',\r\n 'shy',\r\n 'siamese',\r\n 'siberian',\r\n 'sibling',\r\n 'siding',\r\n 'sierra',\r\n 'siesta',\r\n 'sift',\r\n 'sighing',\r\n 'silenced',\r\n 'silencer',\r\n 'silent',\r\n 'silica',\r\n 'silicon',\r\n 'silk',\r\n 'silliness',\r\n 'silly',\r\n 'silo',\r\n 'silt',\r\n 'silver',\r\n 'similarly',\r\n 'simile',\r\n 'simmering',\r\n 'simple',\r\n 'simplify',\r\n 'simply',\r\n 'sincere',\r\n 'sincerity',\r\n 'singer',\r\n 'singing',\r\n 'single',\r\n 'singular',\r\n 'sinister',\r\n 'sinless',\r\n 'sinner',\r\n 'sinuous',\r\n 'sip',\r\n 'siren',\r\n 'sister',\r\n 'sitcom',\r\n 'sitter',\r\n 'sitting',\r\n 'situated',\r\n 'situation',\r\n 'sixfold',\r\n 'sixteen',\r\n 'sixth',\r\n 'sixties',\r\n 'sixtieth',\r\n 'sixtyfold',\r\n 'sizable',\r\n 'sizably',\r\n 'size',\r\n 'sizing',\r\n 'sizzle',\r\n 'sizzling',\r\n 'skater',\r\n 'skating',\r\n 'skedaddle',\r\n 'skeletal',\r\n 'skeleton',\r\n 'skeptic',\r\n 'sketch',\r\n 'skewed',\r\n 'skewer',\r\n 'skid',\r\n 'skied',\r\n 'skier',\r\n 'skies',\r\n 'skiing',\r\n 'skilled',\r\n 'skillet',\r\n 'skillful',\r\n 'skimmed',\r\n 'skimmer',\r\n 'skimming',\r\n 'skimpily',\r\n 'skincare',\r\n 'skinhead',\r\n 'skinless',\r\n 'skinning',\r\n 'skinny',\r\n 'skintight',\r\n 'skipper',\r\n 'skipping',\r\n 'skirmish',\r\n 'skirt',\r\n 'skittle',\r\n 'skydiver',\r\n 'skylight',\r\n 'skyline',\r\n 'skype',\r\n 'skyrocket',\r\n 'skyward',\r\n 'slab',\r\n 'slacked',\r\n 'slacker',\r\n 'slacking',\r\n 'slackness',\r\n 'slacks',\r\n 'slain',\r\n 'slam',\r\n 'slander',\r\n 'slang',\r\n 'slapping',\r\n 'slapstick',\r\n 'slashed',\r\n 'slashing',\r\n 'slate',\r\n 'slather',\r\n 'slaw',\r\n 'sled',\r\n 'sleek',\r\n 'sleep',\r\n 'sleet',\r\n 'sleeve',\r\n 'slept',\r\n 'sliceable',\r\n 'sliced',\r\n 'slicer',\r\n 'slicing',\r\n 'slick',\r\n 'slider',\r\n 'slideshow',\r\n 'sliding',\r\n 'slighted',\r\n 'slighting',\r\n 'slightly',\r\n 'slimness',\r\n 'slimy',\r\n 'slinging',\r\n 'slingshot',\r\n 'slinky',\r\n 'slip',\r\n 'slit',\r\n 'sliver',\r\n 'slobbery',\r\n 'slogan',\r\n 'sloped',\r\n 'sloping',\r\n 'sloppily',\r\n 'sloppy',\r\n 'slot',\r\n 'slouching',\r\n 'slouchy',\r\n 'sludge',\r\n 'slug',\r\n 'slum',\r\n 'slurp',\r\n 'slush',\r\n 'sly',\r\n 'small',\r\n 'smartly',\r\n 'smartness',\r\n 'smasher',\r\n 'smashing',\r\n 'smashup',\r\n 'smell',\r\n 'smelting',\r\n 'smile',\r\n 'smilingly',\r\n 'smirk',\r\n 'smite',\r\n 'smith',\r\n 'smitten',\r\n 'smock',\r\n 'smog',\r\n 'smoked',\r\n 'smokeless',\r\n 'smokiness',\r\n 'smoking',\r\n 'smoky',\r\n 'smolder',\r\n 'smooth',\r\n 'smother',\r\n 'smudge',\r\n 'smudgy',\r\n 'smuggler',\r\n 'smuggling',\r\n 'smugly',\r\n 'smugness',\r\n 'snack',\r\n 'snagged',\r\n 'snaking',\r\n 'snap',\r\n 'snare',\r\n 'snarl',\r\n 'snazzy',\r\n 'sneak',\r\n 'sneer',\r\n 'sneeze',\r\n 'sneezing',\r\n 'snide',\r\n 'sniff',\r\n 'snippet',\r\n 'snipping',\r\n 'snitch',\r\n 'snooper',\r\n 'snooze',\r\n 'snore',\r\n 'snoring',\r\n 'snorkel',\r\n 'snort',\r\n 'snout',\r\n 'snowbird',\r\n 'snowboard',\r\n 'snowbound',\r\n 'snowcap',\r\n 'snowdrift',\r\n 'snowdrop',\r\n 'snowfall',\r\n 'snowfield',\r\n 'snowflake',\r\n 'snowiness',\r\n 'snowless',\r\n 'snowman',\r\n 'snowplow',\r\n 'snowshoe',\r\n 'snowstorm',\r\n 'snowsuit',\r\n 'snowy',\r\n 'snub',\r\n 'snuff',\r\n 'snuggle',\r\n 'snugly',\r\n 'snugness',\r\n 'speak',\r\n 'spearfish',\r\n 'spearhead',\r\n 'spearman',\r\n 'spearmint',\r\n 'species',\r\n 'specimen',\r\n 'specked',\r\n 'speckled',\r\n 'specks',\r\n 'spectacle',\r\n 'spectator',\r\n 'spectrum',\r\n 'speculate',\r\n 'speech',\r\n 'speed',\r\n 'spellbind',\r\n 'speller',\r\n 'spelling',\r\n 'spendable',\r\n 'spender',\r\n 'spending',\r\n 'spent',\r\n 'spew',\r\n 'sphere',\r\n 'spherical',\r\n 'sphinx',\r\n 'spider',\r\n 'spied',\r\n 'spiffy',\r\n 'spill',\r\n 'spilt',\r\n 'spinach',\r\n 'spinal',\r\n 'spindle',\r\n 'spinner',\r\n 'spinning',\r\n 'spinout',\r\n 'spinster',\r\n 'spiny',\r\n 'spiral',\r\n 'spirited',\r\n 'spiritism',\r\n 'spirits',\r\n 'spiritual',\r\n 'splashed',\r\n 'splashing',\r\n 'splashy',\r\n 'splatter',\r\n 'spleen',\r\n 'splendid',\r\n 'splendor',\r\n 'splice',\r\n 'splicing',\r\n 'splinter',\r\n 'splotchy',\r\n 'splurge',\r\n 'spoilage',\r\n 'spoiled',\r\n 'spoiler',\r\n 'spoiling',\r\n 'spoils',\r\n 'spoken',\r\n 'spokesman',\r\n 'sponge',\r\n 'spongy',\r\n 'sponsor',\r\n 'spoof',\r\n 'spookily',\r\n 'spooky',\r\n 'spool',\r\n 'spoon',\r\n 'spore',\r\n 'sporting',\r\n 'sports',\r\n 'sporty',\r\n 'spotless',\r\n 'spotlight',\r\n 'spotted',\r\n 'spotter',\r\n 'spotting',\r\n 'spotty',\r\n 'spousal',\r\n 'spouse',\r\n 'spout',\r\n 'sprain',\r\n 'sprang',\r\n 'sprawl',\r\n 'spray',\r\n 'spree',\r\n 'sprig',\r\n 'spring',\r\n 'sprinkled',\r\n 'sprinkler',\r\n 'sprint',\r\n 'sprite',\r\n 'sprout',\r\n 'spruce',\r\n 'sprung',\r\n 'spry',\r\n 'spud',\r\n 'spur',\r\n 'sputter',\r\n 'spyglass',\r\n 'squabble',\r\n 'squad',\r\n 'squall',\r\n 'squander',\r\n 'squash',\r\n 'squatted',\r\n 'squatter',\r\n 'squatting',\r\n 'squeak',\r\n 'squealer',\r\n 'squealing',\r\n 'squeamish',\r\n 'squeegee',\r\n 'squeeze',\r\n 'squeezing',\r\n 'squid',\r\n 'squiggle',\r\n 'squiggly',\r\n 'squint',\r\n 'squire',\r\n 'squirt',\r\n 'squishier',\r\n 'squishy',\r\n 'stability',\r\n 'stabilize',\r\n 'stable',\r\n 'stack',\r\n 'stadium',\r\n 'staff',\r\n 'stage',\r\n 'staging',\r\n 'stagnant',\r\n 'stagnate',\r\n 'stainable',\r\n 'stained',\r\n 'staining',\r\n 'stainless',\r\n 'stalemate',\r\n 'staleness',\r\n 'stalling',\r\n 'stallion',\r\n 'stamina',\r\n 'stammer',\r\n 'stamp',\r\n 'stand',\r\n 'stank',\r\n 'staple',\r\n 'stapling',\r\n 'starboard',\r\n 'starch',\r\n 'stardom',\r\n 'stardust',\r\n 'starfish',\r\n 'stargazer',\r\n 'staring',\r\n 'stark',\r\n 'starless',\r\n 'starlet',\r\n 'starlight',\r\n 'starlit',\r\n 'starring',\r\n 'starry',\r\n 'starship',\r\n 'starter',\r\n 'starting',\r\n 'startle',\r\n 'startling',\r\n 'startup',\r\n 'starved',\r\n 'starving',\r\n 'stash',\r\n 'state',\r\n 'static',\r\n 'statistic',\r\n 'statue',\r\n 'stature',\r\n 'status',\r\n 'statute',\r\n 'statutory',\r\n 'staunch',\r\n 'stays',\r\n 'steadfast',\r\n 'steadier',\r\n 'steadily',\r\n 'steadying',\r\n 'steam',\r\n 'steed',\r\n 'steep',\r\n 'steerable',\r\n 'steering',\r\n 'steersman',\r\n 'stegosaur',\r\n 'stellar',\r\n 'stem',\r\n 'stench',\r\n 'stencil',\r\n 'step',\r\n 'stereo',\r\n 'sterile',\r\n 'sterility',\r\n 'sterilize',\r\n 'sterling',\r\n 'sternness',\r\n 'sternum',\r\n 'stew',\r\n 'stick',\r\n 'stiffen',\r\n 'stiffly',\r\n 'stiffness',\r\n 'stifle',\r\n 'stifling',\r\n 'stillness',\r\n 'stilt',\r\n 'stimulant',\r\n 'stimulate',\r\n 'stimuli',\r\n 'stimulus',\r\n 'stinger',\r\n 'stingily',\r\n 'stinging',\r\n 'stingray',\r\n 'stingy',\r\n 'stinking',\r\n 'stinky',\r\n 'stipend',\r\n 'stipulate',\r\n 'stir',\r\n 'stitch',\r\n 'stock',\r\n 'stoic',\r\n 'stoke',\r\n 'stole',\r\n 'stomp',\r\n 'stonewall',\r\n 'stoneware',\r\n 'stonework',\r\n 'stoning',\r\n 'stony',\r\n 'stood',\r\n 'stooge',\r\n 'stool',\r\n 'stoop',\r\n 'stoplight',\r\n 'stoppable',\r\n 'stoppage',\r\n 'stopped',\r\n 'stopper',\r\n 'stopping',\r\n 'stopwatch',\r\n 'storable',\r\n 'storage',\r\n 'storeroom',\r\n 'storewide',\r\n 'storm',\r\n 'stout',\r\n 'stove',\r\n 'stowaway',\r\n 'stowing',\r\n 'straddle',\r\n 'straggler',\r\n 'strained',\r\n 'strainer',\r\n 'straining',\r\n 'strangely',\r\n 'stranger',\r\n 'strangle',\r\n 'strategic',\r\n 'strategy',\r\n 'stratus',\r\n 'straw',\r\n 'stray',\r\n 'streak',\r\n 'stream',\r\n 'street',\r\n 'strength',\r\n 'strenuous',\r\n 'strep',\r\n 'stress',\r\n 'stretch',\r\n 'strewn',\r\n 'stricken',\r\n 'strict',\r\n 'stride',\r\n 'strife',\r\n 'strike',\r\n 'striking',\r\n 'strive',\r\n 'striving',\r\n 'strobe',\r\n 'strode',\r\n 'stroller',\r\n 'strongbox',\r\n 'strongly',\r\n 'strongman',\r\n 'struck',\r\n 'structure',\r\n 'strudel',\r\n 'struggle',\r\n 'strum',\r\n 'strung',\r\n 'strut',\r\n 'stubbed',\r\n 'stubble',\r\n 'stubbly',\r\n 'stubborn',\r\n 'stucco',\r\n 'stuck',\r\n 'student',\r\n 'studied',\r\n 'studio',\r\n 'study',\r\n 'stuffed',\r\n 'stuffing',\r\n 'stuffy',\r\n 'stumble',\r\n 'stumbling',\r\n 'stump',\r\n 'stung',\r\n 'stunned',\r\n 'stunner',\r\n 'stunning',\r\n 'stunt',\r\n 'stupor',\r\n 'sturdily',\r\n 'sturdy',\r\n 'styling',\r\n 'stylishly',\r\n 'stylist',\r\n 'stylized',\r\n 'stylus',\r\n 'suave',\r\n 'subarctic',\r\n 'subatomic',\r\n 'subdivide',\r\n 'subdued',\r\n 'subduing',\r\n 'subfloor',\r\n 'subgroup',\r\n 'subheader',\r\n 'subject',\r\n 'sublease',\r\n 'sublet',\r\n 'sublevel',\r\n 'sublime',\r\n 'submarine',\r\n 'submerge',\r\n 'submersed',\r\n 'submitter',\r\n 'subpanel',\r\n 'subpar',\r\n 'subplot',\r\n 'subprime',\r\n 'subscribe',\r\n 'subscript',\r\n 'subsector',\r\n 'subside',\r\n 'subsiding',\r\n 'subsidize',\r\n 'subsidy',\r\n 'subsoil',\r\n 'subsonic',\r\n 'substance',\r\n 'subsystem',\r\n 'subtext',\r\n 'subtitle',\r\n 'subtly',\r\n 'subtotal',\r\n 'subtract',\r\n 'subtype',\r\n 'suburb',\r\n 'subway',\r\n 'subwoofer',\r\n 'subzero',\r\n 'succulent',\r\n 'such',\r\n 'suction',\r\n 'sudden',\r\n 'sudoku',\r\n 'suds',\r\n 'sufferer',\r\n 'suffering',\r\n 'suffice',\r\n 'suffix',\r\n 'suffocate',\r\n 'suffrage',\r\n 'sugar',\r\n 'suggest',\r\n 'suing',\r\n 'suitable',\r\n 'suitably',\r\n 'suitcase',\r\n 'suitor',\r\n 'sulfate',\r\n 'sulfide',\r\n 'sulfite',\r\n 'sulfur',\r\n 'sulk',\r\n 'sullen',\r\n 'sulphate',\r\n 'sulphuric',\r\n 'sultry',\r\n 'superbowl',\r\n 'superglue',\r\n 'superhero',\r\n 'superior',\r\n 'superjet',\r\n 'superman',\r\n 'supermom',\r\n 'supernova',\r\n 'supervise',\r\n 'supper',\r\n 'supplier',\r\n 'supply',\r\n 'support',\r\n 'supremacy',\r\n 'supreme',\r\n 'surcharge',\r\n 'surely',\r\n 'sureness',\r\n 'surface',\r\n 'surfacing',\r\n 'surfboard',\r\n 'surfer',\r\n 'surgery',\r\n 'surgical',\r\n 'surging',\r\n 'surname',\r\n 'surpass',\r\n 'surplus',\r\n 'surprise',\r\n 'surreal',\r\n 'surrender',\r\n 'surrogate',\r\n 'surround',\r\n 'survey',\r\n 'survival',\r\n 'survive',\r\n 'surviving',\r\n 'survivor',\r\n 'sushi',\r\n 'suspect',\r\n 'suspend',\r\n 'suspense',\r\n 'sustained',\r\n 'sustainer',\r\n 'swab',\r\n 'swaddling',\r\n 'swagger',\r\n 'swampland',\r\n 'swan',\r\n 'swapping',\r\n 'swarm',\r\n 'sway',\r\n 'swear',\r\n 'sweat',\r\n 'sweep',\r\n 'swell',\r\n 'swept',\r\n 'swerve',\r\n 'swifter',\r\n 'swiftly',\r\n 'swiftness',\r\n 'swimmable',\r\n 'swimmer',\r\n 'swimming',\r\n 'swimsuit',\r\n 'swimwear',\r\n 'swinger',\r\n 'swinging',\r\n 'swipe',\r\n 'swirl',\r\n 'switch',\r\n 'swivel',\r\n 'swizzle',\r\n 'swooned',\r\n 'swoop',\r\n 'swoosh',\r\n 'swore',\r\n 'sworn',\r\n 'swung',\r\n 'sycamore',\r\n 'sympathy',\r\n 'symphonic',\r\n 'symphony',\r\n 'symptom',\r\n 'synapse',\r\n 'syndrome',\r\n 'synergy',\r\n 'synopses',\r\n 'synopsis',\r\n 'synthesis',\r\n 'synthetic',\r\n 'syrup',\r\n 'system',\r\n 't-shirt',\r\n 'tabasco',\r\n 'tabby',\r\n 'tableful',\r\n 'tables',\r\n 'tablet',\r\n 'tableware',\r\n 'tabloid',\r\n 'tackiness',\r\n 'tacking',\r\n 'tackle',\r\n 'tackling',\r\n 'tacky',\r\n 'taco',\r\n 'tactful',\r\n 'tactical',\r\n 'tactics',\r\n 'tactile',\r\n 'tactless',\r\n 'tadpole',\r\n 'taekwondo',\r\n 'tag',\r\n 'tainted',\r\n 'take',\r\n 'taking',\r\n 'talcum',\r\n 'talisman',\r\n 'tall',\r\n 'talon',\r\n 'tamale',\r\n 'tameness',\r\n 'tamer',\r\n 'tamper',\r\n 'tank',\r\n 'tanned',\r\n 'tannery',\r\n 'tanning',\r\n 'tantrum',\r\n 'tapeless',\r\n 'tapered',\r\n 'tapering',\r\n 'tapestry',\r\n 'tapioca',\r\n 'tapping',\r\n 'taps',\r\n 'tarantula',\r\n 'target',\r\n 'tarmac',\r\n 'tarnish',\r\n 'tarot',\r\n 'tartar',\r\n 'tartly',\r\n 'tartness',\r\n 'task',\r\n 'tassel',\r\n 'taste',\r\n 'tastiness',\r\n 'tasting',\r\n 'tasty',\r\n 'tattered',\r\n 'tattle',\r\n 'tattling',\r\n 'tattoo',\r\n 'taunt',\r\n 'tavern',\r\n 'thank',\r\n 'that',\r\n 'thaw',\r\n 'theater',\r\n 'theatrics',\r\n 'thee',\r\n 'theft',\r\n 'theme',\r\n 'theology',\r\n 'theorize',\r\n 'thermal',\r\n 'thermos',\r\n 'thesaurus',\r\n 'these',\r\n 'thesis',\r\n 'thespian',\r\n 'thicken',\r\n 'thicket',\r\n 'thickness',\r\n 'thieving',\r\n 'thievish',\r\n 'thigh',\r\n 'thimble',\r\n 'thing',\r\n 'think',\r\n 'thinly',\r\n 'thinner',\r\n 'thinness',\r\n 'thinning',\r\n 'thirstily',\r\n 'thirsting',\r\n 'thirsty',\r\n 'thirteen',\r\n 'thirty',\r\n 'thong',\r\n 'thorn',\r\n 'those',\r\n 'thousand',\r\n 'thrash',\r\n 'thread',\r\n 'threaten',\r\n 'threefold',\r\n 'thrift',\r\n 'thrill',\r\n 'thrive',\r\n 'thriving',\r\n 'throat',\r\n 'throbbing',\r\n 'throng',\r\n 'throttle',\r\n 'throwaway',\r\n 'throwback',\r\n 'thrower',\r\n 'throwing',\r\n 'thud',\r\n 'thumb',\r\n 'thumping',\r\n 'thursday',\r\n 'thus',\r\n 'thwarting',\r\n 'thyself',\r\n 'tiara',\r\n 'tibia',\r\n 'tidal',\r\n 'tidbit',\r\n 'tidiness',\r\n 'tidings',\r\n 'tidy',\r\n 'tiger',\r\n 'tighten',\r\n 'tightly',\r\n 'tightness',\r\n 'tightrope',\r\n 'tightwad',\r\n 'tigress',\r\n 'tile',\r\n 'tiling',\r\n 'till',\r\n 'tilt',\r\n 'timid',\r\n 'timing',\r\n 'timothy',\r\n 'tinderbox',\r\n 'tinfoil',\r\n 'tingle',\r\n 'tingling',\r\n 'tingly',\r\n 'tinker',\r\n 'tinkling',\r\n 'tinsel',\r\n 'tinsmith',\r\n 'tint',\r\n 'tinwork',\r\n 'tiny',\r\n 'tipoff',\r\n 'tipped',\r\n 'tipper',\r\n 'tipping',\r\n 'tiptoeing',\r\n 'tiptop',\r\n 'tiring',\r\n 'tissue',\r\n 'trace',\r\n 'tracing',\r\n 'track',\r\n 'traction',\r\n 'tractor',\r\n 'trade',\r\n 'trading',\r\n 'tradition',\r\n 'traffic',\r\n 'tragedy',\r\n 'trailing',\r\n 'trailside',\r\n 'train',\r\n 'traitor',\r\n 'trance',\r\n 'tranquil',\r\n 'transfer',\r\n 'transform',\r\n 'translate',\r\n 'transpire',\r\n 'transport',\r\n 'transpose',\r\n 'trapdoor',\r\n 'trapeze',\r\n 'trapezoid',\r\n 'trapped',\r\n 'trapper',\r\n 'trapping',\r\n 'traps',\r\n 'trash',\r\n 'travel',\r\n 'traverse',\r\n 'travesty',\r\n 'tray',\r\n 'treachery',\r\n 'treading',\r\n 'treadmill',\r\n 'treason',\r\n 'treat',\r\n 'treble',\r\n 'tree',\r\n 'trekker',\r\n 'tremble',\r\n 'trembling',\r\n 'tremor',\r\n 'trench',\r\n 'trend',\r\n 'trespass',\r\n 'triage',\r\n 'trial',\r\n 'triangle',\r\n 'tribesman',\r\n 'tribunal',\r\n 'tribune',\r\n 'tributary',\r\n 'tribute',\r\n 'triceps',\r\n 'trickery',\r\n 'trickily',\r\n 'tricking',\r\n 'trickle',\r\n 'trickster',\r\n 'tricky',\r\n 'tricolor',\r\n 'tricycle',\r\n 'trident',\r\n 'tried',\r\n 'trifle',\r\n 'trifocals',\r\n 'trillion',\r\n 'trilogy',\r\n 'trimester',\r\n 'trimmer',\r\n 'trimming',\r\n 'trimness',\r\n 'trinity',\r\n 'trio',\r\n 'tripod',\r\n 'tripping',\r\n 'triumph',\r\n 'trivial',\r\n 'trodden',\r\n 'trolling',\r\n 'trombone',\r\n 'trophy',\r\n 'tropical',\r\n 'tropics',\r\n 'trouble',\r\n 'troubling',\r\n 'trough',\r\n 'trousers',\r\n 'trout',\r\n 'trowel',\r\n 'truce',\r\n 'truck',\r\n 'truffle',\r\n 'trump',\r\n 'trunks',\r\n 'trustable',\r\n 'trustee',\r\n 'trustful',\r\n 'trusting',\r\n 'trustless',\r\n 'truth',\r\n 'try',\r\n 'tubby',\r\n 'tubeless',\r\n 'tubular',\r\n 'tucking',\r\n 'tuesday',\r\n 'tug',\r\n 'tuition',\r\n 'tulip',\r\n 'tumble',\r\n 'tumbling',\r\n 'tummy',\r\n 'turban',\r\n 'turbine',\r\n 'turbofan',\r\n 'turbojet',\r\n 'turbulent',\r\n 'turf',\r\n 'turkey',\r\n 'turmoil',\r\n 'turret',\r\n 'turtle',\r\n 'tusk',\r\n 'tutor',\r\n 'tutu',\r\n 'tux',\r\n 'tweak',\r\n 'tweed',\r\n 'tweet',\r\n 'tweezers',\r\n 'twelve',\r\n 'twentieth',\r\n 'twenty',\r\n 'twerp',\r\n 'twice',\r\n 'twiddle',\r\n 'twiddling',\r\n 'twig',\r\n 'twilight',\r\n 'twine',\r\n 'twins',\r\n 'twirl',\r\n 'twistable',\r\n 'twisted',\r\n 'twister',\r\n 'twisting',\r\n 'twisty',\r\n 'twitch',\r\n 'twitter',\r\n 'tycoon',\r\n 'tying',\r\n 'tyke',\r\n 'udder',\r\n 'ultimate',\r\n 'ultimatum',\r\n 'ultra',\r\n 'umbilical',\r\n 'umbrella',\r\n 'umpire',\r\n 'unabashed',\r\n 'unable',\r\n 'unadorned',\r\n 'unadvised',\r\n 'unafraid',\r\n 'unaired',\r\n 'unaligned',\r\n 'unaltered',\r\n 'unarmored',\r\n 'unashamed',\r\n 'unaudited',\r\n 'unawake',\r\n 'unaware',\r\n 'unbaked',\r\n 'unbalance',\r\n 'unbeaten',\r\n 'unbend',\r\n 'unbent',\r\n 'unbiased',\r\n 'unbitten',\r\n 'unblended',\r\n 'unblessed',\r\n 'unblock',\r\n 'unbolted',\r\n 'unbounded',\r\n 'unboxed',\r\n 'unbraided',\r\n 'unbridle',\r\n 'unbroken',\r\n 'unbuckled',\r\n 'unbundle',\r\n 'unburned',\r\n 'unbutton',\r\n 'uncanny',\r\n 'uncapped',\r\n 'uncaring',\r\n 'uncertain',\r\n 'unchain',\r\n 'unchanged',\r\n 'uncharted',\r\n 'uncheck',\r\n 'uncivil',\r\n 'unclad',\r\n 'unclaimed',\r\n 'unclamped',\r\n 'unclasp',\r\n 'uncle',\r\n 'unclip',\r\n 'uncloak',\r\n 'unclog',\r\n 'unclothed',\r\n 'uncoated',\r\n 'uncoiled',\r\n 'uncolored',\r\n 'uncombed',\r\n 'uncommon',\r\n 'uncooked',\r\n 'uncork',\r\n 'uncorrupt',\r\n 'uncounted',\r\n 'uncouple',\r\n 'uncouth',\r\n 'uncover',\r\n 'uncross',\r\n 'uncrown',\r\n 'uncrushed',\r\n 'uncured',\r\n 'uncurious',\r\n 'uncurled',\r\n 'uncut',\r\n 'undamaged',\r\n 'undated',\r\n 'undaunted',\r\n 'undead',\r\n 'undecided',\r\n 'undefined',\r\n 'underage',\r\n 'underarm',\r\n 'undercoat',\r\n 'undercook',\r\n 'undercut',\r\n 'underdog',\r\n 'underdone',\r\n 'underfed',\r\n 'underfeed',\r\n 'underfoot',\r\n 'undergo',\r\n 'undergrad',\r\n 'underhand',\r\n 'underline',\r\n 'underling',\r\n 'undermine',\r\n 'undermost',\r\n 'underpaid',\r\n 'underpass',\r\n 'underpay',\r\n 'underrate',\r\n 'undertake',\r\n 'undertone',\r\n 'undertook',\r\n 'undertow',\r\n 'underuse',\r\n 'underwear',\r\n 'underwent',\r\n 'underwire',\r\n 'undesired',\r\n 'undiluted',\r\n 'undivided',\r\n 'undocked',\r\n 'undoing',\r\n 'undone',\r\n 'undrafted',\r\n 'undress',\r\n 'undrilled',\r\n 'undusted',\r\n 'undying',\r\n 'unearned',\r\n 'unearth',\r\n 'unease',\r\n 'uneasily',\r\n 'uneasy',\r\n 'uneatable',\r\n 'uneaten',\r\n 'unedited',\r\n 'unelected',\r\n 'unending',\r\n 'unengaged',\r\n 'unenvied',\r\n 'unequal',\r\n 'unethical',\r\n 'uneven',\r\n 'unexpired',\r\n 'unexposed',\r\n 'unfailing',\r\n 'unfair',\r\n 'unfasten',\r\n 'unfazed',\r\n 'unfeeling',\r\n 'unfiled',\r\n 'unfilled',\r\n 'unfitted',\r\n 'unfitting',\r\n 'unfixable',\r\n 'unfixed',\r\n 'unflawed',\r\n 'unfocused',\r\n 'unfold',\r\n 'unfounded',\r\n 'unframed',\r\n 'unfreeze',\r\n 'unfrosted',\r\n 'unfrozen',\r\n 'unfunded',\r\n 'unglazed',\r\n 'ungloved',\r\n 'unglue',\r\n 'ungodly',\r\n 'ungraded',\r\n 'ungreased',\r\n 'unguarded',\r\n 'unguided',\r\n 'unhappily',\r\n 'unhappy',\r\n 'unharmed',\r\n 'unhealthy',\r\n 'unheard',\r\n 'unhearing',\r\n 'unheated',\r\n 'unhelpful',\r\n 'unhidden',\r\n 'unhinge',\r\n 'unhitched',\r\n 'unholy',\r\n 'unhook',\r\n 'unicorn',\r\n 'unicycle',\r\n 'unified',\r\n 'unifier',\r\n 'uniformed',\r\n 'uniformly',\r\n 'unify',\r\n 'unimpeded',\r\n 'uninjured',\r\n 'uninstall',\r\n 'uninsured',\r\n 'uninvited',\r\n 'union',\r\n 'uniquely',\r\n 'unisexual',\r\n 'unison',\r\n 'unissued',\r\n 'unit',\r\n 'universal',\r\n 'universe',\r\n 'unjustly',\r\n 'unkempt',\r\n 'unkind',\r\n 'unknotted',\r\n 'unknowing',\r\n 'unknown',\r\n 'unlaced',\r\n 'unlatch',\r\n 'unlawful',\r\n 'unleaded',\r\n 'unlearned',\r\n 'unleash',\r\n 'unless',\r\n 'unleveled',\r\n 'unlighted',\r\n 'unlikable',\r\n 'unlimited',\r\n 'unlined',\r\n 'unlinked',\r\n 'unlisted',\r\n 'unlit',\r\n 'unlivable',\r\n 'unloaded',\r\n 'unloader',\r\n 'unlocked',\r\n 'unlocking',\r\n 'unlovable',\r\n 'unloved',\r\n 'unlovely',\r\n 'unloving',\r\n 'unluckily',\r\n 'unlucky',\r\n 'unmade',\r\n 'unmanaged',\r\n 'unmanned',\r\n 'unmapped',\r\n 'unmarked',\r\n 'unmasked',\r\n 'unmasking',\r\n 'unmatched',\r\n 'unmindful',\r\n 'unmixable',\r\n 'unmixed',\r\n 'unmolded',\r\n 'unmoral',\r\n 'unmovable',\r\n 'unmoved',\r\n 'unmoving',\r\n 'unnamable',\r\n 'unnamed',\r\n 'unnatural',\r\n 'unneeded',\r\n 'unnerve',\r\n 'unnerving',\r\n 'unnoticed',\r\n 'unopened',\r\n 'unopposed',\r\n 'unpack',\r\n 'unpadded',\r\n 'unpaid',\r\n 'unpainted',\r\n 'unpaired',\r\n 'unpaved',\r\n 'unpeeled',\r\n 'unpicked',\r\n 'unpiloted',\r\n 'unpinned',\r\n 'unplanned',\r\n 'unplanted',\r\n 'unpleased',\r\n 'unpledged',\r\n 'unplowed',\r\n 'unplug',\r\n 'unpopular',\r\n 'unproven',\r\n 'unquote',\r\n 'unranked',\r\n 'unrated',\r\n 'unraveled',\r\n 'unreached',\r\n 'unread',\r\n 'unreal',\r\n 'unreeling',\r\n 'unrefined',\r\n 'unrelated',\r\n 'unrented',\r\n 'unrest',\r\n 'unretired',\r\n 'unrevised',\r\n 'unrigged',\r\n 'unripe',\r\n 'unrivaled',\r\n 'unroasted',\r\n 'unrobed',\r\n 'unroll',\r\n 'unruffled',\r\n 'unruly',\r\n 'unrushed',\r\n 'unsaddle',\r\n 'unsafe',\r\n 'unsaid',\r\n 'unsalted',\r\n 'unsaved',\r\n 'unsavory',\r\n 'unscathed',\r\n 'unscented',\r\n 'unscrew',\r\n 'unsealed',\r\n 'unseated',\r\n 'unsecured',\r\n 'unseeing',\r\n 'unseemly',\r\n 'unseen',\r\n 'unselect',\r\n 'unselfish',\r\n 'unsent',\r\n 'unsettled',\r\n 'unshackle',\r\n 'unshaken',\r\n 'unshaved',\r\n 'unshaven',\r\n 'unsheathe',\r\n 'unshipped',\r\n 'unsightly',\r\n 'unsigned',\r\n 'unskilled',\r\n 'unsliced',\r\n 'unsmooth',\r\n 'unsnap',\r\n 'unsocial',\r\n 'unsoiled',\r\n 'unsold',\r\n 'unsolved',\r\n 'unsorted',\r\n 'unspoiled',\r\n 'unspoken',\r\n 'unstable',\r\n 'unstaffed',\r\n 'unstamped',\r\n 'unsteady',\r\n 'unsterile',\r\n 'unstirred',\r\n 'unstitch',\r\n 'unstopped',\r\n 'unstuck',\r\n 'unstuffed',\r\n 'unstylish',\r\n 'unsubtle',\r\n 'unsubtly',\r\n 'unsuited',\r\n 'unsure',\r\n 'unsworn',\r\n 'untagged',\r\n 'untainted',\r\n 'untaken',\r\n 'untamed',\r\n 'untangled',\r\n 'untapped',\r\n 'untaxed',\r\n 'unthawed',\r\n 'unthread',\r\n 'untidy',\r\n 'untie',\r\n 'until',\r\n 'untimed',\r\n 'untimely',\r\n 'untitled',\r\n 'untoasted',\r\n 'untold',\r\n 'untouched',\r\n 'untracked',\r\n 'untrained',\r\n 'untreated',\r\n 'untried',\r\n 'untrimmed',\r\n 'untrue',\r\n 'untruth',\r\n 'unturned',\r\n 'untwist',\r\n 'untying',\r\n 'unusable',\r\n 'unused',\r\n 'unusual',\r\n 'unvalued',\r\n 'unvaried',\r\n 'unvarying',\r\n 'unveiled',\r\n 'unveiling',\r\n 'unvented',\r\n 'unviable',\r\n 'unvisited',\r\n 'unvocal',\r\n 'unwanted',\r\n 'unwarlike',\r\n 'unwary',\r\n 'unwashed',\r\n 'unwatched',\r\n 'unweave',\r\n 'unwed',\r\n 'unwelcome',\r\n 'unwell',\r\n 'unwieldy',\r\n 'unwilling',\r\n 'unwind',\r\n 'unwired',\r\n 'unwitting',\r\n 'unwomanly',\r\n 'unworldly',\r\n 'unworn',\r\n 'unworried',\r\n 'unworthy',\r\n 'unwound',\r\n 'unwoven',\r\n 'unwrapped',\r\n 'unwritten',\r\n 'unzip',\r\n 'upbeat',\r\n 'upchuck',\r\n 'upcoming',\r\n 'upcountry',\r\n 'update',\r\n 'upfront',\r\n 'upgrade',\r\n 'upheaval',\r\n 'upheld',\r\n 'uphill',\r\n 'uphold',\r\n 'uplifted',\r\n 'uplifting',\r\n 'upload',\r\n 'upon',\r\n 'upper',\r\n 'upright',\r\n 'uprising',\r\n 'upriver',\r\n 'uproar',\r\n 'uproot',\r\n 'upscale',\r\n 'upside',\r\n 'upstage',\r\n 'upstairs',\r\n 'upstart',\r\n 'upstate',\r\n 'upstream',\r\n 'upstroke',\r\n 'upswing',\r\n 'uptake',\r\n 'uptight',\r\n 'uptown',\r\n 'upturned',\r\n 'upward',\r\n 'upwind',\r\n 'uranium',\r\n 'urban',\r\n 'urchin',\r\n 'urethane',\r\n 'urgency',\r\n 'urgent',\r\n 'urging',\r\n 'urologist',\r\n 'urology',\r\n 'usable',\r\n 'usage',\r\n 'useable',\r\n 'used',\r\n 'uselessly',\r\n 'user',\r\n 'usher',\r\n 'usual',\r\n 'utensil',\r\n 'utility',\r\n 'utilize',\r\n 'utmost',\r\n 'utopia',\r\n 'utter',\r\n 'vacancy',\r\n 'vacant',\r\n 'vacate',\r\n 'vacation',\r\n 'vagabond',\r\n 'vagrancy',\r\n 'vagrantly',\r\n 'vaguely',\r\n 'vagueness',\r\n 'valiant',\r\n 'valid',\r\n 'valium',\r\n 'valley',\r\n 'valuables',\r\n 'value',\r\n 'vanilla',\r\n 'vanish',\r\n 'vanity',\r\n 'vanquish',\r\n 'vantage',\r\n 'vaporizer',\r\n 'variable',\r\n 'variably',\r\n 'varied',\r\n 'variety',\r\n 'various',\r\n 'varmint',\r\n 'varnish',\r\n 'varsity',\r\n 'varying',\r\n 'vascular',\r\n 'vaseline',\r\n 'vastly',\r\n 'vastness',\r\n 'veal',\r\n 'vegan',\r\n 'veggie',\r\n 'vehicular',\r\n 'velcro',\r\n 'velocity',\r\n 'velvet',\r\n 'vendetta',\r\n 'vending',\r\n 'vendor',\r\n 'veneering',\r\n 'vengeful',\r\n 'venomous',\r\n 'ventricle',\r\n 'venture',\r\n 'venue',\r\n 'venus',\r\n 'verbalize',\r\n 'verbally',\r\n 'verbose',\r\n 'verdict',\r\n 'verify',\r\n 'verse',\r\n 'version',\r\n 'versus',\r\n 'vertebrae',\r\n 'vertical',\r\n 'vertigo',\r\n 'very',\r\n 'vessel',\r\n 'vest',\r\n 'veteran',\r\n 'veto',\r\n 'vexingly',\r\n 'viability',\r\n 'viable',\r\n 'vibes',\r\n 'vice',\r\n 'vicinity',\r\n 'victory',\r\n 'video',\r\n 'viewable',\r\n 'viewer',\r\n 'viewing',\r\n 'viewless',\r\n 'viewpoint',\r\n 'vigorous',\r\n 'village',\r\n 'villain',\r\n 'vindicate',\r\n 'vineyard',\r\n 'vintage',\r\n 'violate',\r\n 'violation',\r\n 'violator',\r\n 'violet',\r\n 'violin',\r\n 'viper',\r\n 'viral',\r\n 'virtual',\r\n 'virtuous',\r\n 'virus',\r\n 'visa',\r\n 'viscosity',\r\n 'viscous',\r\n 'viselike',\r\n 'visible',\r\n 'visibly',\r\n 'vision',\r\n 'visiting',\r\n 'visitor',\r\n 'visor',\r\n 'vista',\r\n 'vitality',\r\n 'vitalize',\r\n 'vitally',\r\n 'vitamins',\r\n 'vivacious',\r\n 'vividly',\r\n 'vividness',\r\n 'vixen',\r\n 'vocalist',\r\n 'vocalize',\r\n 'vocally',\r\n 'vocation',\r\n 'voice',\r\n 'voicing',\r\n 'void',\r\n 'volatile',\r\n 'volley',\r\n 'voltage',\r\n 'volumes',\r\n 'voter',\r\n 'voting',\r\n 'voucher',\r\n 'vowed',\r\n 'vowel',\r\n 'voyage',\r\n 'wackiness',\r\n 'wad',\r\n 'wafer',\r\n 'waffle',\r\n 'waged',\r\n 'wager',\r\n 'wages',\r\n 'waggle',\r\n 'wagon',\r\n 'wake',\r\n 'waking',\r\n 'walk',\r\n 'walmart',\r\n 'walnut',\r\n 'walrus',\r\n 'waltz',\r\n 'wand',\r\n 'wannabe',\r\n 'wanted',\r\n 'wanting',\r\n 'wasabi',\r\n 'washable',\r\n 'washbasin',\r\n 'washboard',\r\n 'washbowl',\r\n 'washcloth',\r\n 'washday',\r\n 'washed',\r\n 'washer',\r\n 'washhouse',\r\n 'washing',\r\n 'washout',\r\n 'washroom',\r\n 'washstand',\r\n 'washtub',\r\n 'wasp',\r\n 'wasting',\r\n 'watch',\r\n 'water',\r\n 'waviness',\r\n 'waving',\r\n 'wavy',\r\n 'whacking',\r\n 'whacky',\r\n 'wham',\r\n 'wharf',\r\n 'wheat',\r\n 'whenever',\r\n 'whiff',\r\n 'whimsical',\r\n 'whinny',\r\n 'whiny',\r\n 'whisking',\r\n 'whoever',\r\n 'whole',\r\n 'whomever',\r\n 'whoopee',\r\n 'whooping',\r\n 'whoops',\r\n 'why',\r\n 'wick',\r\n 'widely',\r\n 'widen',\r\n 'widget',\r\n 'widow',\r\n 'width',\r\n 'wieldable',\r\n 'wielder',\r\n 'wife',\r\n 'wifi',\r\n 'wikipedia',\r\n 'wildcard',\r\n 'wildcat',\r\n 'wilder',\r\n 'wildfire',\r\n 'wildfowl',\r\n 'wildland',\r\n 'wildlife',\r\n 'wildly',\r\n 'wildness',\r\n 'willed',\r\n 'willfully',\r\n 'willing',\r\n 'willow',\r\n 'willpower',\r\n 'wilt',\r\n 'wimp',\r\n 'wince',\r\n 'wincing',\r\n 'wind',\r\n 'wing',\r\n 'winking',\r\n 'winner',\r\n 'winnings',\r\n 'winter',\r\n 'wipe',\r\n 'wired',\r\n 'wireless',\r\n 'wiring',\r\n 'wiry',\r\n 'wisdom',\r\n 'wise',\r\n 'wish',\r\n 'wisplike',\r\n 'wispy',\r\n 'wistful',\r\n 'wizard',\r\n 'wobble',\r\n 'wobbling',\r\n 'wobbly',\r\n 'wok',\r\n 'wolf',\r\n 'wolverine',\r\n 'womanhood',\r\n 'womankind',\r\n 'womanless',\r\n 'womanlike',\r\n 'womanly',\r\n 'womb',\r\n 'woof',\r\n 'wooing',\r\n 'wool',\r\n 'woozy',\r\n 'word',\r\n 'work',\r\n 'worried',\r\n 'worrier',\r\n 'worrisome',\r\n 'worry',\r\n 'worsening',\r\n 'worshiper',\r\n 'worst',\r\n 'wound',\r\n 'woven',\r\n 'wow',\r\n 'wrangle',\r\n 'wrath',\r\n 'wreath',\r\n 'wreckage',\r\n 'wrecker',\r\n 'wrecking',\r\n 'wrench',\r\n 'wriggle',\r\n 'wriggly',\r\n 'wrinkle',\r\n 'wrinkly',\r\n 'wrist',\r\n 'writing',\r\n 'written',\r\n 'wrongdoer',\r\n 'wronged',\r\n 'wrongful',\r\n 'wrongly',\r\n 'wrongness',\r\n 'wrought',\r\n 'xbox',\r\n 'xerox',\r\n 'yahoo',\r\n 'yam',\r\n 'yanking',\r\n 'yapping',\r\n 'yard',\r\n 'yarn',\r\n 'yeah',\r\n 'yearbook',\r\n 'yearling',\r\n 'yearly',\r\n 'yearning',\r\n 'yeast',\r\n 'yelling',\r\n 'yelp',\r\n 'yen',\r\n 'yesterday',\r\n 'yiddish',\r\n 'yield',\r\n 'yin',\r\n 'yippee',\r\n 'yo-yo',\r\n 'yodel',\r\n 'yoga',\r\n 'yogurt',\r\n 'yonder',\r\n 'yoyo',\r\n 'yummy',\r\n 'zap',\r\n 'zealous',\r\n 'zebra',\r\n 'zen',\r\n 'zeppelin',\r\n 'zero',\r\n 'zestfully',\r\n 'zesty',\r\n 'zigzagged',\r\n 'zipfile',\r\n 'zipping',\r\n 'zippy',\r\n 'zips',\r\n 'zit',\r\n 'zodiac',\r\n 'zombie',\r\n 'zone',\r\n 'zoning',\r\n 'zookeeper',\r\n 'zoologist',\r\n 'zoology',\r\n 'zoom',\r\n];\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\r\nimport { NotificationsService } from '../abstractions/notifications.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\r\n baseUrl: string;\r\n webVaultUrl: string;\r\n apiUrl: string;\r\n identityUrl: string;\r\n iconsUrl: string;\r\n notificationsUrl: string;\r\n\r\n constructor(private apiService: ApiService, private storageService: StorageService,\r\n private notificationsService: NotificationsService) { }\r\n\r\n getWebVaultUrl(): string {\r\n if (this.webVaultUrl != null) {\r\n return this.webVaultUrl;\r\n } else if (this.baseUrl) {\r\n return this.baseUrl;\r\n }\r\n return null;\r\n }\r\n\r\n async setUrlsFromStorage(): Promise {\r\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\r\n const urls = urlsObj || {\r\n base: null,\r\n api: null,\r\n identity: null,\r\n icons: null,\r\n notifications: null,\r\n webVault: null,\r\n };\r\n\r\n const envUrls = new EnvironmentUrls();\r\n\r\n if (urls.base) {\r\n this.baseUrl = envUrls.base = urls.base;\r\n this.apiService.setUrls(envUrls);\r\n return;\r\n }\r\n\r\n this.webVaultUrl = urls.webVault;\r\n this.apiUrl = envUrls.api = urls.api;\r\n this.identityUrl = envUrls.identity = urls.identity;\r\n this.iconsUrl = urls.icons;\r\n this.notificationsUrl = urls.notifications;\r\n this.apiService.setUrls(envUrls);\r\n }\r\n\r\n async setUrls(urls: any): Promise {\r\n urls.base = this.formatUrl(urls.base);\r\n urls.webVault = this.formatUrl(urls.webVault);\r\n urls.api = this.formatUrl(urls.api);\r\n urls.identity = this.formatUrl(urls.identity);\r\n urls.icons = this.formatUrl(urls.icons);\r\n urls.notifications = this.formatUrl(urls.notifications);\r\n\r\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\r\n base: urls.base,\r\n api: urls.api,\r\n identity: urls.identity,\r\n webVault: urls.webVault,\r\n icons: urls.icons,\r\n notifications: urls.notifications,\r\n });\r\n\r\n this.baseUrl = urls.base;\r\n this.webVaultUrl = urls.webVault;\r\n this.apiUrl = urls.api;\r\n this.identityUrl = urls.identity;\r\n this.iconsUrl = urls.icons;\r\n this.notificationsUrl = urls.notifications;\r\n\r\n const envUrls = new EnvironmentUrls();\r\n if (this.baseUrl) {\r\n envUrls.base = this.baseUrl;\r\n } else {\r\n envUrls.api = this.apiUrl;\r\n envUrls.identity = this.identityUrl;\r\n }\r\n\r\n this.apiService.setUrls(envUrls);\r\n if (this.notificationsService != null) {\r\n this.notificationsService.init(this);\r\n }\r\n return urls;\r\n }\r\n\r\n private formatUrl(url: string): string {\r\n if (url == null || url === '') {\r\n return null;\r\n }\r\n\r\n url = url.replace(/\\/+$/g, '');\r\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\r\n url = 'https://' + url;\r\n }\r\n\r\n return url.trim();\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\n\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { ServiceUtils } from '../misc/serviceUtils';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n foldersPrefix: 'folders_',\r\n ciphersPrefix: 'ciphers_',\r\n};\r\nconst NestingDelimiter = '/';\r\n\r\nexport class FolderService implements FolderServiceAbstraction {\r\n decryptedFolderCache: FolderView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cipherService: CipherService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\r\n const folder = new Folder();\r\n folder.id = model.id;\r\n folder.name = await this.cryptoService.encrypt(model.name, key);\r\n return folder;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null || !folders.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Folder(folders[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n const response: Folder[] = [];\r\n for (const id in folders) {\r\n if (folders.hasOwnProperty(id)) {\r\n response.push(new Folder(folders[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedFolderCache != null) {\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decFolders: FolderView[] = [];\r\n const promises: Array> = [];\r\n const folders = await this.getAll();\r\n folders.forEach((folder) => {\r\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const noneFolder = new FolderView();\r\n noneFolder.name = this.i18nService.t('noneFolder');\r\n decFolders.push(noneFolder);\r\n\r\n this.decryptedFolderCache = decFolders;\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n async getAllNested(): Promise>> {\r\n const folders = await this.getAllDecrypted();\r\n const nodes: Array> = [];\r\n folders.forEach((f) => {\r\n const folderCopy = new FolderView();\r\n folderCopy.id = f.id;\r\n folderCopy.revisionDate = f.revisionDate;\r\n ServiceUtils.nestedTraverse(nodes, 0, f.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter),\r\n folderCopy, null, NestingDelimiter);\r\n });\r\n return nodes;\r\n }\r\n\r\n async getNested(id: string): Promise> {\r\n const folders = await this.getAllNested();\r\n return ServiceUtils.getTreeNodeObject(folders, id) as TreeNode;\r\n }\r\n\r\n async saveWithServer(folder: Folder): Promise {\r\n const request = new FolderRequest(folder);\r\n\r\n let response: FolderResponse;\r\n if (folder.id == null) {\r\n response = await this.apiService.postFolder(request);\r\n folder.id = response.id;\r\n } else {\r\n response = await this.apiService.putFolder(folder.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new FolderData(response, userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(folder: FolderData | FolderData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n folders = {};\r\n }\r\n\r\n if (folder instanceof FolderData) {\r\n const f = folder as FolderData;\r\n folders[f.id] = f;\r\n } else {\r\n (folder as FolderData[]).forEach((f) => {\r\n folders[f.id] = f;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async replace(folders: { [id: string]: FolderData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.foldersPrefix + userId);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n if (folders[id] == null) {\r\n return;\r\n }\r\n delete folders[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete folders[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n\r\n // Items in a deleted folder are re-assigned to \"No Folder\"\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\r\n if (ciphers != null) {\r\n const updates: CipherData[] = [];\r\n for (const cId in ciphers) {\r\n if (ciphers[cId].folderId === id) {\r\n ciphers[cId].folderId = null;\r\n updates.push(ciphers[cId]);\r\n }\r\n }\r\n if (updates.length > 0) {\r\n this.cipherService.upsert(updates);\r\n }\r\n }\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteFolder(id);\r\n await this.delete(id);\r\n }\r\n}\r\n","import { FolderResponse } from '../response/folderResponse';\r\n\r\nexport class FolderData {\r\n id: string;\r\n userId: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: FolderResponse, userId: string) {\r\n this.userId = userId;\r\n this.name = response.name;\r\n this.id = response.id;\r\n this.revisionDate = response.revisionDate;\r\n }\r\n}\r\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\n\nexport class I18nService implements I18nServiceAbstraction {\n locale: string;\n // First locale is the default (English)\n supportedTranslationLocales: string[] = ['en'];\n translationLocale: string;\n collator: Intl.Collator;\n\n protected inited: boolean;\n protected defaultMessages: any = {};\n protected localeMessages: any = {};\n\n constructor(protected systemLanguage: string, protected localesDirectory: string,\n protected getLocalesJson: (formattedLocale: string) => Promise) {\n this.systemLanguage = systemLanguage.replace('_', '-');\n }\n\n async init(locale?: string) {\n if (this.inited) {\n throw new Error('i18n already initialized.');\n }\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\n throw new Error('supportedTranslationLocales not set.');\n }\n\n this.inited = true;\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\n\n try {\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\n } catch {\n this.collator = null;\n }\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.translationLocale.slice(0, 2);\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.supportedTranslationLocales[0];\n }\n }\n\n if (this.localesDirectory != null) {\n await this.loadMessages(this.translationLocale, this.localeMessages);\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\n }\n }\n }\n\n t(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.translate(id, p1, p2, p3);\n }\n\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\n let result: string;\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\n result = this.localeMessages[id];\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\n result = this.defaultMessages[id];\n } else {\n result = '';\n }\n\n if (result !== '') {\n if (p1 != null) {\n result = result.split('__$1__').join(p1);\n }\n if (p2 != null) {\n result = result.split('__$2__').join(p2);\n }\n if (p3 != null) {\n result = result.split('__$3__').join(p3);\n }\n }\n\n return result;\n }\n\n private async loadMessages(locale: string, messagesObj: any): Promise {\n const formattedLocale = locale.replace('-', '_');\n const locales = await this.getLocalesJson(formattedLocale);\n for (const prop in locales) {\n if (!locales.hasOwnProperty(prop)) {\n continue;\n }\n messagesObj[prop] = locales[prop].message;\n\n if (locales[prop].placeholders) {\n for (const placeProp in locales[prop].placeholders) {\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\n !locales[prop].placeholders[placeProp].content) {\n continue;\n }\n\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\n let replaceContent = locales[prop].placeholders[placeProp].content;\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\n replaceContent = '__$' + replaceContent + '__';\n }\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\n }\n }\n }\n }\n\n}\n","import { ConstantsService } from './constants.service';\r\n\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CollectionService } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\nimport { LockService as LockServiceAbstraction } from '../abstractions/lock.service';\r\nimport { MessagingService } from '../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { SearchService } from '../abstractions/search.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class LockService implements LockServiceAbstraction {\r\n pinLocked = false;\r\n\r\n private inited = false;\r\n\r\n constructor(private cipherService: CipherService, private folderService: FolderService,\r\n private collectionService: CollectionService, private cryptoService: CryptoService,\r\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\r\n private messagingService: MessagingService, private searchService: SearchService,\r\n private lockedCallback: () => Promise = null) {\r\n }\r\n\r\n init(checkOnInterval: boolean) {\r\n if (this.inited) {\r\n return;\r\n }\r\n\r\n this.inited = true;\r\n if (checkOnInterval) {\r\n this.checkLock();\r\n setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds\r\n }\r\n }\r\n\r\n async isLocked(): Promise {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (hasKey && this.pinLocked) {\r\n return true;\r\n }\r\n return !hasKey;\r\n }\r\n\r\n async checkLock(): Promise {\r\n if (this.platformUtilsService.isViewOpen()) {\r\n // Do not lock\r\n return;\r\n }\r\n\r\n if (await this.isLocked()) {\r\n return;\r\n }\r\n\r\n let lockOption = this.platformUtilsService.lockTimeout();\r\n if (lockOption == null) {\r\n lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\r\n }\r\n if (lockOption == null || lockOption < 0) {\r\n return;\r\n }\r\n\r\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\r\n if (lastActive == null) {\r\n return;\r\n }\r\n\r\n const lockOptionSeconds = lockOption * 60;\r\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\r\n if (diffSeconds >= lockOptionSeconds) {\r\n // need to lock now\r\n await this.lock(true);\r\n }\r\n }\r\n\r\n async lock(allowSoftLock = false): Promise {\r\n if (allowSoftLock) {\r\n const pinSet = await this.isPinLockSet();\r\n if (pinSet[0]) {\r\n this.pinLocked = true;\r\n this.messagingService.send('locked');\r\n if (this.lockedCallback != null) {\r\n await this.lockedCallback();\r\n }\r\n return;\r\n }\r\n }\r\n\r\n await Promise.all([\r\n this.cryptoService.clearKey(),\r\n this.cryptoService.clearOrgKeys(true),\r\n this.cryptoService.clearKeyPair(true),\r\n this.cryptoService.clearEncKey(true),\r\n ]);\r\n\r\n this.folderService.clearCache();\r\n this.cipherService.clearCache();\r\n this.collectionService.clearCache();\r\n this.searchService.clearIndex();\r\n this.messagingService.send('locked');\r\n if (this.lockedCallback != null) {\r\n await this.lockedCallback();\r\n }\r\n }\r\n\r\n async setLockOption(lockOption: number): Promise {\r\n await this.storageService.save(ConstantsService.lockOptionKey, lockOption);\r\n await this.cryptoService.toggleKey();\r\n }\r\n\r\n async isPinLockSet(): Promise<[boolean, boolean]> {\r\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\r\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\r\n return [protectedPin != null, pinProtectedKey != null];\r\n }\r\n\r\n clear(): Promise {\r\n return this.storageService.remove(ConstantsService.protectedPin);\r\n }\r\n}\r\n","import * as zxcvbn from 'zxcvbn';\r\n\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\n\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport {\r\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\r\n} from '../abstractions/passwordGeneration.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { EEFLongWordList } from '../misc/wordlist';\r\n\r\nconst DefaultOptions = {\r\n length: 14,\r\n ambiguous: false,\r\n number: true,\r\n minNumber: 1,\r\n uppercase: true,\r\n minUppercase: 0,\r\n lowercase: true,\r\n minLowercase: 0,\r\n special: false,\r\n minSpecial: 1,\r\n type: 'password',\r\n numWords: 3,\r\n wordSeparator: '-',\r\n};\r\n\r\nconst Keys = {\r\n options: 'passwordGenerationOptions',\r\n history: 'generatedPasswordHistory',\r\n};\r\n\r\nconst MaxPasswordsInHistory = 100;\r\n\r\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\r\n private optionsCache: any;\r\n private history: GeneratedPasswordHistory[];\r\n\r\n constructor(private cryptoService: CryptoService, private storageService: StorageService) { }\r\n\r\n async generatePassword(options: any): Promise {\r\n // overload defaults with given options\r\n const o = Object.assign({}, DefaultOptions, options);\r\n\r\n if (o.type === 'passphrase') {\r\n return this.generatePassphrase(options);\r\n }\r\n\r\n // sanitize\r\n if (o.uppercase && o.minUppercase <= 0) {\r\n o.minUppercase = 1;\r\n }\r\n if (o.lowercase && o.minLowercase <= 0) {\r\n o.minLowercase = 1;\r\n }\r\n if (o.number && o.minNumber <= 0) {\r\n o.minNumber = 1;\r\n }\r\n if (o.special && o.minSpecial <= 0) {\r\n o.minSpecial = 1;\r\n }\r\n\r\n if (!o.length || o.length < 1) {\r\n o.length = 10;\r\n }\r\n\r\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\r\n if (o.length < minLength) {\r\n o.length = minLength;\r\n }\r\n\r\n const positions: string[] = [];\r\n if (o.lowercase && o.minLowercase > 0) {\r\n for (let i = 0; i < o.minLowercase; i++) {\r\n positions.push('l');\r\n }\r\n }\r\n if (o.uppercase && o.minUppercase > 0) {\r\n for (let i = 0; i < o.minUppercase; i++) {\r\n positions.push('u');\r\n }\r\n }\r\n if (o.number && o.minNumber > 0) {\r\n for (let i = 0; i < o.minNumber; i++) {\r\n positions.push('n');\r\n }\r\n }\r\n if (o.special && o.minSpecial > 0) {\r\n for (let i = 0; i < o.minSpecial; i++) {\r\n positions.push('s');\r\n }\r\n }\r\n while (positions.length < o.length) {\r\n positions.push('a');\r\n }\r\n\r\n // shuffle\r\n await this.shuffleArray(positions);\r\n\r\n // build out the char sets\r\n let allCharSet = '';\r\n\r\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\r\n if (o.ambiguous) {\r\n lowercaseCharSet += 'l';\r\n }\r\n if (o.lowercase) {\r\n allCharSet += lowercaseCharSet;\r\n }\r\n\r\n let uppercaseCharSet = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';\r\n if (o.ambiguous) {\r\n uppercaseCharSet += 'O';\r\n }\r\n if (o.uppercase) {\r\n allCharSet += uppercaseCharSet;\r\n }\r\n\r\n let numberCharSet = '23456789';\r\n if (o.ambiguous) {\r\n numberCharSet += '01';\r\n }\r\n if (o.number) {\r\n allCharSet += numberCharSet;\r\n }\r\n\r\n const specialCharSet = '!@#$%^&*';\r\n if (o.special) {\r\n allCharSet += specialCharSet;\r\n }\r\n\r\n let password = '';\r\n for (let i = 0; i < o.length; i++) {\r\n let positionChars: string;\r\n switch (positions[i]) {\r\n case 'l':\r\n positionChars = lowercaseCharSet;\r\n break;\r\n case 'u':\r\n positionChars = uppercaseCharSet;\r\n break;\r\n case 'n':\r\n positionChars = numberCharSet;\r\n break;\r\n case 's':\r\n positionChars = specialCharSet;\r\n break;\r\n case 'a':\r\n positionChars = allCharSet;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\r\n password += positionChars.charAt(randomCharIndex);\r\n }\r\n\r\n return password;\r\n }\r\n\r\n async generatePassphrase(options: any): Promise {\r\n const o = Object.assign({}, DefaultOptions, options);\r\n\r\n if (o.numWords == null || o.numWords <= 2) {\r\n o.numWords = DefaultOptions.numWords;\r\n }\r\n if (o.wordSeparator == null || o.wordSeparator.length === 0 || o.wordSeparator.length > 1) {\r\n o.wordSeparator = ' ';\r\n }\r\n\r\n const listLength = EEFLongWordList.length - 1;\r\n const wordList = new Array(o.numWords);\r\n for (let i = 0; i < o.numWords; i++) {\r\n const wordIndex = await this.cryptoService.randomNumber(0, listLength);\r\n wordList[i] = EEFLongWordList[wordIndex];\r\n }\r\n return wordList.join(o.wordSeparator);\r\n }\r\n\r\n async getOptions() {\r\n if (this.optionsCache == null) {\r\n const options = await this.storageService.get(Keys.options);\r\n if (options == null) {\r\n this.optionsCache = DefaultOptions;\r\n } else {\r\n this.optionsCache = Object.assign({}, DefaultOptions, options);\r\n }\r\n }\r\n\r\n return this.optionsCache;\r\n }\r\n\r\n async saveOptions(options: any) {\r\n await this.storageService.save(Keys.options, options);\r\n this.optionsCache = options;\r\n }\r\n\r\n async getHistory(): Promise {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return new Array();\r\n }\r\n\r\n if (!this.history) {\r\n const encrypted = await this.storageService.get(Keys.history);\r\n this.history = await this.decryptHistory(encrypted);\r\n }\r\n\r\n return this.history || new Array();\r\n }\r\n\r\n async addHistory(password: string): Promise {\r\n // Cannot add new history if no key is available\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return;\r\n }\r\n\r\n const currentHistory = await this.getHistory();\r\n\r\n // Prevent duplicates\r\n if (this.matchesPrevious(password, currentHistory)) {\r\n return;\r\n }\r\n\r\n currentHistory.unshift(new GeneratedPasswordHistory(password, Date.now()));\r\n\r\n // Remove old items.\r\n if (currentHistory.length > MaxPasswordsInHistory) {\r\n currentHistory.pop();\r\n }\r\n\r\n const newHistory = await this.encryptHistory(currentHistory);\r\n return await this.storageService.save(Keys.history, newHistory);\r\n }\r\n\r\n async clear(): Promise {\r\n this.history = [];\r\n return await this.storageService.remove(Keys.history);\r\n }\r\n\r\n passwordStrength(password: string, userInputs: string[] = null): zxcvbn.ZXCVBNResult {\r\n if (password == null || password.length === 0) {\r\n return null;\r\n }\r\n let globalUserInputs = ['bitwarden', 'bit', 'warden'];\r\n if (userInputs != null && userInputs.length > 0) {\r\n globalUserInputs = globalUserInputs.concat(userInputs);\r\n }\r\n // Use a hash set to get rid of any duplicate user inputs\r\n const finalUserInputs = Array.from(new Set(globalUserInputs));\r\n const result = zxcvbn(password, finalUserInputs);\r\n return result;\r\n }\r\n\r\n private async encryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const encrypted = await this.cryptoService.encrypt(item.password);\r\n return new GeneratedPasswordHistory(encrypted.encryptedString, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private async decryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\r\n return new GeneratedPasswordHistory(decrypted, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private matchesPrevious(password: string, history: GeneratedPasswordHistory[]): boolean {\r\n if (history == null || history.length === 0) {\r\n return false;\r\n }\r\n\r\n return history[history.length - 1].password === password;\r\n }\r\n\r\n // ref: https://stackoverflow.com/a/12646864/1090359\r\n private async shuffleArray(array: string[]) {\r\n for (let i = array.length - 1; i > 0; i--) {\r\n const j = await this.cryptoService.randomNumber(0, i);\r\n [array[i], array[j]] = [array[j], array[i]];\r\n }\r\n }\r\n}\r\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nconst Keys = {\r\n settingsPrefix: 'settings_',\r\n equivalentDomains: 'equivalentDomains',\r\n};\r\n\r\nexport class SettingsService implements SettingsServiceAbstraction {\r\n private settingsCache: any;\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.settingsCache = null;\r\n }\r\n\r\n getEquivalentDomains(): Promise {\r\n return this.getSettingsKey(Keys.equivalentDomains);\r\n }\r\n\r\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\r\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.settingsPrefix + userId);\r\n this.settingsCache = null;\r\n }\r\n\r\n // Helpers\r\n\r\n private async getSettings(): Promise {\r\n if (this.settingsCache == null) {\r\n const userId = await this.userService.getUserId();\r\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\r\n }\r\n return this.settingsCache;\r\n }\r\n\r\n private async getSettingsKey(key: string): Promise {\r\n const settings = await this.getSettings();\r\n if (settings != null && settings[key]) {\r\n return settings[key];\r\n }\r\n return null;\r\n }\r\n\r\n private async setSettingsKey(key: string, value: any): Promise {\r\n const userId = await this.userService.getUserId();\r\n let settings = await this.getSettings();\r\n if (!settings) {\r\n settings = {};\r\n }\r\n\r\n settings[key] = value;\r\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\r\n this.settingsCache = settings;\r\n }\r\n}\r\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\r\n\r\nexport class StateService implements StateServiceAbstraction {\r\n private state: any = {};\r\n\r\n get(key: string): Promise {\r\n if (this.state.hasOwnProperty(key)) {\r\n return Promise.resolve(this.state[key]);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n this.state[key] = obj;\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n delete this.state[key];\r\n return Promise.resolve();\r\n }\r\n\r\n purge(): Promise {\r\n this.state = {};\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CollectionService } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\nimport { MessagingService } from '../abstractions/messaging.service';\r\nimport { SettingsService } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\nimport { CollectionData } from '../models/data/collectionData';\r\nimport { FolderData } from '../models/data/folderData';\r\nimport { OrganizationData } from '../models/data/organizationData';\r\n\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n SyncCipherNotification,\r\n SyncFolderNotification,\r\n} from '../models/response/notificationResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\n\r\nconst Keys = {\r\n lastSyncPrefix: 'lastSync_',\r\n};\r\n\r\nexport class SyncService implements SyncServiceAbstraction {\r\n syncInProgress: boolean = false;\r\n\r\n constructor(private userService: UserService, private apiService: ApiService,\r\n private settingsService: SettingsService, private folderService: FolderService,\r\n private cipherService: CipherService, private cryptoService: CryptoService,\r\n private collectionService: CollectionService, private storageService: StorageService,\r\n private messagingService: MessagingService, private logoutCallback: (expired: boolean) => Promise) {\r\n }\r\n\r\n async getLastSync(): Promise {\r\n const userId = await this.userService.getUserId();\r\n if (userId == null) {\r\n return null;\r\n }\r\n\r\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\r\n if (lastSync) {\r\n return new Date(lastSync);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async setLastSync(date: Date): Promise {\r\n const userId = await this.userService.getUserId();\r\n if (userId == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\r\n }\r\n\r\n async fullSync(forceSync: boolean): Promise {\r\n this.syncStarted();\r\n const isAuthenticated = await this.userService.isAuthenticated();\r\n if (!isAuthenticated) {\r\n return this.syncCompleted(false);\r\n }\r\n\r\n const now = new Date();\r\n const needsSyncResult = await this.needsSyncing(forceSync);\r\n const needsSync = needsSyncResult[0];\r\n const skipped = needsSyncResult[1];\r\n\r\n if (skipped) {\r\n return this.syncCompleted(false);\r\n }\r\n\r\n if (!needsSync) {\r\n await this.setLastSync(now);\r\n return this.syncCompleted(false);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n try {\r\n const response = await this.apiService.getSync();\r\n\r\n await this.syncProfile(response.profile);\r\n await this.syncFolders(userId, response.folders);\r\n await this.syncCollections(response.collections);\r\n await this.syncCiphers(userId, response.ciphers);\r\n await this.syncSettings(userId, response.domains);\r\n\r\n await this.setLastSync(now);\r\n return this.syncCompleted(true);\r\n } catch (e) {\r\n return this.syncCompleted(false);\r\n }\r\n }\r\n\r\n async syncUpsertFolder(notification: SyncFolderNotification, isEdit: boolean): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n try {\r\n const localFolder = await this.folderService.get(notification.id);\r\n if ((!isEdit && localFolder == null) ||\r\n (isEdit && localFolder != null && localFolder.revisionDate < notification.revisionDate)) {\r\n const remoteFolder = await this.apiService.getFolder(notification.id);\r\n if (remoteFolder != null) {\r\n const userId = await this.userService.getUserId();\r\n await this.folderService.upsert(new FolderData(remoteFolder, userId));\r\n this.messagingService.send('syncedUpsertedFolder', { folderId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n }\r\n } catch { }\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n async syncDeleteFolder(notification: SyncFolderNotification): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n await this.folderService.delete(notification.id);\r\n this.messagingService.send('syncedDeletedFolder', { folderId: notification.id });\r\n this.syncCompleted(true);\r\n return true;\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n async syncUpsertCipher(notification: SyncCipherNotification, isEdit: boolean): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n try {\r\n let shouldUpdate = true;\r\n const localCipher = await this.cipherService.get(notification.id);\r\n if (localCipher != null && localCipher.revisionDate >= notification.revisionDate) {\r\n shouldUpdate = false;\r\n }\r\n\r\n let checkCollections = false;\r\n if (shouldUpdate) {\r\n if (isEdit) {\r\n shouldUpdate = localCipher != null;\r\n checkCollections = true;\r\n } else {\r\n if (notification.collectionIds == null || notification.organizationId == null) {\r\n shouldUpdate = localCipher == null;\r\n } else {\r\n shouldUpdate = false;\r\n checkCollections = true;\r\n }\r\n }\r\n }\r\n\r\n if (!shouldUpdate && checkCollections && notification.organizationId != null &&\r\n notification.collectionIds != null && notification.collectionIds.length > 0) {\r\n const collections = await this.collectionService.getAll();\r\n if (collections != null) {\r\n for (let i = 0; i < collections.length; i++) {\r\n if (notification.collectionIds.indexOf(collections[i].id)) {\r\n shouldUpdate = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (shouldUpdate) {\r\n const remoteCipher = await this.apiService.getCipher(notification.id);\r\n if (remoteCipher != null) {\r\n const userId = await this.userService.getUserId();\r\n await this.cipherService.upsert(new CipherData(remoteCipher, userId));\r\n this.messagingService.send('syncedUpsertedCipher', { cipherId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n }\r\n } catch (e) {\r\n if (e != null && e.statusCode === 404 && isEdit) {\r\n await this.cipherService.delete(notification.id);\r\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n }\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n async syncDeleteCipher(notification: SyncCipherNotification): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n await this.cipherService.delete(notification.id);\r\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n // Helpers\r\n\r\n private syncStarted() {\r\n this.syncInProgress = true;\r\n this.messagingService.send('syncStarted');\r\n }\r\n\r\n private syncCompleted(successfully: boolean): boolean {\r\n this.syncInProgress = false;\r\n this.messagingService.send('syncCompleted', { successfully: successfully });\r\n return successfully;\r\n }\r\n\r\n private async needsSyncing(forceSync: boolean) {\r\n if (forceSync) {\r\n return [true, false];\r\n }\r\n\r\n const lastSync = await this.getLastSync();\r\n if (lastSync == null || lastSync.getTime() === 0) {\r\n return [true, false];\r\n }\r\n\r\n try {\r\n const response = await this.apiService.getAccountRevisionDate();\r\n if (new Date(response) <= lastSync) {\r\n return [false, false];\r\n }\r\n return [true, false];\r\n } catch (e) {\r\n return [false, true];\r\n }\r\n }\r\n\r\n private async syncProfile(response: ProfileResponse) {\r\n const stamp = await this.userService.getSecurityStamp();\r\n if (stamp != null && stamp !== response.securityStamp) {\r\n if (this.logoutCallback != null) {\r\n await this.logoutCallback(true);\r\n }\r\n\r\n throw new Error('Stamp has changed');\r\n }\r\n\r\n await this.cryptoService.setEncKey(response.key);\r\n await this.cryptoService.setEncPrivateKey(response.privateKey);\r\n await this.cryptoService.setOrgKeys(response.organizations);\r\n await this.userService.setSecurityStamp(response.securityStamp);\r\n await this.userService.setSecurityStamp(response.securityStamp);\r\n\r\n const organizations: { [id: string]: OrganizationData; } = {};\r\n response.organizations.forEach((o) => {\r\n organizations[o.id] = new OrganizationData(o);\r\n });\r\n return await this.userService.replaceOrganizations(organizations);\r\n }\r\n\r\n private async syncFolders(userId: string, response: FolderResponse[]) {\r\n const folders: { [id: string]: FolderData; } = {};\r\n response.forEach((f) => {\r\n folders[f.id] = new FolderData(f, userId);\r\n });\r\n return await this.folderService.replace(folders);\r\n }\r\n\r\n private async syncCollections(response: CollectionDetailsResponse[]) {\r\n const collections: { [id: string]: CollectionData; } = {};\r\n response.forEach((c) => {\r\n collections[c.id] = new CollectionData(c);\r\n });\r\n return await this.collectionService.replace(collections);\r\n }\r\n\r\n private async syncCiphers(userId: string, response: CipherResponse[]) {\r\n const ciphers: { [id: string]: CipherData; } = {};\r\n response.forEach((c) => {\r\n ciphers[c.id] = new CipherData(c, userId);\r\n });\r\n return await this.cipherService.replace(ciphers);\r\n }\r\n\r\n private async syncSettings(userId: string, response: DomainsResponse) {\r\n let eqDomains: string[][] = [];\r\n if (response != null && response.equivalentDomains != null) {\r\n eqDomains = eqDomains.concat(response.equivalentDomains);\r\n }\r\n\r\n if (response != null && response.globalEquivalentDomains != null) {\r\n response.globalEquivalentDomains.forEach((global) => {\r\n if (global.domains.length > 0) {\r\n eqDomains.push(global.domains);\r\n }\r\n });\r\n }\r\n\r\n return this.settingsService.setEquivalentDomains(eqDomains);\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\n\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n twoFactorTokenPrefix: 'twoFactorToken_',\n};\n\nexport class TokenService implements TokenServiceAbstraction {\n token: string;\n decodedToken: any;\n refreshToken: string;\n\n constructor(private storageService: StorageService) {\n }\n\n setTokens(accessToken: string, refreshToken: string): Promise {\n return Promise.all([\n this.setToken(accessToken),\n this.setRefreshToken(refreshToken),\n ]);\n }\n\n setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n return this.storageService.save(Keys.accessToken, token);\n }\n\n async getToken(): Promise {\n if (this.token != null) {\n return this.token;\n }\n\n this.token = await this.storageService.get(Keys.accessToken);\n return this.token;\n }\n\n setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n return this.storageService.save(Keys.refreshToken, refreshToken);\n }\n\n async getRefreshToken(): Promise {\n if (this.refreshToken != null) {\n return this.refreshToken;\n }\n\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\n return this.refreshToken;\n }\n\n setTwoFactorToken(token: string, email: string): Promise {\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\n }\n\n getTwoFactorToken(email: string): Promise {\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\n }\n\n clearTwoFactorToken(email: string): Promise {\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\n }\n\n clearToken(): Promise {\n this.token = null;\n this.decodedToken = null;\n this.refreshToken = null;\n\n return Promise.all([\n this.storageService.remove(Keys.accessToken),\n this.storageService.remove(Keys.refreshToken),\n ]);\n }\n\n // jwthelper methods\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\n\n decodeToken(): any {\n if (this.decodedToken) {\n return this.decodedToken;\n }\n\n if (this.token == null) {\n throw new Error('Token not found.');\n }\n\n const parts = this.token.split('.');\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\n if (decoded == null) {\n throw new Error('Cannot decode the token');\n }\n\n this.decodedToken = JSON.parse(decoded);\n return this.decodedToken;\n }\n\n getTokenExpirationDate(): Date {\n const decoded = this.decodeToken();\n if (typeof decoded.exp === 'undefined') {\n return null;\n }\n\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\n d.setUTCSeconds(decoded.exp);\n return d;\n }\n\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\n const d = this.getTokenExpirationDate();\n if (d == null) {\n return 0;\n }\n\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\n return Math.round(msRemaining / 1000);\n }\n\n tokenNeedsRefresh(minutes: number = 5): boolean {\n const sRemaining = this.tokenSecondsRemaining();\n return sRemaining < (60 * minutes);\n }\n\n getUserId(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.sub === 'undefined') {\n throw new Error('No user id found');\n }\n\n return decoded.sub as string;\n }\n\n getEmail(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.email === 'undefined') {\n throw new Error('No email found');\n }\n\n return decoded.email as string;\n }\n\n getEmailVerified(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.email_verified === 'undefined') {\n throw new Error('No email verification found');\n }\n\n return decoded.email_verified as boolean;\n }\n\n getName(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.name === 'undefined') {\n return null;\n }\n\n return decoded.name as string;\n }\n\n getPremium(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.premium === 'undefined') {\n return false;\n }\n\n return decoded.premium as boolean;\n }\n\n getIssuer(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.iss === 'undefined') {\n throw new Error('No issuer found');\n }\n\n return decoded.iss as string;\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\n\nimport { Utils } from '../misc/utils';\n\nconst B32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\nconst SteamChars = '23456789BCDFGHJKMNPQRTVWXY';\n\nexport class TotpService implements TotpServiceAbstraction {\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) { }\n\n async getCode(key: string): Promise {\n if (key == null) {\n return null;\n }\n let period = 30;\n let alg: 'sha1' | 'sha256' | 'sha512' = 'sha1';\n let digits = 6;\n let keyB32 = key;\n const isOtpAuth = key.toLowerCase().indexOf('otpauth://') === 0;\n const isSteamAuth = !isOtpAuth && key.toLowerCase().indexOf('steam://') === 0;\n if (isOtpAuth) {\n const params = Utils.getQueryParams(key);\n if (params.has('digits') && params.get('digits') != null) {\n try {\n const digitParams = parseInt(params.get('digits').trim(), null);\n if (digitParams > 10) {\n digits = 10;\n } else if (digitParams > 0) {\n digits = digitParams;\n }\n } catch { }\n }\n if (params.has('period') && params.get('period') != null) {\n try {\n const periodParam = parseInt(params.get('period').trim(), null);\n if (periodParam > 0) {\n period = periodParam;\n }\n } catch { }\n }\n if (params.has('secret') && params.get('secret') != null) {\n keyB32 = params.get('secret');\n }\n if (params.has('algorithm') && params.get('algorithm') != null) {\n const algParam = params.get('algorithm').toLowerCase();\n if (algParam === 'sha1' || algParam === 'sha256' || algParam === 'sha512') {\n alg = algParam;\n }\n }\n } else if (isSteamAuth) {\n keyB32 = key.substr('steam://'.length);\n digits = 5;\n }\n\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const timeHex = this.leftPad(this.decToHex(Math.floor(epoch / period)), 16, '0');\n const timeBytes = Utils.fromHexToArray(timeHex);\n const keyBytes = this.b32ToBytes(keyB32);\n\n if (!keyBytes.length || !timeBytes.length) {\n return null;\n }\n\n const hash = await this.sign(keyBytes, timeBytes, alg);\n if (hash.length === 0) {\n return null;\n }\n\n /* tslint:disable */\n const offset = (hash[hash.length - 1] & 0xf);\n const binary = ((hash[offset] & 0x7f) << 24) | ((hash[offset + 1] & 0xff) << 16) |\n ((hash[offset + 2] & 0xff) << 8) | (hash[offset + 3] & 0xff);\n /* tslint:enable */\n\n let otp = '';\n if (isSteamAuth) {\n // tslint:disable-next-line\n let fullCode = binary & 0x7fffffff;\n for (let i = 0; i < digits; i++) {\n otp += SteamChars[fullCode % SteamChars.length];\n fullCode = Math.trunc(fullCode / SteamChars.length);\n }\n } else {\n otp = (binary % Math.pow(10, digits)).toString();\n otp = this.leftPad(otp, digits, '0');\n }\n\n return otp;\n }\n\n getTimeInterval(key: string): number {\n let period = 30;\n if (key != null && key.toLowerCase().indexOf('otpauth://') === 0) {\n const params = Utils.getQueryParams(key);\n if (params.has('period') && params.get('period') != null) {\n try {\n period = parseInt(params.get('period').trim(), null);\n } catch { }\n }\n }\n return period;\n }\n\n async isAutoCopyEnabled(): Promise {\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\n }\n\n // Helpers\n\n private leftPad(s: string, l: number, p: string): string {\n if (l + 1 >= s.length) {\n s = Array(l + 1 - s.length).join(p) + s;\n }\n return s;\n }\n\n private decToHex(d: number): string {\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\n }\n\n private b32ToHex(s: string): string {\n s = s.toUpperCase();\n let cleanedInput = '';\n\n for (let i = 0; i < s.length; i++) {\n if (B32Chars.indexOf(s[i]) < 0) {\n continue;\n }\n\n cleanedInput += s[i];\n }\n s = cleanedInput;\n\n let bits = '';\n let hex = '';\n for (let i = 0; i < s.length; i++) {\n const byteIndex = B32Chars.indexOf(s.charAt(i));\n if (byteIndex < 0) {\n continue;\n }\n bits += this.leftPad(byteIndex.toString(2), 5, '0');\n }\n for (let i = 0; i + 4 <= bits.length; i += 4) {\n const chunk = bits.substr(i, 4);\n hex = hex + parseInt(chunk, 2).toString(16);\n }\n return hex;\n }\n\n private b32ToBytes(s: string): Uint8Array {\n return Utils.fromHexToArray(this.b32ToHex(s));\n }\n\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array, alg: 'sha1' | 'sha256' | 'sha512') {\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, alg);\n return new Uint8Array(signature);\n }\n}\n","import { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\n\nimport { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nimport { KdfType } from '../enums/kdfType';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n kdf: 'kdf',\n kdfIterations: 'kdfIterations',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n private userId: string;\n private email: string;\n private stamp: string;\n private kdf: KdfType;\n private kdfIterations: number;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) { }\n\n setInformation(userId: string, email: string, kdf: KdfType, kdfIterations: number): Promise {\n this.email = email;\n this.userId = userId;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n this.storageService.save(Keys.kdf, kdf),\n this.storageService.save(Keys.kdfIterations, kdfIterations),\n ]);\n }\n\n setSecurityStamp(stamp: string): Promise {\n this.stamp = stamp;\n return this.storageService.save(Keys.stamp, stamp);\n }\n\n async getUserId(): Promise {\n if (this.userId != null) {\n return this.userId;\n }\n\n this.userId = await this.storageService.get(Keys.userId);\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email != null) {\n return this.email;\n }\n\n this.email = await this.storageService.get(Keys.userEmail);\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp != null) {\n return this.stamp;\n }\n\n this.stamp = await this.storageService.get(Keys.stamp);\n return this.stamp;\n }\n\n async getKdf(): Promise {\n if (this.kdf != null) {\n return this.kdf;\n }\n\n this.kdf = await this.storageService.get(Keys.kdf);\n return this.kdf;\n }\n\n async getKdfIterations(): Promise {\n if (this.kdfIterations != null) {\n return this.kdfIterations;\n }\n\n this.kdfIterations = await this.storageService.get(Keys.kdfIterations);\n return this.kdfIterations;\n }\n\n async clear(): Promise {\n const userId = await this.getUserId();\n\n await Promise.all([\n this.storageService.remove(Keys.userId),\n this.storageService.remove(Keys.userEmail),\n this.storageService.remove(Keys.stamp),\n this.storageService.remove(Keys.kdf),\n this.storageService.remove(Keys.kdfIterations),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n this.kdf = null;\n this.kdfIterations = null;\n }\n\n async isAuthenticated(): Promise {\n const token = await this.tokenService.getToken();\n if (token == null) {\n return false;\n }\n\n const userId = await this.getUserId();\n return userId != null;\n }\n\n async canAccessPremium(): Promise {\n const tokenPremium = await this.tokenService.getPremium();\n if (tokenPremium) {\n return true;\n }\n\n const orgs = await this.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium && orgs[i].enabled) {\n return true;\n }\n }\n return false;\n }\n\n async getOrganization(id: string): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n if (organizations == null || !organizations.hasOwnProperty(id)) {\n return null;\n }\n\n return new Organization(organizations[id]);\n }\n\n async getAllOrganizations(): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n const response: Organization[] = [];\n for (const id in organizations) {\n if (organizations.hasOwnProperty(id)) {\n response.push(new Organization(organizations[id]));\n }\n }\n return response;\n }\n\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\n const userId = await this.getUserId();\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\n }\n\n async clearOrganizations(userId: string): Promise {\n await this.storageService.remove(Keys.organizationsPrefix + userId);\n }\n}\n","import { Cipher } from './cipher';\r\n\r\nimport { CipherView } from '../view/cipherView';\r\n\r\nexport class CipherWithIds extends Cipher {\r\n id: string;\r\n collectionIds: string[];\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CipherView) {\r\n this.id = o.id;\r\n super.build(o);\r\n this.collectionIds = o.collectionIds;\r\n }\r\n}\r\n","import { Collection } from './collection';\r\n\r\nimport { CollectionView } from '../view/collectionView';\r\n\r\nexport class CollectionWithId extends Collection {\r\n id: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CollectionView) {\r\n this.id = o.id;\r\n super.build(o);\r\n }\r\n}\r\n","import { Folder } from './folder';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nexport class FolderWithId extends Folder {\r\n id: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: FolderView) {\r\n this.id = o.id;\r\n super.build(o);\r\n }\r\n}\r\n","export enum NotificationType {\n SyncCipherUpdate = 0,\n SyncCipherCreate = 1,\n SyncLoginDelete = 2,\n SyncFolderDelete = 3,\n SyncCiphers = 4,\n\n SyncVault = 5,\n SyncOrgKeys = 6,\n SyncFolderCreate = 7,\n SyncFolderUpdate = 8,\n SyncCipherDelete = 9,\n SyncSettings = 10,\n\n LogOut = 11,\n}\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\n\r\nimport { LockService } from '../../abstractions/lock.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivate {\r\n constructor(private lockService: LockService, private userService: UserService, private router: Router,\r\n private messagingService: MessagingService) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot, routerState: RouterStateSnapshot) {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (!isAuthed) {\r\n this.messagingService.send('logout');\r\n return false;\r\n }\r\n\r\n const locked = await this.lockService.isLocked();\r\n if (locked) {\r\n if (routerState != null) {\r\n this.messagingService.send('lockedUrl', { url: routerState.url });\r\n }\r\n this.router.navigate(['lock']);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class OrganizationGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n if (org == null) {\n this.router.navigate(['/']);\n return false;\n }\n if (!org.isOwner && !org.enabled) {\n this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));\n this.router.navigate(['/']);\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Injectable()\r\nexport class OrganizationTypeGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.parent.params.organizationId);\r\n const allowedTypes = route.data == null ? null : route.data.allowedTypes as OrganizationUserType[];\r\n if (allowedTypes == null || allowedTypes.indexOf(org.type) === -1) {\r\n this.router.navigate(['/organizations', org.id]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class UnauthGuardService implements CanActivate {\n constructor(private lockService: LockService, private userService: UserService,\n private router: Router) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (isAuthed) {\n const locked = await this.lockService.isLocked();\n if (locked) {\n this.router.navigate(['lock']);\n } else {\n this.router.navigate(['vault']);\n }\n return false;\n }\n\n return true;\n }\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport 'bootstrap';\nimport 'jquery';\nimport 'popper.js';\n\n// tslint:disable-next-line\nrequire('../scss/styles.scss');\n\nimport { AppModule } from './app.module';\n\nif (process.env.ENV === 'production') {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule, { preserveWhitespaces: true });\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ServicesModule } from './services/services.module';\n\nimport { AppComponent } from './app.component';\nimport { ModalComponent } from './modal.component';\n\nimport { AvatarComponent } from './components/avatar.component';\nimport { CalloutComponent } from './components/callout.component';\nimport { PasswordStrengthComponent } from './components/password-strength.component';\n\nimport { FooterComponent } from './layouts/footer.component';\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { NavbarComponent } from './layouts/navbar.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport {\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\n} from './organizations/manage/collection-add-edit.component';\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserConfirmComponent as OrgUserConfirmComponent } from './organizations/manage/user-confirm.component';\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\nimport { ApiKeyComponent as OrgApiKeyComponent } from './organizations/settings/api-key.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.component';\nimport { RotateApiKeyComponent as OrgRotateApiKeyComponent } from './organizations/settings/rotate-api-key.component';\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AddCreditComponent } from './settings/add-credit.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangeKdfComponent } from './settings/change-kdf.component';\nimport { ChangePasswordComponent } from './settings/change-password.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './settings/delete-account.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PaymentComponent } from './settings/payment.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { ProfileComponent } from './settings/profile.component';\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\nimport { UpdateKeyComponent } from './settings/update-key.component';\nimport { UpdateLicenseComponent } from './settings/update-license.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkShareComponent } from './vault/bulk-share.component';\nimport { CiphersComponent } from './vault/ciphers.component';\nimport { CollectionsComponent } from './vault/collections.component';\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\nimport { GroupingsComponent } from './vault/groupings.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\nimport { FlexCopyDirective } from 'jslib/angular/directives/flex-copy.directive';\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\n\nimport { ColorPasswordPipe } from 'jslib/angular/pipes/color-password.pipe';\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeCa from '@angular/common/locales/ca';\nimport localeCs from '@angular/common/locales/cs';\nimport localeDa from '@angular/common/locales/da';\nimport localeDe from '@angular/common/locales/de';\nimport localeEnGb from '@angular/common/locales/en-GB';\nimport localeEs from '@angular/common/locales/es';\nimport localeEt from '@angular/common/locales/et';\nimport localeFr from '@angular/common/locales/fr';\nimport localeIt from '@angular/common/locales/it';\nimport localeJa from '@angular/common/locales/ja';\nimport localeNb from '@angular/common/locales/nb';\nimport localeNl from '@angular/common/locales/nl';\nimport localePl from '@angular/common/locales/pl';\nimport localePtBr from '@angular/common/locales/pt';\nimport localePtPt from '@angular/common/locales/pt-PT';\nimport localeRu from '@angular/common/locales/ru';\nimport localeSk from '@angular/common/locales/sk';\nimport localeSv from '@angular/common/locales/sv';\nimport localeUk from '@angular/common/locales/uk';\nimport localeZhCn from '@angular/common/locales/zh-Hans';\nimport localeZhTw from '@angular/common/locales/zh-Hant';\n\nregisterLocaleData(localeCa, 'ca');\nregisterLocaleData(localeCs, 'cs');\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeDe, 'de');\nregisterLocaleData(localeEnGb, 'en-GB');\nregisterLocaleData(localeEs, 'es');\nregisterLocaleData(localeEt, 'et');\nregisterLocaleData(localeFr, 'fr');\nregisterLocaleData(localeIt, 'it');\nregisterLocaleData(localeJa, 'ja');\nregisterLocaleData(localeNb, 'nb');\nregisterLocaleData(localeNl, 'nl');\nregisterLocaleData(localePl, 'pl');\nregisterLocaleData(localePtBr, 'pt-BR');\nregisterLocaleData(localePtPt, 'pt-PT');\nregisterLocaleData(localeRu, 'ru');\nregisterLocaleData(localeSk, 'sk');\nregisterLocaleData(localeSv, 'sv');\nregisterLocaleData(localeUk, 'uk');\nregisterLocaleData(localeZhCn, 'zh-CN');\nregisterLocaleData(localeZhTw, 'zh-TW');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot([Angulartics2GoogleAnalytics], {\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule.forRoot(),\n ],\n declarations: [\n AcceptOrganizationComponent,\n AccountComponent,\n AddCreditComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangeKdfComponent,\n ChangePasswordComponent,\n CiphersComponent,\n CollectionsComponent,\n ColorPasswordPipe,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n ExportComponent,\n ExposedPasswordsReportComponent,\n FallbackSrcDirective,\n FlexCopyDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n I18nPipe,\n IconComponent,\n ImportComponent,\n InactiveTwoFactorReportComponent,\n InputVerbatimDirective,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrgApiKeyComponent,\n OrganizationBillingComponent,\n OrganizationSubscriptionComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgExposedPasswordsReportComponent,\n OrgImportComponent,\n OrgInactiveTwoFactorReportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgReusedPasswordsReportComponent,\n OrgRotateApiKeyComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgUnsecuredWebsitesReportComponent,\n OrgVaultComponent,\n OrgWeakPasswordsReportComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PasswordStrengthComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n ReusedPasswordsReportComponent,\n SearchCiphersPipe,\n SearchPipe,\n SettingsComponent,\n ShareComponent,\n StopClickDirective,\n StopPropDirective,\n ToolsComponent,\n TrueFalseValueDirective,\n TwoFactorAuthenticatorComponent,\n TwoFactorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorSetupComponent,\n TwoFactorU2fComponent,\n TwoFactorVerifyComponent,\n TwoFactorYubiKeyComponent,\n UnsecuredWebsitesReportComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n UserSubscriptionComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n WeakPasswordsReportComponent,\n ],\n entryComponents: [\n AddEditComponent,\n AttachmentsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgApiKeyComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgRotateApiKeyComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { BroadcasterService as BroadcasterServiceAbstraction } from '../abstractions/broadcaster.service';\r\n\r\nexport class BroadcasterService implements BroadcasterServiceAbstraction {\r\n subscribers: Map any> = new Map any>();\r\n\r\n send(message: any, id?: string) {\r\n if (id != null) {\r\n if (this.subscribers.has(id)) {\r\n this.subscribers.get(id)(message);\r\n }\r\n return;\r\n }\r\n\r\n this.subscribers.forEach((value) => {\r\n value(message);\r\n });\r\n }\r\n\r\n subscribe(id: string, messageCallback: (message: any) => any) {\r\n if (this.subscribers.has(id)) {\r\n return;\r\n }\r\n\r\n this.subscribers.set(id, messageCallback);\r\n }\r\n\r\n unsubscribe(id: string) {\r\n if (this.subscribers.has(id)) {\r\n this.subscribers.delete(id);\r\n }\r\n }\r\n}\r\n","\n
\n © {{year}}, 8bit Solutions LLC\n
{{'versionNumber' | i18n : version}}\n
\n","
\n
\n
\n \n

{{'loginOrCreateNewAccount' | i18n}}

\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n {{'getMasterPasswordHint' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n \n \n {{'createAccount' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import {\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthResult } from '../../models/domain/authResult';\r\n\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StorageService } from '../../abstractions/storage.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nconst Keys = {\r\n rememberedEmail: 'rememberedEmail',\r\n rememberEmail: 'rememberEmail',\r\n};\r\n\r\nexport class LoginComponent implements OnInit {\r\n @Input() email: string = '';\r\n @Input() rememberEmail = true;\r\n\r\n masterPassword: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n onSuccessfulLoginTwoFactorNavigate: () => Promise;\r\n\r\n protected twoFactorRoute = '2fa';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n private storageService: StorageService) { }\r\n\r\n async ngOnInit() {\r\n if (this.email == null || this.email === '') {\r\n this.email = await this.storageService.get(Keys.rememberedEmail);\r\n if (this.email == null) {\r\n this.email = '';\r\n }\r\n }\r\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\r\n if (this.rememberEmail == null) {\r\n this.rememberEmail = true;\r\n }\r\n if (Utils.isBrowser) {\r\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\r\n const response = await this.formPromise;\r\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\r\n if (this.rememberEmail) {\r\n await this.storageService.save(Keys.rememberedEmail, this.email);\r\n } else {\r\n await this.storageService.remove(Keys.rememberedEmail);\r\n }\r\n if (response.twoFactor) {\r\n this.platformUtilsService.eventTrack('Logged In To Two-step');\r\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\r\n this.onSuccessfulLoginTwoFactorNavigate();\r\n } else {\r\n this.router.navigate([this.twoFactorRoute]);\r\n }\r\n } else {\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.platformUtilsService.eventTrack('Logged In');\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n }\r\n } catch { }\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Login');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n}\r\n","export function getDomain(host: string): string | null {\r\n return null;\r\n}\r\n","
\n
\n
\n

{{title}}

\n
\n
\n \n

\n {{'enterVerificationCodeApp' | i18n}}

\n

\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\n

\n
\n \n \n \n \n {{'sendVerificationCodeEmailAgain' | i18n}}\n \n \n
\n \n \n

{{'insertYubiKey' | i18n}}

\n \"\"\n
\n \n \n
\n
\n \n

\n \n

\n \n

{{'insertU2f' | i18n}}

\n \"\"\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n
\n \n

{{'noTwoStepProviders' | i18n}}

\n

{{'noTwoStepProviders2' | i18n}}

\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n\n\n","import {\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class TwoFactorOptionsComponent implements OnInit {\r\n @Output() onProviderSelected = new EventEmitter();\r\n @Output() onRecoverSelected = new EventEmitter();\r\n\r\n providers: any[] = [];\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\r\n protected win: Window) { }\r\n\r\n ngOnInit() {\r\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\r\n }\r\n\r\n choose(p: any) {\r\n this.onProviderSelected.emit(p.type);\r\n }\r\n\r\n recover() {\r\n this.platformUtilsService.eventTrack('Selected Recover');\r\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\r\n this.onRecoverSelected.emit();\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n OnDestroy,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent implements OnDestroy {\r\n @Output() onClose = new EventEmitter();\r\n @Output() onClosed = new EventEmitter();\r\n @Output() onShow = new EventEmitter();\r\n @Output() onShown = new EventEmitter();\r\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\r\n parentContainer: ViewContainerRef = null;\r\n fade: boolean = true;\r\n\r\n constructor(protected componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('modal-open');\r\n document.body.removeChild(document.querySelector('.modal-backdrop'));\r\n }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.onShow.emit();\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n document.body.classList.add('modal-open');\r\n const backdrop = document.createElement('div');\r\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\r\n document.body.appendChild(backdrop);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n });\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\r\n for (const closeElement of modals) {\r\n closeElement.addEventListener('click', (event) => {\r\n this.close();\r\n });\r\n }\r\n\r\n this.onShown.emit();\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n }\r\n}\r\n","import {\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { DeviceType } from '../../enums/deviceType';\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { TwoFactorProviders } from '../../services/auth.service';\r\n\r\nimport * as DuoWebSDK from 'duo_web_sdk';\r\nimport { U2f } from '../../misc/u2f';\r\n\r\nexport class TwoFactorComponent implements OnInit, OnDestroy {\r\n token: string = '';\r\n remember: boolean = false;\r\n u2fReady: boolean = false;\r\n providers = TwoFactorProviders;\r\n providerType = TwoFactorProviderType;\r\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\r\n u2fSupported: boolean = false;\r\n u2f: U2f = null;\r\n title: string = '';\r\n twoFactorEmail: string = null;\r\n formPromise: Promise;\r\n emailPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n\r\n protected loginRoute = 'login';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected apiService: ApiService,\r\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\r\n protected environmentService: EnvironmentService) {\r\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.authService.email == null || this.authService.masterPasswordHash == null ||\r\n this.authService.twoFactorProviders == null) {\r\n this.router.navigate([this.loginRoute]);\r\n return;\r\n }\r\n\r\n if (this.win != null && this.u2fSupported) {\r\n let customWebVaultUrl: string = null;\r\n if (this.environmentService.baseUrl != null) {\r\n customWebVaultUrl = this.environmentService.baseUrl;\r\n } else if (this.environmentService.webVaultUrl != null) {\r\n customWebVaultUrl = this.environmentService.webVaultUrl;\r\n }\r\n\r\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\r\n this.token = token;\r\n this.submit();\r\n }, (error: string) => {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), error);\r\n }, (info: string) => {\r\n if (info === 'ready') {\r\n this.u2fReady = true;\r\n }\r\n });\r\n }\r\n\r\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\r\n await this.init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.cleanupU2f();\r\n this.u2f = null;\r\n }\r\n\r\n async init() {\r\n if (this.selectedProviderType == null) {\r\n this.title = this.i18nService.t('loginUnavailable');\r\n return;\r\n }\r\n\r\n this.cleanupU2f();\r\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\r\n const params = this.authService.twoFactorProviders.get(this.selectedProviderType);\r\n switch (this.selectedProviderType) {\r\n case TwoFactorProviderType.U2f:\r\n if (!this.u2fSupported || this.u2f == null) {\r\n break;\r\n }\r\n\r\n if (params.Challenge != null) {\r\n this.u2f.init(JSON.parse(params.Challenge));\r\n } else {\r\n // TODO: Deprecated. Remove in future version.\r\n const challenges = JSON.parse(params.Challenges);\r\n if (challenges != null && challenges.length > 0) {\r\n this.u2f.init({\r\n appId: challenges[0].appId,\r\n challenge: challenges[0].challenge,\r\n keys: challenges.map((c: any) => {\r\n return {\r\n version: c.version,\r\n keyHandle: c.keyHandle,\r\n };\r\n }),\r\n });\r\n }\r\n }\r\n break;\r\n case TwoFactorProviderType.Duo:\r\n case TwoFactorProviderType.OrganizationDuo:\r\n if (this.platformUtilsService.getDevice() === DeviceType.SafariExtension) {\r\n break;\r\n }\r\n\r\n setTimeout(() => {\r\n DuoWebSDK.init({\r\n iframe: undefined,\r\n host: params.Host,\r\n sig_request: params.Signature,\r\n submit_callback: async (f: HTMLFormElement) => {\r\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\r\n if (sig != null) {\r\n this.token = sig.value;\r\n await this.submit();\r\n }\r\n },\r\n });\r\n }, 0);\r\n break;\r\n case TwoFactorProviderType.Email:\r\n this.twoFactorEmail = params.Email;\r\n if (this.authService.twoFactorProviders.size > 1) {\r\n await this.sendEmail(false);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.token == null || this.token === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('verificationCodeRequired'));\r\n return;\r\n }\r\n\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n } else {\r\n return;\r\n }\r\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\r\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\r\n this.token = this.token.replace(' ', '').trim();\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\r\n await this.formPromise;\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.platformUtilsService.eventTrack('Logged In From Two-step');\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch {\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\r\n this.u2f.start();\r\n }\r\n }\r\n }\r\n\r\n async sendEmail(doToast: boolean) {\r\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\r\n return;\r\n }\r\n\r\n if (this.emailPromise != null) {\r\n return;\r\n }\r\n\r\n try {\r\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\r\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\r\n await this.emailPromise;\r\n if (doToast) {\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\r\n }\r\n } catch { }\r\n\r\n this.emailPromise = null;\r\n }\r\n\r\n private cleanupU2f() {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n this.u2f.cleanup();\r\n }\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class AuthResult {\r\n twoFactor: boolean = false;\r\n twoFactorProviders: Map = null;\r\n}\r\n","import { DeviceType } from '../../enums/deviceType';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class DeviceRequest {\r\n type: DeviceType;\r\n name: string;\r\n identifier: string;\r\n pushToken?: string;\r\n\r\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\r\n this.type = platformUtilsService.getDevice();\r\n this.name = platformUtilsService.getDeviceString();\r\n this.identifier = appId;\r\n this.pushToken = null;\r\n }\r\n}\r\n","export class PreloginRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\n\nexport class TokenRequest {\n email: string;\n masterPasswordHash: string;\n token: string;\n provider: TwoFactorProviderType;\n remember: boolean;\n device?: DeviceRequest;\n\n constructor(email: string, masterPasswordHash: string, provider: TwoFactorProviderType,\n token: string, remember: boolean, device?: DeviceRequest) {\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.token = token;\n this.provider = provider;\n this.remember = remember;\n this.device = device != null ? device : null;\n }\n\n toIdentityToken(clientId: string) {\n const obj: any = {\n grant_type: 'password',\n username: this.email,\n password: this.masterPasswordHash,\n scope: 'api offline_access',\n client_id: clientId,\n };\n\n if (this.device) {\n obj.deviceType = this.device.type;\n obj.deviceIdentifier = this.device.identifier;\n obj.deviceName = this.device.name;\n // no push tokens for browser apps yet\n // obj.devicePushToken = this.device.pushToken;\n }\n\n if (this.token && this.provider != null) {\n obj.twoFactorToken = this.token;\n obj.twoFactorProvider = this.provider;\n obj.twoFactorRemember = this.remember ? '1' : '0';\n }\n\n return obj;\n }\n}\n","export class U2f {\r\n private iframe: HTMLIFrameElement = null;\r\n private connectorLink: HTMLAnchorElement;\r\n private parseFunction = this.parseMessage.bind(this);\r\n\r\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\r\n private errorCallback: Function, private infoCallback: Function) {\r\n this.connectorLink = win.document.createElement('a');\r\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\r\n }\r\n\r\n init(data: any): void {\r\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\r\n '?data=' + this.base64Encode(JSON.stringify(data)) +\r\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\r\n '&v=1';\r\n\r\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\r\n this.iframe.src = this.connectorLink.href;\r\n\r\n this.win.addEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n stop() {\r\n this.sendMessage('stop');\r\n }\r\n\r\n start() {\r\n this.sendMessage('start');\r\n }\r\n\r\n sendMessage(message: any) {\r\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\r\n return;\r\n }\r\n\r\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\r\n }\r\n\r\n base64Encode(str: string): string {\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\r\n return String.fromCharCode(('0x' + p1) as any);\r\n }));\r\n }\r\n\r\n cleanup() {\r\n this.win.removeEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n private parseMessage(event: MessageEvent) {\r\n if (!this.validMessage(event)) {\r\n return;\r\n }\r\n\r\n const parts: string[] = event.data.split('|');\r\n if (parts[0] === 'success' && this.successCallback) {\r\n this.successCallback(parts[1]);\r\n } else if (parts[0] === 'error' && this.errorCallback) {\r\n this.errorCallback(parts[1]);\r\n } else if (parts[0] === 'info' && this.infoCallback) {\r\n this.infoCallback(parts[1]);\r\n }\r\n }\r\n\r\n private validMessage(event: MessageEvent) {\r\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\r\n event.data == null || typeof (event.data) !== 'string') {\r\n return false;\r\n }\r\n\r\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\r\n event.data.indexOf('info|') === 0;\r\n }\r\n}\r\n","
\n
\n
\n

{{'createAccount' | i18n}}

\n
\n
\n \n {{'createOrganizationCreatePersonalAccount' | i18n}}\n \n
\n \n \n {{'emailAddressDesc' | i18n}}\n
\n
\n \n \n {{'yourNameDesc' | i18n}}\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n {{'submitAgreePolicies' | i18n}}\n {{'termsOfService' | i18n}},\n {{'privacyPolicy' | i18n}}\n \n
\n
\n
\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { RegisterRequest } from '../../models/request/registerRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class RegisterComponent {\r\n name: string = '';\r\n email: string = '';\r\n masterPassword: string = '';\r\n confirmMasterPassword: string = '';\r\n hint: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n masterPasswordScore: number;\r\n\r\n protected successRoute = 'login';\r\n private masterPasswordStrengthTimeout: any;\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected apiService: ApiService, protected stateService: StateService,\r\n protected platformUtilsService: PlatformUtilsService,\r\n protected passwordGenerationService: PasswordGenerationService) { }\r\n\r\n get masterPasswordScoreWidth() {\r\n return this.masterPasswordScore == null ? 0 : (this.masterPasswordScore + 1) * 20;\r\n }\r\n\r\n get masterPasswordScoreColor() {\r\n switch (this.masterPasswordScore) {\r\n case 4:\r\n return 'success';\r\n case 3:\r\n return 'primary';\r\n case 2:\r\n return 'warning';\r\n default:\r\n return 'danger';\r\n }\r\n }\r\n\r\n get masterPasswordScoreText() {\r\n switch (this.masterPasswordScore) {\r\n case 4:\r\n return this.i18nService.t('strong');\r\n case 3:\r\n return this.i18nService.t('good');\r\n case 2:\r\n return this.i18nService.t('weak');\r\n default:\r\n return this.masterPasswordScore != null ? this.i18nService.t('weak') : null;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.confirmMasterPassword) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\r\n this.getPasswordStrengthUserInput());\r\n if (strengthResult != null && strengthResult.score < 3) {\r\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\r\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\r\n 'warning');\r\n if (!result) {\r\n return;\r\n }\r\n }\r\n\r\n this.name = this.name === '' ? null : this.name;\r\n this.email = this.email.trim().toLowerCase();\r\n const kdf = KdfType.PBKDF2_SHA256;\r\n const useLowerKdf = this.platformUtilsService.isEdge() || this.platformUtilsService.isIE();\r\n const kdfIterations = useLowerKdf ? 10000 : 100000;\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\r\n this.hint, encKey[1].encryptedString, kdf, kdfIterations);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n const orgInvite = await this.stateService.get('orgInvitation');\r\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\r\n request.token = orgInvite.token;\r\n request.organizationUserId = orgInvite.organizationUserId;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postRegister(request);\r\n await this.formPromise;\r\n this.platformUtilsService.eventTrack('Registered');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('newAccountCreated'));\r\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\r\n } catch { }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Register');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n\r\n updatePasswordStrength() {\r\n if (this.masterPasswordStrengthTimeout != null) {\r\n clearTimeout(this.masterPasswordStrengthTimeout);\r\n }\r\n this.masterPasswordStrengthTimeout = setTimeout(() => {\r\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\r\n this.getPasswordStrengthUserInput());\r\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\r\n }, 300);\r\n }\r\n\r\n private getPasswordStrengthUserInput() {\r\n let userInput: string[] = [];\r\n const atPosition = this.email.indexOf('@');\r\n if (atPosition > -1) {\r\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\r\n }\r\n if (this.name != null && this.name !== '') {\r\n userInput = userInput.concat(this.name.trim().toLowerCase().split(' '));\r\n }\r\n return userInput;\r\n }\r\n}\r\n","import { KeysRequest } from './keysRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class RegisterRequest {\n name: string;\n email: string;\n masterPasswordHash: string;\n masterPasswordHint: string;\n key: string;\n keys: KeysRequest;\n token: string;\n organizationUserId: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string,\n kdf: KdfType, kdfIterations: number) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n }\n}\n","
\n
\n
\n

{{'passwordHint' | i18n}}

\n
\n
\n
\n \n \n {{'enterEmailToGetHint' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class HintComponent {\r\n email: string = '';\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n protected onSuccessfulSubmit: () => void;\r\n\r\n constructor(protected router: Router, protected i18nService: I18nService,\r\n protected apiService: ApiService, protected platformUtilsService: PlatformUtilsService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\r\n await this.formPromise;\r\n this.platformUtilsService.eventTrack('Requested Hint');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('masterPassSent'));\r\n if (this.onSuccessfulSubmit != null) {\r\n this.onSuccessfulSubmit();\r\n } else if (this.router != null) {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch { }\r\n }\r\n}\r\n","export class PasswordHintRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n {{'loggedInAsEmail' | i18n : email}}\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { LockService } from '../../abstractions/lock.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nexport class LockComponent implements OnInit {\n masterPassword: string = '';\n pin: string = '';\n showPassword: boolean = false;\n email: string;\n pinLock: boolean = false;\n\n protected successRoute: string = 'vault';\n protected onSuccessfulSubmit: () => void;\n\n private invalidPinAttempts = 0;\n private pinSet: [boolean, boolean];\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\n protected userService: UserService, protected cryptoService: CryptoService,\n protected storageService: StorageService, protected lockService: LockService) { }\n\n async ngOnInit() {\n this.pinSet = await this.lockService.isPinLockSet();\n const hasKey = await this.cryptoService.hasKey();\n this.pinLock = (this.pinSet[0] && hasKey) || this.pinSet[1];\n this.email = await this.userService.getEmail();\n }\n\n async submit() {\n if (this.pinLock && (this.pin == null || this.pin === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('pinRequired'));\n return;\n }\n if (!this.pinLock && (this.masterPassword == null || this.masterPassword === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n\n if (this.pinLock) {\n let failed = true;\n try {\n if (this.pinSet[0]) {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin));\n failed = decPin !== this.pin;\n this.lockService.pinLocked = failed;\n if (!failed) {\n this.doContinue();\n }\n } else {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations);\n failed = false;\n await this.setKeyAndContinue(key);\n }\n } catch {\n failed = true;\n }\n\n if (failed) {\n this.invalidPinAttempts++;\n if (this.invalidPinAttempts >= 5) {\n this.messagingService.send('logout');\n return;\n }\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidPin'));\n }\n } else {\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n this.setKeyAndContinue(key);\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('Toggled Master Password on Unlock');\n this.showPassword = !this.showPassword;\n document.getElementById(this.pinLock ? 'pin' : 'masterPassword').focus();\n }\n\n private async setKeyAndContinue(key: SymmetricCryptoKey) {\n await this.cryptoService.setKey(key);\n this.doContinue();\n }\n\n private doContinue() {\n this.messagingService.send('unlocked');\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n","export class VerifyEmailRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n
\n
\n
\n

{{'joinOrganization' | i18n}}

\n
\n
\n

\n {{orgName}}\n {{email}}\n

\n

{{'joinOrganizationDesc' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","
\n
\n
\n

{{'recoverAccountTwoStep' | i18n}}

\n
\n
\n

{{'recoverAccountTwoStepDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n

{{'deleteRecoverDesc' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class DeleteRecoverRequest {\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n {{'deleteAccountWarning' | i18n}}\n

\n {{email}}\n

\n

{{'deleteRecoverConfirmDesc' | i18n}}

\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class VerifyDeleteRecoverRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","\n\n\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'myVault' | i18n}}\n \n \n \n

\n \n
\n \n \n
\n
\n
\n
\n {{'updateKeyTitle' | i18n}}\n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\n \n
\n
\n \n
\n
\n {{'updateBrowser' | i18n}}\n
\n
\n

{{'updateBrowserDesc' | i18n}}

\n \n {{'updateBrowser' | i18n}}\n \n
\n
\n
\n
\n {{'goPremium' | i18n}}\n
\n
\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n \n {{'goPremium' | i18n}}\n \n
\n
\n
\n
\n {{'organizations' | i18n}}\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n","
\n
\n {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","
\n
\n {{'filters' | i18n}}\n \n \n \n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n

\n \n \n

\n {{'folders' | i18n}}\n \n \n \n

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","import {\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CollectionView } from '../../models/view/collectionView';\r\nimport { FolderView } from '../../models/view/folderView';\r\n\r\nimport { TreeNode } from '../../models/domain/treeNode';\r\n\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { FolderService } from '../../abstractions/folder.service';\r\nimport { StorageService } from '../../abstractions/storage.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { ConstantsService } from '../../services/constants.service';\r\n\r\nexport class GroupingsComponent {\r\n @Input() showFolders = true;\r\n @Input() showCollections = true;\r\n @Input() showFavorites = true;\r\n\r\n @Output() onAllClicked = new EventEmitter();\r\n @Output() onFavoritesClicked = new EventEmitter();\r\n @Output() onCipherTypeClicked = new EventEmitter();\r\n @Output() onFolderClicked = new EventEmitter();\r\n @Output() onAddFolder = new EventEmitter();\r\n @Output() onEditFolder = new EventEmitter();\r\n @Output() onCollectionClicked = new EventEmitter();\r\n\r\n folders: FolderView[];\r\n nestedFolders: Array>;\r\n collections: CollectionView[];\r\n nestedCollections: Array>;\r\n loaded: boolean = false;\r\n cipherType = CipherType;\r\n selectedAll: boolean = false;\r\n selectedFavorites: boolean = false;\r\n selectedType: CipherType = null;\r\n selectedFolder: boolean = false;\r\n selectedFolderId: string = null;\r\n selectedCollectionId: string = null;\r\n\r\n private collapsedGroupings: Set;\r\n private collapsedGroupingsKey: string;\r\n\r\n constructor(protected collectionService: CollectionService, protected folderService: FolderService,\r\n protected storageService: StorageService, protected userService: UserService) { }\r\n\r\n async load(setLoaded = true) {\r\n const userId = await this.userService.getUserId();\r\n this.collapsedGroupingsKey = ConstantsService.collapsedGroupingsKey + '_' + userId;\r\n const collapsedGroupings = await this.storageService.get(this.collapsedGroupingsKey);\r\n if (collapsedGroupings == null) {\r\n this.collapsedGroupings = new Set();\r\n } else {\r\n this.collapsedGroupings = new Set(collapsedGroupings);\r\n }\r\n\r\n await this.loadFolders();\r\n await this.loadCollections();\r\n\r\n if (setLoaded) {\r\n this.loaded = true;\r\n }\r\n }\r\n\r\n async loadCollections(organizationId?: string) {\r\n if (!this.showCollections) {\r\n return;\r\n }\r\n const collections = await this.collectionService.getAllDecrypted();\r\n if (organizationId != null) {\r\n this.collections = collections.filter((c) => c.organizationId === organizationId);\r\n } else {\r\n this.collections = collections;\r\n }\r\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\r\n }\r\n\r\n async loadFolders() {\r\n if (!this.showFolders) {\r\n return;\r\n }\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.nestedFolders = await this.folderService.getAllNested();\r\n }\r\n\r\n selectAll() {\r\n this.clearSelections();\r\n this.selectedAll = true;\r\n this.onAllClicked.emit();\r\n }\r\n\r\n selectFavorites() {\r\n this.clearSelections();\r\n this.selectedFavorites = true;\r\n this.onFavoritesClicked.emit();\r\n }\r\n\r\n selectType(type: CipherType) {\r\n this.clearSelections();\r\n this.selectedType = type;\r\n this.onCipherTypeClicked.emit(type);\r\n }\r\n\r\n selectFolder(folder: FolderView) {\r\n this.clearSelections();\r\n this.selectedFolder = true;\r\n this.selectedFolderId = folder.id;\r\n this.onFolderClicked.emit(folder);\r\n }\r\n\r\n addFolder() {\r\n this.onAddFolder.emit();\r\n }\r\n\r\n editFolder(folder: FolderView) {\r\n this.onEditFolder.emit(folder);\r\n }\r\n\r\n selectCollection(collection: CollectionView) {\r\n this.clearSelections();\r\n this.selectedCollectionId = collection.id;\r\n this.onCollectionClicked.emit(collection);\r\n }\r\n\r\n clearSelections() {\r\n this.selectedAll = false;\r\n this.selectedFavorites = false;\r\n this.selectedType = null;\r\n this.selectedFolder = false;\r\n this.selectedFolderId = null;\r\n this.selectedCollectionId = null;\r\n }\r\n\r\n collapse(grouping: FolderView | CollectionView, idPrefix = '') {\r\n if (grouping.id == null) {\r\n return;\r\n }\r\n const id = idPrefix + grouping.id;\r\n if (this.isCollapsed(grouping, idPrefix)) {\r\n this.collapsedGroupings.delete(id);\r\n } else {\r\n this.collapsedGroupings.add(id);\r\n }\r\n this.storageService.save(this.collapsedGroupingsKey, this.collapsedGroupings);\r\n }\r\n\r\n isCollapsed(grouping: FolderView | CollectionView, idPrefix = '') {\r\n return this.collapsedGroupings.has(idPrefix + grouping.id);\r\n }\r\n}\r\n","\n 0\">\n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n \n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFallbackSrc]',\r\n})\r\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\r\n this.el.nativeElement.src = this.appFallbackSrc;\r\n }\r\n}\n","import {\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { SearchService } from '../../abstractions/search.service';\r\n\r\nimport { CipherView } from '../../models/view/cipherView';\r\n\r\nexport class CiphersComponent {\r\n @Input() activeCipherId: string = null;\r\n @Output() onCipherClicked = new EventEmitter();\r\n @Output() onCipherRightClicked = new EventEmitter();\r\n @Output() onAddCipher = new EventEmitter();\r\n @Output() onAddCipherOptions = new EventEmitter();\r\n\r\n loaded: boolean = false;\r\n ciphers: CipherView[] = [];\r\n searchText: string;\r\n searchPlaceholder: string = null;\r\n filter: (cipher: CipherView) => boolean = null;\r\n\r\n protected searchPending = false;\r\n\r\n private searchTimeout: any = null;\r\n\r\n constructor(protected searchService: SearchService) { }\r\n\r\n async load(filter: (cipher: CipherView) => boolean = null) {\r\n await this.applyFilter(filter);\r\n this.loaded = true;\r\n }\r\n\r\n async refresh() {\r\n this.loaded = false;\r\n this.ciphers = [];\r\n await this.load(this.filter);\r\n }\r\n\r\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\r\n this.filter = filter;\r\n await this.search(null);\r\n }\r\n\r\n async search(timeout: number = null) {\r\n this.searchPending = false;\r\n if (this.searchTimeout != null) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n if (timeout == null) {\r\n this.ciphers = await this.searchService.searchCiphers(this.searchText, this.filter);\r\n return;\r\n }\r\n this.searchPending = true;\r\n this.searchTimeout = setTimeout(async () => {\r\n this.ciphers = await this.searchService.searchCiphers(this.searchText, this.filter);\r\n this.searchPending = false;\r\n }, timeout);\r\n }\r\n\r\n selectCipher(cipher: CipherView) {\r\n this.onCipherClicked.emit(cipher);\r\n }\r\n\r\n rightClickCipher(cipher: CipherView) {\r\n this.onCipherRightClicked.emit(cipher);\r\n }\r\n\r\n addCipher() {\r\n this.onAddCipher.emit();\r\n }\r\n\r\n addCipherOptions() {\r\n this.onAddCipherOptions.emit();\r\n }\r\n}\r\n","export class AttachmentRequest {\r\n fileName: string;\r\n key: string;\r\n}\r\n","import {\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherType } from '../../enums/cipherType';\r\nimport { FieldType } from '../../enums/fieldType';\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { SecureNoteType } from '../../enums/secureNoteType';\r\nimport { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { AuditService } from '../../abstractions/audit.service';\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { FolderService } from '../../abstractions/folder.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { Cipher } from '../../models/domain/cipher';\r\n\r\nimport { CardView } from '../../models/view/cardView';\r\nimport { CipherView } from '../../models/view/cipherView';\r\nimport { CollectionView } from '../../models/view/collectionView';\r\nimport { FieldView } from '../../models/view/fieldView';\r\nimport { FolderView } from '../../models/view/folderView';\r\nimport { IdentityView } from '../../models/view/identityView';\r\nimport { LoginUriView } from '../../models/view/loginUriView';\r\nimport { LoginView } from '../../models/view/loginView';\r\nimport { SecureNoteView } from '../../models/view/secureNoteView';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class AddEditComponent implements OnInit {\r\n @Input() folderId: string = null;\r\n @Input() cipherId: string;\r\n @Input() type: CipherType;\r\n @Input() collectionIds: string[];\r\n @Input() organizationId: string = null;\r\n @Output() onSavedCipher = new EventEmitter();\r\n @Output() onDeletedCipher = new EventEmitter();\r\n @Output() onCancelled = new EventEmitter();\r\n @Output() onEditAttachments = new EventEmitter();\r\n @Output() onShareCipher = new EventEmitter();\r\n @Output() onEditCollections = new EventEmitter();\r\n @Output() onGeneratePassword = new EventEmitter();\r\n\r\n editMode: boolean = false;\r\n cipher: CipherView;\r\n folders: FolderView[];\r\n collections: CollectionView[] = [];\r\n title: string;\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n checkPasswordPromise: Promise;\r\n showPassword: boolean = false;\r\n showCardCode: boolean = false;\r\n cipherType = CipherType;\r\n fieldType = FieldType;\r\n addFieldType: FieldType = FieldType.Text;\r\n typeOptions: any[];\r\n cardBrandOptions: any[];\r\n cardExpMonthOptions: any[];\r\n identityTitleOptions: any[];\r\n addFieldTypeOptions: any[];\r\n uriMatchOptions: any[];\r\n ownershipOptions: any[] = [];\r\n\r\n protected writeableCollections: CollectionView[];\r\n\r\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\r\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\r\n protected auditService: AuditService, protected stateService: StateService,\r\n protected userService: UserService, protected collectionService: CollectionService,\r\n protected messagingService: MessagingService) {\r\n this.typeOptions = [\r\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\r\n { name: i18nService.t('typeCard'), value: CipherType.Card },\r\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\r\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\r\n ];\r\n this.cardBrandOptions = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: 'Visa', value: 'Visa' },\r\n { name: 'Mastercard', value: 'Mastercard' },\r\n { name: 'American Express', value: 'Amex' },\r\n { name: 'Discover', value: 'Discover' },\r\n { name: 'Diners Club', value: 'Diners Club' },\r\n { name: 'JCB', value: 'JCB' },\r\n { name: 'Maestro', value: 'Maestro' },\r\n { name: 'UnionPay', value: 'UnionPay' },\r\n { name: i18nService.t('other'), value: 'Other' },\r\n ];\r\n this.cardExpMonthOptions = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: '01 - ' + i18nService.t('january'), value: '1' },\r\n { name: '02 - ' + i18nService.t('february'), value: '2' },\r\n { name: '03 - ' + i18nService.t('march'), value: '3' },\r\n { name: '04 - ' + i18nService.t('april'), value: '4' },\r\n { name: '05 - ' + i18nService.t('may'), value: '5' },\r\n { name: '06 - ' + i18nService.t('june'), value: '6' },\r\n { name: '07 - ' + i18nService.t('july'), value: '7' },\r\n { name: '08 - ' + i18nService.t('august'), value: '8' },\r\n { name: '09 - ' + i18nService.t('september'), value: '9' },\r\n { name: '10 - ' + i18nService.t('october'), value: '10' },\r\n { name: '11 - ' + i18nService.t('november'), value: '11' },\r\n { name: '12 - ' + i18nService.t('december'), value: '12' },\r\n ];\r\n this.identityTitleOptions = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\r\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\r\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\r\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\r\n ];\r\n this.addFieldTypeOptions = [\r\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\r\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\r\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\r\n ];\r\n this.uriMatchOptions = [\r\n { name: i18nService.t('defaultMatchDetection'), value: null },\r\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\r\n { name: i18nService.t('host'), value: UriMatchType.Host },\r\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\r\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\r\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\r\n { name: i18nService.t('never'), value: UriMatchType.Never },\r\n ];\r\n }\r\n\r\n async ngOnInit() {\r\n await this.init();\r\n }\r\n\r\n async init() {\r\n const myEmail = await this.userService.getEmail();\r\n this.ownershipOptions.push({ name: myEmail, value: null });\r\n const orgs = await this.userService.getAllOrganizations();\r\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name')).forEach((o) => {\r\n if (o.enabled && o.status === OrganizationUserStatusType.Confirmed) {\r\n this.ownershipOptions.push({ name: o.name, value: o.id });\r\n }\r\n });\r\n this.writeableCollections = await this.loadCollections();\r\n }\r\n\r\n async load() {\r\n this.editMode = this.cipherId != null;\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editItem');\r\n } else {\r\n this.title = this.i18nService.t('addItem');\r\n }\r\n\r\n this.cipher = await this.stateService.get('addEditCipher');\r\n await this.stateService.remove('addEditCipher');\r\n if (this.cipher == null) {\r\n if (this.editMode) {\r\n const cipher = await this.loadCipher();\r\n this.cipher = await cipher.decrypt();\r\n } else {\r\n this.cipher = new CipherView();\r\n this.cipher.organizationId = this.organizationId == null ? null : this.organizationId;\r\n this.cipher.folderId = this.folderId;\r\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\r\n this.cipher.login = new LoginView();\r\n this.cipher.login.uris = [new LoginUriView()];\r\n this.cipher.card = new CardView();\r\n this.cipher.identity = new IdentityView();\r\n this.cipher.secureNote = new SecureNoteView();\r\n this.cipher.secureNote.type = SecureNoteType.Generic;\r\n\r\n await this.organizationChanged();\r\n if (this.collectionIds != null && this.collectionIds.length > 0 && this.collections.length > 0) {\r\n this.collections.forEach((c) => {\r\n if (this.collectionIds.indexOf(c.id) > -1) {\r\n (c as any).checked = true;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.folders = await this.folderService.getAllDecrypted();\r\n }\r\n\r\n async submit(): Promise {\r\n if (this.cipher.name == null || this.cipher.name === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('nameRequired'));\r\n return false;\r\n }\r\n\r\n if (!this.editMode && this.cipher.type === CipherType.Login &&\r\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\r\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\r\n this.cipher.login.uris = null;\r\n }\r\n\r\n if (!this.editMode && this.cipher.organizationId != null) {\r\n this.cipher.collectionIds = this.collections == null ? [] :\r\n this.collections.filter((c) => (c as any).checked).map((c) => c.id);\r\n }\r\n\r\n const cipher = await this.encryptCipher();\r\n try {\r\n this.formPromise = this.saveCipher(cipher);\r\n await this.formPromise;\r\n this.cipher.id = cipher.id;\r\n this.platformUtilsService.eventTrack(this.editMode ? 'Edited Cipher' : 'Added Cipher');\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t(this.editMode ? 'editedItem' : 'addedItem'));\r\n this.onSavedCipher.emit(this.cipher);\r\n this.messagingService.send(this.editMode ? 'editedCipher' : 'addedCipher');\r\n return true;\r\n } catch { }\r\n\r\n return false;\r\n }\r\n\r\n addUri() {\r\n if (this.cipher.type !== CipherType.Login) {\r\n return;\r\n }\r\n\r\n if (this.cipher.login.uris == null) {\r\n this.cipher.login.uris = [];\r\n }\r\n\r\n this.cipher.login.uris.push(new LoginUriView());\r\n }\r\n\r\n removeUri(uri: LoginUriView) {\r\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\r\n return;\r\n }\r\n\r\n const i = this.cipher.login.uris.indexOf(uri);\r\n if (i > -1) {\r\n this.cipher.login.uris.splice(i, 1);\r\n }\r\n }\r\n\r\n addField() {\r\n if (this.cipher.fields == null) {\r\n this.cipher.fields = [];\r\n }\r\n\r\n const f = new FieldView();\r\n f.type = this.addFieldType;\r\n this.cipher.fields.push(f);\r\n }\r\n\r\n removeField(field: FieldView) {\r\n const i = this.cipher.fields.indexOf(field);\r\n if (i > -1) {\r\n this.cipher.fields.splice(i, 1);\r\n }\r\n }\r\n\r\n trackByFunction(index: number, item: any) {\r\n return index;\r\n }\r\n\r\n cancel() {\r\n this.onCancelled.emit(this.cipher);\r\n }\r\n\r\n attachments() {\r\n this.onEditAttachments.emit(this.cipher);\r\n }\r\n\r\n share() {\r\n this.onShareCipher.emit(this.cipher);\r\n }\r\n\r\n editCollections() {\r\n this.onEditCollections.emit(this.cipher);\r\n }\r\n\r\n async delete(): Promise {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.deleteCipher();\r\n await this.deletePromise;\r\n this.platformUtilsService.eventTrack('Deleted Cipher');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedItem'));\r\n this.onDeletedCipher.emit(this.cipher);\r\n this.messagingService.send('deletedCipher');\r\n } catch { }\r\n\r\n return true;\r\n }\r\n\r\n async generatePassword(): Promise {\r\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'));\r\n if (!confirmed) {\r\n return false;\r\n }\r\n }\r\n\r\n this.onGeneratePassword.emit();\r\n return true;\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Password on Edit');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('loginPassword').focus();\r\n }\r\n\r\n toggleCardCode() {\r\n this.platformUtilsService.eventTrack('Toggled CardCode on Edit');\r\n this.showCardCode = !this.showCardCode;\r\n document.getElementById('cardCode').focus();\r\n }\r\n\r\n toggleFieldValue(field: FieldView) {\r\n const f = (field as any);\r\n f.showValue = !f.showValue;\r\n }\r\n\r\n toggleUriOptions(uri: LoginUriView) {\r\n const u = (uri as any);\r\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\r\n }\r\n\r\n loginUriMatchChanged(uri: LoginUriView) {\r\n const u = (uri as any);\r\n u.showOptions = u.showOptions == null ? true : u.showOptions;\r\n }\r\n\r\n async organizationChanged() {\r\n if (this.writeableCollections != null) {\r\n this.writeableCollections.forEach((c) => (c as any).checked = false);\r\n }\r\n if (this.cipher.organizationId != null) {\r\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.cipher.organizationId);\r\n const org = await this.userService.getOrganization(this.cipher.organizationId);\r\n if (org != null) {\r\n this.cipher.organizationUseTotp = org.useTotp;\r\n }\r\n } else {\r\n this.collections = [];\r\n }\r\n }\r\n\r\n async checkPassword() {\r\n if (this.checkPasswordPromise != null) {\r\n return;\r\n }\r\n\r\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\r\n return;\r\n }\r\n\r\n this.platformUtilsService.eventTrack('Check Password');\r\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\r\n const matches = await this.checkPasswordPromise;\r\n this.checkPasswordPromise = null;\r\n\r\n if (matches > 0) {\r\n this.platformUtilsService.showToast('warning', null,\r\n this.i18nService.t('passwordExposed', matches.toString()));\r\n } else {\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('passwordSafe'));\r\n }\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly);\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected encryptCipher() {\r\n return this.cipherService.encrypt(this.cipher);\r\n }\r\n\r\n protected saveCipher(cipher: Cipher) {\r\n return this.cipherService.saveWithServer(cipher);\r\n }\r\n\r\n protected deleteCipher() {\r\n return this.cipherService.deleteWithServer(this.cipher.id);\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n @Output() onReuploadedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n reuploadPromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('updateKey'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n\n try {\n this.formPromise = this.saveCipherAttachment(files[0]);\n this.cipherDomain = await this.formPromise;\n this.cipher = await this.cipherDomain.decrypt();\n this.platformUtilsService.eventTrack('Added Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\n this.onUploadedAttachment.emit();\n } catch { }\n\n // reset file input\n // ref: https://stackoverflow.com/a/20552042\n fileEl.type = '';\n fileEl.type = 'file';\n fileEl.value = '';\n }\n\n async delete(attachment: AttachmentView) {\n if (this.deletePromises[attachment.id] != null) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n this.platformUtilsService.eventTrack('Deleted Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedAttachment'));\n const i = this.cipher.attachments.indexOf(attachment);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n } catch { }\n\n this.deletePromises[attachment.id] = null;\n this.onDeletedAttachment.emit();\n }\n\n async download(attachment: AttachmentView) {\n const a = (attachment as any);\n if (a.downloading) {\n return;\n }\n\n if (!this.canAccessAttachments) {\n this.platformUtilsService.showToast('error', this.i18nService.t('premiumRequired'),\n this.i18nService.t('premiumRequiredDesc'));\n return;\n }\n\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const key = attachment.key != null ? attachment.key :\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected async init() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const canAccessPremium = await this.userService.canAccessPremium();\n this.canAccessAttachments = canAccessPremium || this.cipher.organizationId != null;\n\n if (!this.canAccessAttachments) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\n }\n } else if (!this.hasUpdatedKey) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\n if (confirmed) {\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\n }\n }\n }\n\n protected async reuploadCipherAttachment(attachment: AttachmentView, admin: boolean) {\n const a = (attachment as any);\n if (attachment.key != null || a.downloading || this.reuploadPromises[attachment.id] != null) {\n return;\n }\n\n try {\n this.reuploadPromises[attachment.id] = Promise.resolve().then(async () => {\n // 1. Download\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n // 2. Resave\n const buf = await response.arrayBuffer();\n const key = attachment.key != null ? attachment.key :\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.cipherDomain = await this.cipherService.saveAttachmentRawWithServer(\n this.cipherDomain, attachment.fileName, decBuf, admin);\n this.cipher = await this.cipherDomain.decrypt();\n\n // 3. Delete old\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n const foundAttachment = this.cipher.attachments.filter((a2) => a2.id === attachment.id);\n if (foundAttachment.length > 0) {\n const i = this.cipher.attachments.indexOf(foundAttachment[0]);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n }\n\n this.platformUtilsService.eventTrack('Reuploaded Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\n this.onReuploadedAttachment.emit();\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n });\n await this.reuploadPromises[attachment.id];\n } catch { }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\n }\n}\n","import {\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { CipherView } from '../../models/view/cipherView';\r\nimport { CollectionView } from '../../models/view/collectionView';\r\n\r\nimport { Cipher } from '../../models/domain/cipher';\r\n\r\nexport class CollectionsComponent implements OnInit {\r\n @Input() cipherId: string;\r\n @Output() onSavedCollections = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collectionIds: string[];\r\n collections: CollectionView[] = [];\r\n\r\n protected cipherDomain: Cipher;\r\n\r\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\r\n protected i18nService: I18nService, protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n }\r\n\r\n async load() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.collectionIds = this.loadCipherCollections();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.collections = await this.loadCollections();\r\n\r\n this.collections.forEach((c) => (c as any).checked = false);\r\n if (this.collectionIds != null) {\r\n this.collections.forEach((c) => {\r\n (c as any).checked = this.collectionIds != null && this.collectionIds.indexOf(c.id) > -1;\r\n });\r\n }\r\n }\r\n\r\n async submit() {\r\n this.cipherDomain.collectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n try {\r\n this.formPromise = this.saveCollections();\r\n await this.formPromise;\r\n this.onSavedCollections.emit();\r\n this.platformUtilsService.eventTrack('Edited Cipher Collections');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('editedItem'));\r\n } catch { }\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected loadCipherCollections() {\r\n return this.cipherDomain.collectionIds;\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\r\n }\r\n\r\n protected saveCollections() {\r\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { FolderView } from '../../models/view/folderView';\n\nexport class FolderAddEditComponent implements OnInit {\n @Input() folderId: string;\n @Output() onSavedFolder = new EventEmitter();\n @Output() onDeletedFolder = new EventEmitter();\n\n editMode: boolean = false;\n folder: FolderView = new FolderView();\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n try {\n const folder = await this.folderService.encrypt(this.folder);\n this.formPromise = this.folderService.saveWithServer(folder);\n await this.formPromise;\n this.platformUtilsService.eventTrack(this.editMode ? 'Edited Folder' : 'Added Folder');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\n this.onSavedFolder.emit(this.folder);\n return true;\n } catch { }\n\n return false;\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\n await this.deletePromise;\n this.platformUtilsService.eventTrack('Deleted Folder');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n\n protected async init() {\n this.editMode = this.folderId != null;\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editFolder');\n const folder = await this.folderService.get(this.folderId);\n this.folder = await folder.decrypt();\n } else {\n this.title = this.i18nService.t('addFolder');\n }\n }\n}\n","import {\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { Organization } from '../../models/domain/organization';\r\nimport { CipherView } from '../../models/view/cipherView';\r\nimport { CollectionView } from '../../models/view/collectionView';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class ShareComponent implements OnInit {\r\n @Input() cipherId: string;\r\n @Input() organizationId: string;\r\n @Output() onSharedCipher = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collections: CollectionView[] = [];\r\n organizations: Organization[] = [];\r\n\r\n protected writeableCollections: CollectionView[] = [];\r\n\r\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\r\n protected i18nService: I18nService, protected userService: UserService,\r\n protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n }\r\n\r\n async load() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n this.writeableCollections = allCollections.map((c) => c).filter((c) => !c.readOnly)\r\n .sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n const orgs = await this.userService.getAllOrganizations();\r\n this.organizations = orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const cipherDomain = await this.cipherService.get(this.cipherId);\r\n this.cipher = await cipherDomain.decrypt();\r\n if (this.organizationId == null && this.organizations.length > 0) {\r\n this.organizationId = this.organizations[0].id;\r\n }\r\n this.filterCollections();\r\n }\r\n\r\n filterCollections() {\r\n this.writeableCollections.forEach((c) => (c as any).checked = false);\r\n if (this.organizationId == null || this.writeableCollections.length === 0) {\r\n this.collections = [];\r\n } else {\r\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\r\n }\r\n }\r\n\r\n async submit() {\r\n const cipherDomain = await this.cipherService.get(this.cipherId);\r\n const cipherView = await cipherDomain.decrypt();\r\n\r\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\r\n try {\r\n this.formPromise = this.cipherService.shareWithServer(cipherView, this.organizationId,\r\n checkedCollectionIds).then(async () => {\r\n this.onSharedCipher.emit();\r\n this.platformUtilsService.eventTrack('Shared Cipher');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('sharedItem'));\r\n });\r\n await this.formPromise;\r\n } catch { }\r\n }\r\n\r\n get canSave() {\r\n if (this.collections != null) {\r\n for (let i = 0; i < this.collections.length; i++) {\r\n if ((this.collections[i] as any).checked) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'encKeySettings' | i18n}}

\n
\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n \n
\n
\n\n\n\n","
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n

\n {{'yourAccountsFingerprint' | i18n}}:\n \n
\n {{fingerprint}}\n

\n
\n
\n \n
\n","export class UpdateProfileRequest {\n name: string;\n masterPasswordHint: string;\n culture = 'en-US'; // deprecated\n\n constructor(name: string, masterPasswordHint: string) {\n this.name = name;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n }\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n

{{'changeEmailDesc' | i18n : newEmail}}

\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n \n
\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n
\n

{{'kdfIterationsDesc' | i18n : (100000 | number)}}

\n {{'warning' | i18n}}: {{'kdfIterationsWarning' | i18n : (50000 | number)}}\n
\n
\n
\n
\n \n
\n","import { PasswordRequest } from './passwordRequest';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class KdfRequest extends PasswordRequest {\r\n kdf: KdfType;\r\n kdfIterations: number;\r\n}\r\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n \n \n {{'lockOptionsDesc' | i18n}}\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n
\n
\n \n \n \n \n \n
\n {{'enableGravatarsDesc' | i18n}}\n
\n \n
\n","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n

\n \n
\n
\n \n \n
\n \n
\n \n {{'newCustomDomainDesc' | i18n}}\n
\n \n

{{'globalEqDomains' | i18n}}

\n

\n \n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\n \n
\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","
\n

{{'twoStepLogin' | i18n}}

\n
\n

{{'twoStepLoginDesc' | i18n}}

\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\n\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\n \n
\n

\n {{'providers' | i18n}}\n \n \n \n

\n\n\n\n\n\n\n\n\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\n token: string;\n key: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\n type: TwoFactorProviderType;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\n integrationKey: string;\n secretKey: string;\n host: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\n token: string;\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fDeleteRequest extends PasswordVerificationRequest {\n id: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n name: string;\n id: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n}\n","
\n

{{'goPremium' | i18n}}

\n
\n\n {{'alreadyPremiumFromOrg' | i18n}}\n\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpReports' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTotp' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpSupport' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpFuture' | i18n}}\n
  • \n
\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\n \n {{'purchasePremium' | i18n}}\n \n
\n\n

{{'uploadLicenseFilePremium' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\n
\n \n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$') : ('year' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\n | currency:'$'}}\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{'year' | i18n}}\n
\n {{'paymentChargedAnnually' | i18n}}\n

{{'paymentInformation' | i18n}}

\n \n \n
\n","
\n

\n {{'billing' | i18n}}\n

\n \n
\n\n\n

{{(isCreditBalance ? 'accountCredit' : 'accountBalance') | i18n}}

\n

{{creditOrBalance | currency:'$'}}

\n

{{'creditAppliedDesc' | i18n}}

\n \n \n \n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'invoices' | i18n}}

\n

{{'noInvoices' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{i.date | date:'mediumDate'}}\n \n \n \n {{'invoiceNumber' | i18n : i.number}}\n {{i.amount | currency:'$'}}\n \n \n {{'paid' | i18n}}\n \n \n \n {{'unpaid' | i18n}}\n \n
\n

{{'transactions' | i18n}}

\n

{{'noTransactions' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{t.createdDate | date:'mediumDate'}}\n \n {{'chargeNoun' | i18n}}\n \n {{'refundNoun' | i18n}}\n \n \n {{t.details}}\n \n {{t.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n","export class BitPayInvoiceRequest {\r\n userId: string;\r\n organizationId: string;\r\n credit: boolean;\r\n amount: number;\r\n returnUrl: string;\r\n name: string;\r\n email: string;\r\n}\r\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\r\n\r\nexport class PaymentRequest {\r\n paymentMethodType: PaymentMethodType;\r\n paymentToken: string;\r\n}\r\n","export enum TransactionType {\n Charge = 0,\n Credit = 1,\n PromotionalCredit = 2,\n ReferralCredit = 3,\n Refund = 4,\n}\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","
\n

\n {{'premiumMembership' | i18n}}\n \n \n \n

\n
\n\n\n \n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'expiration' | i18n}}
\n
{{sub.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'status' | i18n}}
\n
\n {{(subscription && subscription.status) || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\n '-'}}\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n \n
\n
\n
\n \n
\n \n \n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : sub.maxStorageGb || 0 : sub.storageName || '0 MB'}}

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","export class StorageRequest {\n storageGbAdjustment: number;\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\n\n

{{'uploadLicenseFileOrg' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\n
\n \n
\n
\n
\n

{{'generalInformation' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n

{{'chooseYourPlan' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n

{{'users' | i18n}}

\n
\n
\n \n \n {{'userSeatsHowManyDesc' | i18n}}\n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : plans[plan].baseSeats : (plans[plan].seatPrice | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (storageGb.price | currency:'$') : ('month' | i18n)}}\n
\n
\n
\n
\n
\n \n \n
\n {{'premiumAccessDesc' | i18n : (3.33 | currency:'$') : ('month' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{interval | i18n}}\n
\n {{'paymentChargedWithTrial' | i18n : (interval | i18n) }}\n

{{'paymentInformation' | i18n}}

\n \n
\n
\n \n
\n
\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\r\nimport { PlanType } from '../../enums/planType';\r\n\r\nexport class OrganizationCreateRequest {\r\n name: string;\r\n businessName: string;\r\n billingEmail: string;\r\n planType: PlanType;\r\n key: string;\r\n paymentMethodType: PaymentMethodType;\r\n paymentToken: string;\r\n additionalSeats: number;\r\n additionalStorageGb: number;\r\n premiumAccessAddon: boolean;\r\n collectionName: string;\r\n}\r\n","\n","
\n

{{'importData' | i18n}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-lastpass/\n \n \n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV\n file.\n \n \n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\n \n \n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click\n \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the\n XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n \"Settings\" →\n \"Export\" button and save the file \"As CSV\".\n \n \n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML\n (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save\n the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n \"Settings\". Click\n the \"Export accounts\" button to save the CSV file.\n \n \n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my\n data\" to save\n the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the\n \"Export to .csv File\"\n option. Click \"Export Now\" to save the CSV file.\n \n \n \n The process is exactly the same as importing from Google Chrome.\n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-chrome/\n \n \n Use the\n FF\n Password Exporter application to export your passwords to a CSV file.\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-1password/.\n \n \n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the\n dialog that pops\n up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\n \n \n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the\n warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the\n English\n language, so adjust your settings accordingly.\n \n \n Using the Enpass 6 desktop application, click the menu button and navigate to \"File\" → \"Export\".\n Select the \".json\" file format option and save the JSON file.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\"\n and save the XML\n file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive\n (readable) in JSON format\"\n and save the JSON file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the\n CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export\n all\". Select\n the unencrypted format XML option and save the XML file.\n \n \n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\".\n Click the \"Export\"\n button, enter your password and save the CSV file.\n \n \n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to\n expand the navigation\n bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" →\n \"Account & Data\"\n and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV file\" and then click the\n \"Export\" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not\n be\n exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you\n would like to export\n and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\" export format and click\n the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that\n pops up, select\n the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\n \n \n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss\n JSON - not encrypted\"\n and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All\n Secrets\" and click\n the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a text editor like\n Notepad\n and paste the data. Save the data from the text editor as\n zoho_export.csv.\n \n \n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner.\n Navigate to \"Export\"\n → \"Export as CSV\" and save the CSV file.\n \n \n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and\n click \"Backup to\n CSV\" to save the CSV file.\n \n \n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n GNOME Keyring Import/Export python\n script to your desktop as\n pw_helper.py. Open terminal and run\n chmod +rx Desktop/pw_helper.py and then\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\n my_passwords.json file here to Bitwarden.\n \n \n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to\n export\" button and\n check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\" button to save the\n CSV\n file.\n \n \n Log into the Passpack website vault and navigate to \"Settings\" → \"Export\", then click the \"Download\"\n button to save\n the CSV file.\n \n \n Open your Passman vault and click on \"Settings\" in the bottom left corner. In the \"Settings\" window switch\n to the\n \"Export credentials\" tab and choose \"JSON\" as the export type. Enter your vault's passphrase and click the\n \"Export\"\n button to save the JSON file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the\n \"Export\" button for the \"Export to CSV file\" option to save the CSV file.\n \n \n Open the F-Secure KEY desktop application and navigate to \"Settings\" → \"Export Passwords\". Select the\n \"Export\" button, enter your master password, and save the FSK file.\n \n \n Open the Kaspersky Password Manager desktop application and navigate to \"Settings\" → \"Import/Export\".\n Locate\n the \"Export to text file\" section and select the \"Export\" button to save the TXT file.\n \n \n Open the RememBear desktop application and navigate to \"Settings\" → \"Account\" → \"Export\".\n Enter your master password and select the \"Export Anyway\" button to save the CSV file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n {{'exportWarningDesc' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n","import {\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { ExportService } from '../../abstractions/export.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class ExportComponent {\r\n @Output() onSaved = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n masterPassword: string;\r\n format: 'json' | 'csv' = 'json';\r\n showPassword = false;\r\n\r\n constructor(protected cryptoService: CryptoService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected exportService: ExportService,\r\n protected win: Window) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n return;\r\n }\r\n\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\r\n try {\r\n this.formPromise = this.getExportData();\r\n const data = await this.formPromise;\r\n this.platformUtilsService.eventTrack('Exported Data');\r\n this.downloadFile(data);\r\n this.saved();\r\n } catch { }\r\n } else {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Export');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n\r\n protected saved() {\r\n this.onSaved.emit();\r\n }\r\n\r\n protected getExportData() {\r\n return this.exportService.getExport(this.format);\r\n }\r\n\r\n protected getFileName(prefix?: string) {\r\n return this.exportService.getFileName(prefix, this.format);\r\n }\r\n\r\n private downloadFile(csv: string): void {\r\n const fileName = this.getFileName();\r\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\r\n }\r\n}\r\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class PasswordGeneratorComponent implements OnInit {\n @Input() showSelect: boolean = false;\n @Output() onSelected = new EventEmitter();\n\n options: any = {};\n password: string = '-';\n showOptions = false;\n avoidAmbiguous = false;\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n this.options = await this.passwordGenerationService.getOptions();\n this.avoidAmbiguous = !this.options.ambiguous;\n this.options.type = this.options.type === 'passphrase' ? 'passphrase' : 'password';\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.platformUtilsService.eventTrack('Generated Password');\n await this.passwordGenerationService.addHistory(this.password);\n }\n\n async sliderChanged() {\n this.saveOptions(false);\n await this.passwordGenerationService.addHistory(this.password);\n this.platformUtilsService.eventTrack('Regenerated Password');\n }\n\n async sliderInput() {\n this.normalizeOptions();\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n }\n\n async saveOptions(regenerate: boolean = true) {\n this.normalizeOptions();\n await this.passwordGenerationService.saveOptions(this.options);\n\n if (regenerate) {\n await this.regenerate();\n }\n }\n\n async regenerate() {\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n await this.passwordGenerationService.addHistory(this.password);\n this.platformUtilsService.eventTrack('Regenerated Password');\n }\n\n copy() {\n this.platformUtilsService.eventTrack('Copied Generated Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.platformUtilsService.eventTrack('Selected Generated Password');\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n this.options.minLowercase = 0;\n this.options.minUppercase = 0;\n this.options.ambiguous = !this.avoidAmbiguous;\n\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\n this.options.lowercase = true;\n if (this.win != null) {\n const lowercase = this.win.document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n }\n\n if (!this.options.length || this.options.length < 5) {\n this.options.length = 5;\n } else if (this.options.length > 128) {\n this.options.length = 128;\n }\n\n if (!this.options.minNumber) {\n this.options.minNumber = 0;\n } else if (this.options.minNumber > this.options.length) {\n this.options.minNumber = this.options.length;\n } else if (this.options.minNumber > 9) {\n this.options.minNumber = 9;\n }\n\n if (!this.options.minSpecial) {\n this.options.minSpecial = 0;\n } else if (this.options.minSpecial > this.options.length) {\n this.options.minSpecial = this.options.length;\n } else if (this.options.minSpecial > 9) {\n this.options.minSpecial = 9;\n }\n\n if (this.options.minSpecial + this.options.minNumber > this.options.length) {\n this.options.minSpecial = this.options.length - this.options.minNumber;\n }\n\n if (this.options.numWords == null || this.options.length < 3) {\n this.options.numWords = 3;\n } else if (this.options.numWords > 20) {\n this.options.numWords = 20;\n }\n\n if (this.options.wordSeparator != null && this.options.wordSeparator.length > 1) {\n this.options.wordSeparator = this.options.wordSeparator[0];\n }\n }\n}\n","import { OnInit } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { GeneratedPasswordHistory } from '../../models/domain/generatedPasswordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: GeneratedPasswordHistory[] = [];\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n private win: Window) { }\r\n\r\n async ngOnInit() {\r\n this.history = await this.passwordGenerationService.getHistory();\r\n }\r\n\r\n clear() {\r\n this.history = [];\r\n this.passwordGenerationService.clear();\r\n }\r\n\r\n copy(password: string) {\r\n this.platformUtilsService.eventTrack('Copied Historical Password');\r\n const copyOptions = this.win != null ? { window: this.win } : null;\r\n this.platformUtilsService.copyToClipboard(password, copyOptions);\r\n this.platformUtilsService.showToast('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n}\r\n","
\n

{{'dataBreachReport' | i18n}}

\n
\n

{{'breachDesc' | i18n}}

\n
\n
\n
\n \n \n {{'breachCheckUsernameEmail' | i18n}}\n
\n
\n \n
\n
\n

{{'reportError' | i18n}}...

\n \n \n {{'breachUsernameNotFound' | i18n : checkedUsername}}\n \n \n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\n \n
    \n
  • \n
    \n
    \n \"\"\n
    \n
    \n

    {{a.title}}

    \n

    \n

    {{'compromisedData' | i18n}}:

    \n
      \n
    • {{d}}
    • \n
    \n
    \n
    \n
    \n
    {{'website' | i18n}}
    \n
    {{a.domain}}
    \n
    {{'affectedUsers' | i18n}}
    \n
    {{a.pwnCount | number}}
    \n
    {{'breachOccurred' | i18n}}
    \n
    {{a.breachDate | date: 'mediumDate'}}
    \n
    {{'breachReported' | i18n}}
    \n
    {{a.addedDate | date: 'mediumDate'}}
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n","
\n

\n {{'reusedPasswordsReport' | i18n}}\n \n \n \n

\n
\n

{{'reusedPasswordsReportDesc' | i18n}}

\n
\n \n
\n
\n \n {{'noReusedPasswords' | i18n}}\n \n \n \n {{'reusedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n {{'reusedXTimes' | i18n : passwordUseMap.get(c.login.password)}}\n \n
\n
\n
\n\n","
\n

\n {{'unsecuredWebsitesReport' | i18n}}\n \n \n \n

\n
\n

{{'unsecuredWebsitesReportDesc' | i18n}}

\n
\n \n
\n
\n \n {{'noUnsecuredWebsites' | i18n}}\n \n \n \n {{'unsecuredWebsitesFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n
\n
\n\n","
\n

\n {{'weakPasswordsReport' | i18n}}\n \n \n \n

\n
\n

{{'weakPasswordsReportDesc' | i18n}}

\n
\n \n
\n
\n \n {{'noWeakPasswords' | i18n}}\n \n \n \n {{'weakPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n {{passwordStrengthMap.get(c.id)[0] | i18n}}\n \n
\n
\n
\n\n","
\n

{{'exposedPasswordsReport' | i18n}}

\n
\n

{{'exposedPasswordsReportDesc' | i18n}}

\n\n
\n \n {{'noExposedPasswords' | i18n}}\n \n \n \n {{'exposedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n {{'exposedXTimes' | i18n : (exposedPasswordMap.get(c.id) | number)}}\n \n
\n
\n
\n\n","
\n

\n {{'inactive2faReport' | i18n}}\n \n \n \n

\n
\n

{{'inactive2faReportDesc' | i18n}}

\n
\n \n
\n
\n \n {{'noInactive2fa' | i18n}}\n \n \n \n {{'inactive2faFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n {{'instructions' | i18n}}\n
\n
\n
\n\n","\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n
\n \n {{'organizationIsDisabled' | i18n}}\n
\n
\n
\n \n
\n
\n\n\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'vault' | i18n}}\n \n \n \n

\n \n
\n \n \n
\n
\n
\n\n\n\n\n","export enum EventType {\r\n User_LoggedIn = 1000,\r\n User_ChangedPassword = 1001,\r\n User_Updated2fa = 1002,\r\n User_Disabled2fa = 1003,\r\n User_Recovered2fa = 1004,\r\n User_FailedLogIn = 1005,\r\n User_FailedLogIn2fa = 1006,\r\n\r\n Cipher_Created = 1100,\r\n Cipher_Updated = 1101,\r\n Cipher_Deleted = 1102,\r\n Cipher_AttachmentCreated = 1103,\r\n Cipher_AttachmentDeleted = 1104,\r\n Cipher_Shared = 1105,\r\n Cipher_UpdatedCollections = 1106,\r\n\r\n Collection_Created = 1300,\r\n Collection_Updated = 1301,\r\n Collection_Deleted = 1302,\r\n\r\n Group_Created = 1400,\r\n Group_Updated = 1401,\r\n Group_Deleted = 1402,\r\n\r\n OrganizationUser_Invited = 1500,\r\n OrganizationUser_Confirmed = 1501,\r\n OrganizationUser_Updated = 1502,\r\n OrganizationUser_Removed = 1503,\r\n OrganizationUser_UpdatedGroups = 1504,\r\n\r\n Organization_Updated = 1600,\r\n Organization_PurgedVault = 1601,\r\n}\r\n","\n","\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n
\n\n\n","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n\n

{{'noEventsInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\n\n\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n {{'usersNeedConfirmed' | i18n}}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n\n\n\n\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n\n
\n

{{'apiKey' | i18n}}

\n
\n

\n {{'apiKeyDesc' | i18n}}\n \n {{'learnMore' | i18n}}\n \n

\n \n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n

{{'taxInformationDesc' | i18n}}

\n\n {{'contactSupport' | i18n}}\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n
\n
\n\n\n\n\n","export class OrganizationUpdateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n}\n","
\n

\n {{'subscription' | i18n}}\n \n \n \n

\n
\n\n\n \n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan}}
\n
{{'expiration' | i18n}}
\n
\n {{sub.expiration | date:'mediumDate'}}\n \n \n {{'licenseIsExpired' | i18n}}\n \n
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan}}
\n \n
{{'status' | i18n}}
\n
\n {{subscription.status || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\n : '-'}}\n
\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n \n
\n

{{'userSeats' | i18n}}

\n

{{'subscriptionUserSeats' | i18n : sub.seats}}

\n \n
\n
\n \n \n
\n \n
\n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : sub.maxStorageGb || 0 : sub.storageName || '0 MB'}}

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","
\n
\n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\n \n
\n
\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n {{totpSec}}\n \n \n \n \n \n \n \n {{totpCodeFormatted}}\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n \n {{'newUri' | i18n}}\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

{{'customFields' | i18n}}

\n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n 1\">\n

{{'ownership' | i18n}}

\n
\n
\n \n \n
\n
\n
\n \n

{{'collections' | i18n}}

\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n
\n \n \n
\n
\n
\n \n
\n
\n {{'dateUpdated' | i18n}}:\n {{cipher.revisionDate | date:'medium'}}\n
\n
\n {{'datePasswordUpdated' | i18n}}:\n {{cipher.passwordRevisionDisplayDate | date:'medium'}}\n
\n
\n {{'passwordHistory' | i18n}}:\n \n {{cipher.passwordHistory.length}}\n \n
\n
\n
\n {{ph.lastUsedDate | date:'short'}} -\n {{ph.password}}\n
\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'attachments' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n {{a.fileName}}\n
\n \n \n \n
\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'deleteSelected' | i18n}}\n

\n \n
\n
\n {{'deleteSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'moveSelected' | i18n}}\n

\n \n
\n
\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'shareSelected' | i18n}}\n

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsCountDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}\n

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'collections' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'collectionsDesc' | i18n}}

\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deauthorizeSessions' | i18n}}

\n \n
\n
\n

{{'deauthorizeSessionsDesc' | i18n}}

\n {{'deauthorizeSessionsWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteAccount' | i18n}}

\n \n
\n
\n

{{'deleteAccountDesc' | i18n}}

\n {{'deleteAccountWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteOrganization' | i18n}}

\n \n
\n
\n

{{'deleteOrganizationDesc' | i18n}}

\n {{'deleteOrganizationWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","","
\n
\n
\n
\n

{{'apiKey' | i18n}}

\n \n
\n
\n

{{'apiKeyDesc' | i18n}}

\n \n \n \n \n {{'apiKeyWarning' | i18n}}\n \n

\n client_id:
\n {{clientId}}\n

\n

\n client_secret:
\n {{clientSecret}}\n

\n

\n scope:
\n {{scope}}\n

\n

\n grant_type:
\n client_credentials\n

\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | i18n}}\n
\n \n

\n {{'groupAccess' | i18n}}\n
\n \n \n
\n

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{g.name}}\n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'eventLogs' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n
\n {{'noEventsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'userAccess' | i18n}}\n {{entityName}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noUsersInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
  {{'name' | i18n}} {{'userType' | i18n}}{{'readOnly' |\n i18n}}
\n \n \n \n \n {{u.email}}\n {{'invited'\n | i18n}}\n {{'accepted'\n | i18n}}\n {{u.name}}\n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | i18n}}\n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'rotateApiKey' | i18n}}

\n \n
\n
\n

{{'apiKeyRotateDesc' | i18n}}

\n \n \n \n \n {{'apiKeyWarning' | i18n}}\n \n

\n client_id:
\n {{clientId}}\n

\n

\n client_secret:
\n {{clientSecret}}\n

\n

\n scope:
\n {{scope}}\n

\n

\n grant_type:
\n client_credentials\n

\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{title}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n \n

{{'inviteUserDesc' | i18n}}

\n
\n \n \n {{'inviteMultipleEmailDesc' | i18n : '20'}}\n
\n
\n

{{'userType' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'confirmUser' | i18n}}\n {{name}}\n

\n \n
\n
\n

\n {{'fingerprintEnsureIntegrityVerify' | i18n}}\n \n {{'learnMore' | i18n}}\n

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'groupAccess' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n

{{'groupAccessUserDesc' | i18n}}

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{g.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    \n {{h.date | date:'medium'}}\n
    \n
    \n \n
    \n
  • \n
\n
\n {{'noPasswordsInList' | i18n}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{(organizationId ? 'purgeOrgVaultDesc' : 'purgeVaultDesc') | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'share' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n {{'noOrganizationsList' | i18n}}\n
\n
\n

{{'shareDesc' | i18n}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n {{'newOrganization' | i18n}}\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'authenticatorAppTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \"\"\n

{{'twoStepAuthenticatorDesc' | i18n}}

\n

\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\n

\n
\n \n \n

{{'twoStepLoginProviderEnabled' | i18n}}

\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\n
\n \"\"\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\n
\n \n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\n

\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\n

\n
\n

\n
\n {{key}}\n

\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n Duo\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \"\"\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\n
\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\n
\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\n
\n \n \"\"\n

{{'twoFactorDuoDesc' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'emailTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n {{'email' | i18n}}: {{email}}\n \n \n

\n {{'twoFactorEmailDesc' | i18n}}\n \"\"\n

\n
\n \n \n
\n
\n \n \n {{'verificationCodeEmailSent' | i18n : sentEmail}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'recoveryCodeTitle' | i18n}}\n

\n \n
\n \n \n \n
\n \n

{{'twoFactorRecoveryYourCode' | i18n}}:

\n {{code}}\n
\n \n {{'twoFactorRecoveryNoCode' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n FIDO U2F\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorU2fWarning' | i18n}}

\n
    \n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \n
\n
\n \"\"\n
    \n
  • \n \n {{'u2fkeyX' | i18n : i + 1}}\n {{k.name}}\n \n 1 && k.configured\">\n \n -\n {{'remove' | i18n}}\n \n
  • \n
\n
\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fGiveName' | i18n}}
  2. \n
  3. {{'twoFactorU2fPlugInReadKey' | i18n}}
  4. \n
  5. {{'twoFactorU2fTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorU2fSaveForm' | i18n}}
  8. \n
\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n {{'twoFactorU2fWaiting' | i18n}}...\n \n \n \n {{'twoFactorU2fClickSave' | i18n}}\n \n \n \n {{'twoFactorU2fProblemReadingTryAgain' | i18n}}\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n YubiKey\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorYubikeyWarning' | i18n}}

\n
    \n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \n
\n
\n \"\"\n

{{'twoFactorYubikeyAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \n
\n
\n
\n
\n \n \n
\n {{k.existingKey}}\n \n
\n
\n
\n {{'nfcSupport' | i18n}}\n
\n \n \n
\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'updateEncryptionKey' | i18n}}

\n \n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n {{'updateEncryptionKeyWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","\n\n","import {\n APP_INITIALIZER,\n LOCALE_ID,\n NgModule,\n} from '@angular/core';\n\nimport { ToasterModule } from 'angular2-toaster';\n\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\nimport { I18nService } from '../../services/i18n.service';\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\n\nimport { EventService } from './event.service';\nimport { OrganizationGuardService } from './organization-guard.service';\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\nimport { RouterService } from './router.service';\nimport { UnauthGuardService } from './unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\nimport { ValidationService } from 'jslib/angular/services/validation.service';\n\nimport { Analytics } from 'jslib/misc/analytics';\n\nimport { ApiService } from 'jslib/services/api.service';\nimport { AppIdService } from 'jslib/services/appId.service';\nimport { AuditService } from 'jslib/services/audit.service';\nimport { AuthService } from 'jslib/services/auth.service';\nimport { CipherService } from 'jslib/services/cipher.service';\nimport { CollectionService } from 'jslib/services/collection.service';\nimport { ConstantsService } from 'jslib/services/constants.service';\nimport { ContainerService } from 'jslib/services/container.service';\nimport { CryptoService } from 'jslib/services/crypto.service';\nimport { EnvironmentService } from 'jslib/services/environment.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { ImportService } from 'jslib/services/import.service';\nimport { LockService } from 'jslib/services/lock.service';\nimport { NotificationsService } from 'jslib/services/notifications.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { SearchService } from 'jslib/services/search.service';\nimport { SettingsService } from 'jslib/services/settings.service';\nimport { StateService } from 'jslib/services/state.service';\nimport { SyncService } from 'jslib/services/sync.service';\nimport { TokenService } from 'jslib/services/token.service';\nimport { TotpService } from 'jslib/services/totp.service';\nimport { UserService } from 'jslib/services/user.service';\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\n\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\nimport { ImportService as ImportServiceAbstraction } from 'jslib/abstractions/import.service';\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from 'jslib/abstractions/notifications.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService as SearchServiceAbstraction } from 'jslib/abstractions/search.service';\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\n\nconst i18nService = new I18nService(window.navigator.language, 'locales');\nconst stateService = new StateService();\nconst broadcasterService = new BroadcasterService();\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\nconst platformUtilsService = new WebPlatformUtilsService(i18nService, messagingService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\nconst tokenService = new TokenService(storageService);\nconst appIdService = new AppIdService(storageService);\nconst apiService = new ApiService(tokenService, platformUtilsService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nexport let searchService: SearchService = null;\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, () => searchService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nsearchService = new SearchService(cipherService, platformUtilsService);\nconst lockService = new LockService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, searchService, null);\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst importService = new ImportService(cipherService, folderService, apiService, i18nService, collectionService);\nconst notificationsService = new NotificationsService(userService, syncService, appIdService,\n apiService, lockService, async () => messagingService.send('logout', { expired: true }));\nconst environmentService = new EnvironmentService(apiService, storageService, notificationsService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\n\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\n platformUtilsService, storageService, appIdService);\ncontainerService.attachToWindow(window);\n\nexport function initFactory(): Function {\n return async () => {\n await (storageService as HtmlStorageService).init();\n const isDev = platformUtilsService.isDev();\n if (!isDev && platformUtilsService.isSelfHost()) {\n environmentService.baseUrl = window.location.origin;\n } else {\n environmentService.notificationsUrl = isDev ? 'http://localhost:61840' :\n 'https://notifications.bitwarden.com'; // window.location.origin + '/notifications';\n }\n apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n\n // Uncomment these (and comment out the above) if you want to target production\n // servers for local development.\n\n // base: null,\n // api: 'https://api.bitwarden.com',\n // identity: 'https://identity.bitwarden.com',\n });\n setTimeout(() => notificationsService.init(environmentService), 3000);\n\n lockService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n authService.init();\n const htmlEl = window.document.documentElement;\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\n let theme = await storageService.get(ConstantsService.themeKey);\n if (theme == null) {\n theme = 'light';\n }\n htmlEl.classList.add('theme_' + theme);\n stateService.save(ConstantsService.disableFaviconKey,\n await storageService.get(ConstantsService.disableFaviconKey));\n stateService.save('enableGravatars', await storageService.get('enableGravatars'));\n };\n}\n\n@NgModule({\n imports: [\n ToasterModule,\n ],\n declarations: [],\n providers: [\n ValidationService,\n AuthGuardService,\n OrganizationGuardService,\n OrganizationTypeGuardService,\n UnauthGuardService,\n RouterService,\n EventService,\n { provide: AuditServiceAbstraction, useValue: auditService },\n { provide: AuthServiceAbstraction, useValue: authService },\n { provide: CipherServiceAbstraction, useValue: cipherService },\n { provide: FolderServiceAbstraction, useValue: folderService },\n { provide: CollectionServiceAbstraction, useValue: collectionService },\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\n { provide: TotpServiceAbstraction, useValue: totpService },\n { provide: TokenServiceAbstraction, useValue: tokenService },\n { provide: I18nServiceAbstraction, useValue: i18nService },\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\n { provide: ApiServiceAbstraction, useValue: apiService },\n { provide: SyncServiceAbstraction, useValue: syncService },\n { provide: UserServiceAbstraction, useValue: userService },\n { provide: MessagingServiceAbstraction, useValue: messagingService },\n { provide: BroadcasterService, useValue: broadcasterService },\n { provide: SettingsServiceAbstraction, useValue: settingsService },\n { provide: LockServiceAbstraction, useValue: lockService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n { provide: SearchServiceAbstraction, useValue: searchService },\n { provide: ImportServiceAbstraction, useValue: importService },\n { provide: NotificationsServiceAbstraction, useValue: notificationsService },\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\n {\n provide: APP_INITIALIZER,\n useFactory: initFactory,\n deps: [],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n useFactory: () => i18nService.translationLocale,\n deps: [],\n },\n ],\n})\nexport class ServicesModule {\n}\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nexport class BroadcasterMessagingService implements MessagingService {\r\n constructor(private broadcasterService: BroadcasterService) { }\r\n\r\n send(subscriber: string, arg: any = {}) {\r\n const message = Object.assign({}, { command: subscriber }, arg);\r\n this.broadcasterService.send(message);\r\n }\r\n}\r\n","import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { ConstantsService } from 'jslib/services';\n\nexport class HtmlStorageService implements StorageService {\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\n ConstantsService.disableFaviconKey, ConstantsService.lockOptionKey, 'rememberEmail', 'enableGravatars',\n ConstantsService.localeKey, ConstantsService.lockOptionKey, ConstantsService.autoConfirmFingerprints]);\n private localStorageStartsWithKeys = ['twoFactorToken_', ConstantsService.collapsedGroupingsKey + '_'];\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n async init() {\n const lockOption = await this.get(ConstantsService.lockOptionKey);\n if (lockOption == null && !this.platformUtilsService.isDev()) {\n await this.save(ConstantsService.lockOptionKey, 15);\n }\n }\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else {\n json = window.sessionStorage.getItem(key);\n }\n if (json != null) {\n const obj = JSON.parse(json);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n\n const json = JSON.stringify(obj);\n if (this.isLocalStorage(key)) {\n window.localStorage.setItem(key, json);\n } else {\n window.sessionStorage.setItem(key, json);\n }\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n if (this.isLocalStorage(key)) {\n window.localStorage.removeItem(key);\n } else {\n window.sessionStorage.removeItem(key);\n }\n return Promise.resolve();\n }\n\n private isLocalStorage(key: string): boolean {\n if (this.localStorageKeys.has(key)) {\n return true;\n }\n for (const swKey of this.localStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\n","export { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { ConstantsService } from './constants.service';\nexport { ContainerService } from './container.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LockService } from './lock.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { SettingsService } from './settings.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\n","import { BaseResponse } from './baseResponse';\n\nexport class ApiKeyResponse extends BaseResponse {\n apiKey: string;\n\n constructor(response: any) {\n super(response);\n this.apiKey = this.getResponseProperty('ApiKey');\n }\n}\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { PaymentMethodType } from '../../enums/paymentMethodType';\r\nimport { TransactionType } from '../../enums/transactionType';\r\n\r\nexport class BillingResponse extends BaseResponse {\r\n balance: number;\r\n paymentSource: BillingSourceResponse;\r\n invoices: BillingInvoiceResponse[] = [];\r\n transactions: BillingTransactionResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.balance = this.getResponseProperty('Balance');\r\n const paymentSource = this.getResponseProperty('PaymentSource');\r\n const transactions = this.getResponseProperty('Transactions');\r\n const invoices = this.getResponseProperty('Invoices');\r\n this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource);\r\n if (transactions != null) {\r\n this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t));\r\n }\r\n if (invoices != null) {\r\n this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i));\r\n }\r\n }\r\n}\r\n\r\nexport class BillingSourceResponse extends BaseResponse {\r\n type: PaymentMethodType;\r\n cardBrand: string;\r\n description: string;\r\n needsVerification: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.cardBrand = this.getResponseProperty('CardBrand');\r\n this.description = this.getResponseProperty('Description');\r\n this.needsVerification = this.getResponseProperty('NeedsVerification');\r\n }\r\n}\r\n\r\nexport class BillingInvoiceResponse extends BaseResponse {\r\n url: string;\r\n pdfUrl: string;\r\n number: string;\r\n paid: boolean;\r\n date: string;\r\n amount: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.url = this.getResponseProperty('Url');\r\n this.pdfUrl = this.getResponseProperty('PdfUrl');\r\n this.number = this.getResponseProperty('Number');\r\n this.paid = this.getResponseProperty('Paid');\r\n this.date = this.getResponseProperty('Date');\r\n this.amount = this.getResponseProperty('Amount');\r\n }\r\n}\r\n\r\nexport class BillingTransactionResponse extends BaseResponse {\r\n createdDate: string;\r\n amount: number;\r\n refunded: boolean;\r\n partiallyRefunded: boolean;\r\n refundedAmount: number;\r\n type: TransactionType;\r\n paymentMethodType: PaymentMethodType;\r\n details: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.createdDate = this.getResponseProperty('CreatedDate');\r\n this.amount = this.getResponseProperty('Amount');\r\n this.refunded = this.getResponseProperty('Refunded');\r\n this.partiallyRefunded = this.getResponseProperty('PartiallyRefunded');\r\n this.refundedAmount = this.getResponseProperty('RefundedAmount');\r\n this.type = this.getResponseProperty('Type');\r\n this.paymentMethodType = this.getResponseProperty('PaymentMethodType');\r\n this.details = this.getResponseProperty('Details');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class BreachAccountResponse extends BaseResponse {\r\n addedDate: string;\r\n breachDate: string;\r\n dataClasses: string[];\r\n description: string;\r\n domain: string;\r\n isActive: boolean;\r\n isVerified: boolean;\r\n logoPath: string;\r\n modifiedDate: string;\r\n name: string;\r\n pwnCount: number;\r\n title: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.addedDate = this.getResponseProperty('AddedDate');\r\n this.breachDate = this.getResponseProperty('BreachDate');\r\n this.dataClasses = this.getResponseProperty('DataClasses');\r\n this.description = this.getResponseProperty('Description');\r\n this.domain = this.getResponseProperty('Domain');\r\n this.isActive = this.getResponseProperty('IsActive');\r\n this.isVerified = this.getResponseProperty('IsVerified');\r\n this.logoPath = this.getResponseProperty('LogoPath');\r\n this.modifiedDate = this.getResponseProperty('ModifiedDate');\r\n this.name = this.getResponseProperty('Name');\r\n this.pwnCount = this.getResponseProperty('PwnCount');\r\n this.title = this.getResponseProperty('Title');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class AttachmentResponse extends BaseResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n key: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.url = this.getResponseProperty('Url');\r\n this.fileName = this.getResponseProperty('FileName');\r\n this.key = this.getResponseProperty('Key');\r\n this.size = this.getResponseProperty('Size');\r\n this.sizeName = this.getResponseProperty('SizeName');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class PasswordHistoryResponse extends BaseResponse {\r\n password: string;\r\n lastUsedDate: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.password = this.getResponseProperty('Password');\r\n this.lastUsedDate = this.getResponseProperty('LastUsedDate');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class GlobalDomainResponse extends BaseResponse {\r\n type: number;\r\n domains: string[];\r\n excluded: number[];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.domains = this.getResponseProperty('Domains');\r\n this.excluded = this.getResponseProperty('Excluded');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\n\nexport class ErrorResponse extends BaseResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n super(response);\n let errorModel = null;\n if (response != null) {\n const responseErrorModel = this.getResponseProperty('ErrorModel');\n if (responseErrorModel && identityResponse) {\n errorModel = responseErrorModel;\n } else {\n errorModel = response;\n }\n }\n\n if (errorModel) {\n this.message = this.getResponseProperty('Message', errorModel);\n this.validationErrors = this.getResponseProperty('ValidationErrors', errorModel);\n } else {\n if (status === 429) {\n this.message = 'Rate limit exceeded. Try again later.';\n }\n }\n this.statusCode = status;\n }\n\n getSingleMessage(): string {\n if (this.validationErrors == null) {\n return this.message;\n }\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n if (this.validationErrors[key].length) {\n return this.validationErrors[key][0];\n }\n }\n return this.message;\n }\n\n getAllMessages(): string[] {\n const messages: string[] = [];\n if (this.validationErrors == null) {\n return messages;\n }\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n this.validationErrors[key].forEach((item: string) => {\n let prefix = '';\n if (key.indexOf('[') > -1 && key.indexOf(']') > -1) {\n const lastSep = key.lastIndexOf('.');\n prefix = key.substr(0, lastSep > -1 ? lastSep : key.length) + ': ';\n }\n messages.push(prefix + item);\n });\n }\n return messages;\n }\n}\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { DeviceType } from '../../enums/deviceType';\r\nimport { EventType } from '../../enums/eventType';\r\n\r\nexport class EventResponse extends BaseResponse {\r\n type: EventType;\r\n userId: string;\r\n organizationId: string;\r\n cipherId: string;\r\n collectionId: string;\r\n groupId: string;\r\n organizationUserId: string;\r\n actingUserId: string;\r\n date: string;\r\n deviceType: DeviceType;\r\n ipAddress: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.cipherId = this.getResponseProperty('CipherId');\r\n this.collectionId = this.getResponseProperty('CollectionId');\r\n this.groupId = this.getResponseProperty('GroupId');\r\n this.organizationUserId = this.getResponseProperty('OrganizationUserId');\r\n this.actingUserId = this.getResponseProperty('ActingUserId');\r\n this.date = this.getResponseProperty('Date');\r\n this.deviceType = this.getResponseProperty('DeviceType');\r\n this.ipAddress = this.getResponseProperty('IpAddress');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\r\n\r\nexport class GroupResponse extends BaseResponse {\r\n id: string;\r\n organizationId: string;\r\n name: string;\r\n accessAll: boolean;\r\n externalId: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.name = this.getResponseProperty('Name');\r\n this.accessAll = this.getResponseProperty('AccessAll');\r\n this.externalId = this.getResponseProperty('ExternalId');\r\n }\r\n}\r\n\r\nexport class GroupDetailsResponse extends GroupResponse {\r\n collections: SelectionReadOnlyResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n const collections = this.getResponseProperty('Collections');\r\n if (collections != null) {\r\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class IdentityTokenResponse extends BaseResponse {\r\n accessToken: string;\r\n expiresIn: number;\r\n refreshToken: string;\r\n tokenType: string;\r\n\r\n privateKey: string;\r\n key: string;\r\n twoFactorToken: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.accessToken = response.access_token;\r\n this.expiresIn = response.expires_in;\r\n this.refreshToken = response.refresh_token;\r\n this.tokenType = response.token_type;\r\n\r\n this.privateKey = this.getResponseProperty('PrivateKey');\r\n this.key = this.getResponseProperty('Key');\r\n this.twoFactorToken = this.getResponseProperty('TwoFactorToken');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class IdentityTwoFactorResponse extends BaseResponse {\r\n twoFactorProviders: TwoFactorProviderType[];\r\n twoFactorProviders2 = new Map();\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.twoFactorProviders = this.getResponseProperty('TwoFactorProviders');\r\n const twoFactorProviders2 = this.getResponseProperty('TwoFactorProviders2');\r\n if (twoFactorProviders2 != null) {\r\n for (const prop in twoFactorProviders2) {\r\n if (twoFactorProviders2.hasOwnProperty(prop)) {\r\n this.twoFactorProviders2.set(parseInt(prop, null), twoFactorProviders2[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class ListResponse extends BaseResponse {\r\n data: T[];\r\n continuationToken: string;\r\n\r\n constructor(response: any, t: new (dataResponse: any) => T) {\r\n super(response);\r\n const data = this.getResponseProperty('Data');\r\n this.data = data == null ? [] : data.map((dr: any) => new t(dr));\r\n this.continuationToken = this.getResponseProperty('ContinuationToken');\r\n }\r\n}\r\n","import { OrganizationResponse } from './organizationResponse';\r\nimport {\r\n BillingSubscriptionResponse,\r\n BillingSubscriptionUpcomingInvoiceResponse,\r\n} from './subscriptionResponse';\r\n\r\nexport class OrganizationSubscriptionResponse extends OrganizationResponse {\r\n storageName: string;\r\n storageGb: number;\r\n subscription: BillingSubscriptionResponse;\r\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\r\n expiration: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.storageName = this.getResponseProperty('StorageName');\r\n this.storageGb = this.getResponseProperty('StorageGb');\r\n const subscription = this.getResponseProperty('Subscription');\r\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\r\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\r\n this.upcomingInvoice = upcomingInvoice == null ? null :\r\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\r\n this.expiration = this.getResponseProperty('Expiration');\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nimport { BaseResponse } from './baseResponse';\r\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\r\n\r\nexport class OrganizationUserResponse extends BaseResponse {\r\n id: string;\r\n userId: string;\r\n type: OrganizationUserType;\r\n status: OrganizationUserStatusType;\r\n accessAll: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.type = this.getResponseProperty('Type');\r\n this.status = this.getResponseProperty('Status');\r\n this.accessAll = this.getResponseProperty('AccessAll');\r\n }\r\n}\r\n\r\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\r\n name: string;\r\n email: string;\r\n twoFactorEnabled: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.name = this.getResponseProperty('Name');\r\n this.email = this.getResponseProperty('Email');\r\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\r\n }\r\n}\r\n\r\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\r\n collections: SelectionReadOnlyResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n const collections = this.getResponseProperty('Collections');\r\n if (collections != null) {\r\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class PreloginResponse extends BaseResponse {\r\n kdf: KdfType;\r\n kdfIterations: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.kdf = this.getResponseProperty('Kdf');\r\n this.kdfIterations = this.getResponseProperty('KdfIterations');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nexport class ProfileOrganizationResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n selfHost: boolean;\r\n usersGetPremium: boolean;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb?: number;\r\n key: string;\r\n status: OrganizationUserStatusType;\r\n type: OrganizationUserType;\r\n enabled: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.useGroups = this.getResponseProperty('UseGroups');\r\n this.useDirectory = this.getResponseProperty('UseDirectory');\r\n this.useEvents = this.getResponseProperty('UseEvents');\r\n this.useTotp = this.getResponseProperty('UseTotp');\r\n this.use2fa = this.getResponseProperty('Use2fa');\r\n this.useApi = this.getResponseProperty('UseApi');\r\n this.selfHost = this.getResponseProperty('SelfHost');\r\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\r\n this.seats = this.getResponseProperty('Seats');\r\n this.maxCollections = this.getResponseProperty('MaxCollections');\r\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\r\n this.key = this.getResponseProperty('Key');\r\n this.status = this.getResponseProperty('Status');\r\n this.type = this.getResponseProperty('Type');\r\n this.enabled = this.getResponseProperty('Enabled');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { CipherResponse } from './cipherResponse';\r\nimport { CollectionDetailsResponse } from './collectionResponse';\r\nimport { DomainsResponse } from './domainsResponse';\r\nimport { FolderResponse } from './folderResponse';\r\nimport { ProfileResponse } from './profileResponse';\r\n\r\nexport class SyncResponse extends BaseResponse {\r\n profile?: ProfileResponse;\r\n folders: FolderResponse[] = [];\r\n collections: CollectionDetailsResponse[] = [];\r\n ciphers: CipherResponse[] = [];\r\n domains?: DomainsResponse;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n\r\n const profile = this.getResponseProperty('Profile');\r\n if (profile != null) {\r\n this.profile = new ProfileResponse(profile);\r\n }\r\n\r\n const folders = this.getResponseProperty('Folders');\r\n if (folders != null) {\r\n this.folders = folders.map((f: any) => new FolderResponse(f));\r\n }\r\n\r\n const collections = this.getResponseProperty('Collections');\r\n if (collections != null) {\r\n this.collections = collections.map((c: any) => new CollectionDetailsResponse(c));\r\n }\r\n\r\n const ciphers = this.getResponseProperty('Ciphers');\r\n if (ciphers != null) {\r\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\r\n }\r\n\r\n const domains = this.getResponseProperty('Domains');\r\n if (domains != null) {\r\n this.domains = new DomainsResponse(domains);\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorAuthenticatorResponse extends BaseResponse {\r\n enabled: boolean;\r\n key: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.key = this.getResponseProperty('Key');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorDuoResponse extends BaseResponse {\r\n enabled: boolean;\r\n host: string;\r\n secretKey: string;\r\n integrationKey: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.host = this.getResponseProperty('Host');\r\n this.secretKey = this.getResponseProperty('SecretKey');\r\n this.integrationKey = this.getResponseProperty('IntegrationKey');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorEmailResponse extends BaseResponse {\r\n enabled: boolean;\r\n email: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.email = this.getResponseProperty('Email');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class TwoFactorProviderResponse extends BaseResponse {\r\n enabled: boolean;\r\n type: TwoFactorProviderType;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.type = this.getResponseProperty('Type');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorRecoverResponse extends BaseResponse {\r\n code: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.code = this.getResponseProperty('Code');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorU2fResponse extends BaseResponse {\r\n enabled: boolean;\r\n keys: KeyResponse[];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n const keys = this.getResponseProperty('Keys');\r\n this.keys = keys == null ? null : keys.map((k: any) => new KeyResponse(k));\r\n }\r\n}\r\n\r\nexport class KeyResponse extends BaseResponse {\r\n name: string;\r\n id: number;\r\n compromised: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.name = this.getResponseProperty('Name');\r\n this.id = this.getResponseProperty('Id');\r\n this.compromised = this.getResponseProperty('Compromised');\r\n }\r\n}\r\n\r\nexport class ChallengeResponse extends BaseResponse {\r\n userId: string;\r\n appId: string;\r\n challenge: string;\r\n version: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.userId = this.getResponseProperty('UserId');\r\n this.appId = this.getResponseProperty('AppId');\r\n this.challenge = this.getResponseProperty('Challenge');\r\n this.version = this.getResponseProperty('Version');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorYubiKeyResponse extends BaseResponse {\n enabled: boolean;\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.key1 = this.getResponseProperty('Key1');\n this.key2 = this.getResponseProperty('Key2');\n this.key3 = this.getResponseProperty('Key3');\n this.key4 = this.getResponseProperty('Key4');\n this.key5 = this.getResponseProperty('Key5');\n this.nfc = this.getResponseProperty('Nfc');\n }\n}\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class UserKeyResponse extends BaseResponse {\r\n userId: string;\r\n publicKey: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.userId = this.getResponseProperty('UserId');\r\n this.publicKey = this.getResponseProperty('PublicKey');\r\n }\r\n}\r\n","/**\n * Use as a Decorator on async functions, it will limit how many times the function can be\n * in-flight at a time.\n *\n * Calls beyond the limit will be queued, and run when one of the active calls finishes\n */\nexport function throttle(limit: number, throttleKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise>) => {\n const originalMethod: () => Promise = descriptor.value;\n const allThrottles = new Map void>>>();\n\n const getThrottles = (obj: any) => {\n let throttles = allThrottles.get(obj);\n if (throttles != null) {\n return throttles;\n }\n throttles = new Map void>>();\n allThrottles.set(obj, throttles);\n return throttles;\n };\n\n return {\n value: function(...args: any[]) {\n const throttles = getThrottles(this);\n const argsThrottleKey = throttleKey(args);\n let queue = throttles.get(argsThrottleKey);\n if (queue == null) {\n queue = [];\n throttles.set(argsThrottleKey, queue);\n }\n\n return new Promise((resolve, reject) => {\n const exec = () => {\n const onFinally = () => {\n queue.splice(queue.indexOf(exec), 1);\n if (queue.length >= limit) {\n queue[limit - 1]();\n } else if (queue.length === 0) {\n throttles.delete(argsThrottleKey);\n if (throttles.size === 0) {\n allThrottles.delete(this);\n }\n }\n };\n originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n }).then(resolve, reject);\n };\n queue.push(exec);\n if (queue.length <= limit) {\n exec();\n }\n });\n },\n };\n };\n}\n","export class CipherBulkDeleteRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\n }\n}\n","export class CipherBulkMoveRequest {\n ids: string[];\n folderId: string;\n\n constructor(ids: string[], folderId: string) {\n this.ids = ids == null ? [] : ids;\n this.folderId = folderId;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherBulkShareRequest {\n ciphers: CipherWithIdRequest[];\n collectionIds: string[];\n\n constructor(ciphers: Cipher[], collectionIds: string[]) {\n if (ciphers != null) {\n this.ciphers = [];\n ciphers.forEach((c) => {\n this.ciphers.push(new CipherWithIdRequest(c));\n });\n }\n this.collectionIds = collectionIds;\n }\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherShareRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","export class TreeNode {\r\n parent: T;\r\n node: T;\r\n children: Array> = [];\r\n\r\n constructor(node: T, name: string, parent: T) {\r\n this.parent = parent;\r\n this.node = node;\r\n this.node.name = name;\r\n }\r\n}\r\n\r\nexport interface ITreeNodeObject {\r\n id: string;\r\n name: string;\r\n}\r\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class EncryptedObject {\n iv: ArrayBuffer;\n data: ArrayBuffer;\n mac: ArrayBuffer;\n key: SymmetricCryptoKey;\n}\n","export class EnvironmentUrls {\n base: string;\n api: string;\n identity: string;\n}\n","import { FolderData } from '../data/folderData';\n\nimport { FolderView } from '../view/folderView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Folder extends Domain {\n id: string;\n name: CipherString;\n revisionDate: Date;\n\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n }, alreadyEncrypted, ['id']);\n\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n }\n\n decrypt(): Promise {\n return this.decryptObj(new FolderView(this), {\n name: null,\n }, null);\n }\n}\n","export class GeneratedPasswordHistory {\r\n password: string;\r\n date: number;\r\n\r\n constructor(password: string, date: number) {\r\n this.password = password;\r\n this.date = date;\r\n }\r\n}\r\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nexport class OrganizationData {\r\n id: string;\r\n name: string;\r\n status: OrganizationUserStatusType;\r\n type: OrganizationUserType;\r\n enabled: boolean;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n selfHost: boolean;\r\n usersGetPremium: boolean;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb?: number;\r\n\r\n constructor(response: ProfileOrganizationResponse) {\r\n this.id = response.id;\r\n this.name = response.name;\r\n this.status = response.status;\r\n this.type = response.type;\r\n this.enabled = response.enabled;\r\n this.useGroups = response.useGroups;\r\n this.useDirectory = response.useDirectory;\r\n this.useEvents = response.useEvents;\r\n this.useTotp = response.useTotp;\r\n this.use2fa = response.use2fa;\r\n this.useApi = response.useApi;\r\n this.selfHost = response.selfHost;\r\n this.usersGetPremium = response.usersGetPremium;\r\n this.seats = response.seats;\r\n this.maxCollections = response.maxCollections;\r\n this.maxStorageGb = response.maxStorageGb;\r\n }\r\n}\r\n","import { OrganizationData } from '../data/organizationData';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nexport class Organization {\r\n id: string;\r\n name: string;\r\n status: OrganizationUserStatusType;\r\n type: OrganizationUserType;\r\n enabled: boolean;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n selfHost: boolean;\r\n usersGetPremium: boolean;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb?: number;\r\n\r\n constructor(obj?: OrganizationData) {\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.id = obj.id;\r\n this.name = obj.name;\r\n this.status = obj.status;\r\n this.type = obj.type;\r\n this.enabled = obj.enabled;\r\n this.useGroups = obj.useGroups;\r\n this.useDirectory = obj.useDirectory;\r\n this.useEvents = obj.useEvents;\r\n this.useTotp = obj.useTotp;\r\n this.use2fa = obj.use2fa;\r\n this.useApi = obj.useApi;\r\n this.selfHost = obj.selfHost;\r\n this.usersGetPremium = obj.usersGetPremium;\r\n this.seats = obj.seats;\r\n this.maxCollections = obj.maxCollections;\r\n this.maxStorageGb = obj.maxStorageGb;\r\n }\r\n\r\n get canAccess() {\r\n if (this.type === OrganizationUserType.Owner) {\r\n return true;\r\n }\r\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\r\n }\r\n\r\n get isManager() {\r\n return this.type === OrganizationUserType.Manager || this.type === OrganizationUserType.Owner ||\r\n this.type === OrganizationUserType.Admin;\r\n }\r\n\r\n get isAdmin() {\r\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\r\n }\r\n\r\n get isOwner() {\r\n return this.type === OrganizationUserType.Owner;\r\n }\r\n}\r\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\n\nexport class I18nService extends BaseI18nService {\n constructor(systemLanguage: string, localesDirectory: string) {\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\n process.env.CACHE_TAG;\n const localesResult = await fetch(filePath);\n const locales = await localesResult.json();\n return locales;\n });\n\n this.supportedTranslationLocales = [\n 'en', 'ca', 'cs', 'da', 'de', 'en-GB', 'es', 'et', 'fr', 'it', 'ja', 'nb', 'nl', 'pl', 'pt-PT', 'pt-BR',\n 'ru', 'sk', 'sv', 'uk', 'zh-CN', 'zh-TW',\n ];\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nexport class MemoryStorageService implements StorageService {\r\n private store = new Map();\r\n\r\n get(key: string): Promise {\r\n if (this.store.has(key)) {\r\n const obj = this.store.get(key);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n this.store.set(key, obj);\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n this.store.delete(key);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService, private messagingService: MessagingService) { }\n\n getDevice(): DeviceType {\n if (this.browserCache != null) {\n return this.browserCache;\n }\n\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\n this.browserCache = DeviceType.FirefoxBrowser;\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\n this.browserCache = DeviceType.OperaBrowser;\n } else if (navigator.userAgent.indexOf(' Edge/') !== -1) {\n this.browserCache = DeviceType.EdgeBrowser;\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\n this.browserCache = DeviceType.VivaldiBrowser;\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\n this.browserCache = DeviceType.SafariBrowser;\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\n this.browserCache = DeviceType.ChromeBrowser;\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\n this.browserCache = DeviceType.IEBrowser;\n } else {\n this.browserCache = DeviceType.UnknownBrowser;\n }\n\n return this.browserCache;\n }\n\n getDeviceString(): string {\n const device = DeviceType[this.getDevice()].toLowerCase();\n return device.replace('browser', '');\n }\n\n isFirefox(): boolean {\n return this.getDevice() === DeviceType.FirefoxBrowser;\n }\n\n isChrome(): boolean {\n return this.getDevice() === DeviceType.ChromeBrowser;\n }\n\n isEdge(): boolean {\n return this.getDevice() === DeviceType.EdgeBrowser;\n }\n\n isOpera(): boolean {\n return this.getDevice() === DeviceType.OperaBrowser;\n }\n\n isVivaldi(): boolean {\n return this.getDevice() === DeviceType.VivaldiBrowser;\n }\n\n isSafari(): boolean {\n return this.getDevice() === DeviceType.SafariBrowser;\n }\n\n isIE(): boolean {\n return this.getDevice() === DeviceType.IEBrowser;\n }\n\n isMacAppStore(): boolean {\n return false;\n }\n\n analyticsId(): string {\n return 'UA-81915606-3';\n }\n\n isViewOpen(): boolean {\n return false;\n }\n\n lockTimeout(): number {\n return null;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n a.classList.add('d-none');\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\n let blob: Blob = null;\n let type: string = null;\n const fileNameLower = fileName.toLowerCase();\n let doDownload = true;\n if (fileNameLower.endsWith('.pdf')) {\n type = 'application/pdf';\n doDownload = false;\n } else if (fileNameLower.endsWith('.xlsx')) {\n type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n } else if (fileNameLower.endsWith('.docx')) {\n type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n } else if (fileNameLower.endsWith('.pptx')) {\n type = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n } else if (fileNameLower.endsWith('.csv')) {\n type = 'text/csv';\n } else if (fileNameLower.endsWith('.png')) {\n type = 'image/png';\n } else if (fileNameLower.endsWith('.jpg') || fileNameLower.endsWith('.jpeg')) {\n type = 'image/jpeg';\n } else if (fileNameLower.endsWith('.gif')) {\n type = 'image/gif';\n }\n if (type != null) {\n blobOptions = blobOptions || {};\n if (blobOptions.type == null) {\n blobOptions.type = type;\n }\n }\n if (blobOptions != null && !this.isIE()) {\n blob = new Blob([blobData], blobOptions);\n } else {\n blob = new Blob([blobData]);\n }\n if (navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const a = win.document.createElement('a');\n if (doDownload) {\n a.download = fileName;\n } else {\n a.target = '_blank';\n }\n a.href = win.URL.createObjectURL(blob);\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return this.isChrome() || ((this.isOpera() || this.isVivaldi()) && !Utils.isMobileBrowser);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\n options?: any): void {\n this.messagingService.send('showToast', {\n text: text,\n title: title,\n type: type,\n options: options,\n });\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n const buttons = [confirmText == null ? this.i18nService.t('ok') : confirmText];\n if (cancelText != null) {\n buttons.unshift(cancelText);\n }\n\n const contentDiv = document.createElement('div');\n if (type != null) {\n const icon = document.createElement('i');\n icon.classList.add('swal-custom-icon');\n switch (type) {\n case 'success':\n icon.classList.add('fa', 'fa-check', 'text-success');\n break;\n case 'warning':\n icon.classList.add('fa', 'fa-warning', 'text-warning');\n break;\n case 'error':\n icon.classList.add('fa', 'fa-bolt', 'text-danger');\n break;\n case 'info':\n icon.classList.add('fa', 'fa-info-circle', 'text-info');\n break;\n default:\n break;\n }\n if (icon.classList.contains('fa')) {\n contentDiv.appendChild(icon);\n }\n }\n\n if (title != null) {\n const titleDiv = document.createElement('div');\n titleDiv.classList.add('swal-title');\n titleDiv.appendChild(document.createTextNode(title));\n contentDiv.appendChild(titleDiv);\n }\n\n if (text != null) {\n const textDiv = document.createElement('div');\n textDiv.classList.add('swal-text');\n textDiv.appendChild(document.createTextNode(text));\n contentDiv.appendChild(textDiv);\n }\n\n const confirmed = buttons.length > 1 ? await swal({\n content: { element: contentDiv },\n buttons: buttons,\n }) : await (swal as any)({\n content: { element: contentDiv },\n button: buttons[0],\n });\n return confirmed;\n }\n\n eventTrack(action: string, label?: string, options?: any) {\n this.messagingService.send('analyticsEventTrack', {\n action: action,\n label: label,\n options: options,\n });\n }\n\n isDev(): boolean {\n return process.env.ENV === 'development';\n }\n\n isSelfHost(): boolean {\n return process.env.SELF_HOST.toString() === 'true';\n }\n\n copyToClipboard(text: string, options?: any): void {\n let win = window;\n let doc = window.document;\n if (options && (options.window || options.win)) {\n win = options.window || options.win;\n doc = win.document;\n } else if (options && options.doc) {\n doc = options.doc;\n }\n if ((win as any).clipboardData && (win as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (win as any).clipboardData.setData('Text', text);\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\n const textarea = doc.createElement('textarea');\n textarea.textContent = text;\n // Prevent scrolling to bottom of page in MS Edge.\n textarea.style.position = 'fixed';\n let copyEl = doc.body;\n // For some reason copy command won't work in Firefox when modal is open if appending to body\n if (this.isFirefox() && doc.body.classList.contains('modal-open')) {\n copyEl = doc.body.querySelector('.modal');\n }\n copyEl.appendChild(textarea);\n textarea.select();\n try {\n // Security exception may be thrown by some browsers.\n doc.execCommand('copy');\n } catch (e) {\n // tslint:disable-next-line\n console.warn('Copy to clipboard failed.', e);\n } finally {\n copyEl.removeChild(textarea);\n }\n }\n }\n\n readFromClipboard(options?: any): Promise {\n throw new Error('Cannot read from clipboard on web.');\n }\n}\n","import { AppIdService } from '../abstractions/appId.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from '../services/constants.service';\r\n\r\nimport { DeviceType } from '../enums/deviceType';\r\n\r\nconst GaObj = 'ga';\r\n\r\nexport const AnalyticsIds = {\r\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\r\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\r\n [DeviceType.OperaExtension]: 'UA-81915606-8',\r\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\r\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\r\n [DeviceType.SafariExtension]: 'UA-81915606-16',\r\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\r\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\r\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\r\n};\r\n\r\nexport class Analytics {\r\n private gaTrackingId: string = null;\r\n private defaultDisabled = false;\r\n private appVersion: string;\r\n\r\n constructor(win: Window, private gaFilter?: () => boolean,\r\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\r\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\r\n if (dependencyResolver != null) {\r\n const deps = dependencyResolver();\r\n if (platformUtilsService == null && deps.platformUtilsService) {\r\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\r\n }\r\n if (storageService == null && deps.storageService) {\r\n this.storageService = deps.storageService as StorageService;\r\n }\r\n if (appIdService == null && deps.appIdService) {\r\n this.appIdService = deps.appIdService as AppIdService;\r\n }\r\n }\r\n\r\n this.appVersion = this.platformUtilsService.getApplicationVersion();\r\n this.defaultDisabled = this.platformUtilsService.getDevice() === DeviceType.FirefoxExtension ||\r\n this.platformUtilsService.isMacAppStore();\r\n this.gaTrackingId = this.platformUtilsService.analyticsId();\r\n\r\n (win as any).GoogleAnalyticsObject = GaObj;\r\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\r\n await this.ga(action, param1, param2);\r\n };\r\n }\r\n\r\n async ga(action: string, param1: any, param2?: any) {\r\n return;\r\n\r\n if (this.gaFilter != null && this.gaFilter()) {\r\n return;\r\n }\r\n\r\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\r\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\r\n return;\r\n }\r\n\r\n if (action !== 'send' || !param1) {\r\n return;\r\n }\r\n\r\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\r\n const version = encodeURIComponent(this.appVersion);\r\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\r\n\r\n if (param1 === 'pageview' && param2) {\r\n message += this.gaTrackPageView(param2);\r\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\r\n message += this.gaTrackPageView(param1.page);\r\n } else if (param1 === 'event' && param2) {\r\n message += this.gaTrackEvent(param2);\r\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\r\n message += this.gaTrackEvent(param1);\r\n }\r\n\r\n const request = new XMLHttpRequest();\r\n request.open('POST', 'https://www.google-analytics.com/collect', true);\r\n request.send(message);\r\n }\r\n\r\n private gaTrackEvent(options: any) {\r\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\r\n '&ea=' + encodeURIComponent(options.eventAction) +\r\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\r\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\r\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\r\n }\r\n\r\n private gaTrackPageView(pagePath: string) {\r\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\r\n }\r\n\r\n private cleanPagePath(pagePath: string) {\r\n const paramIndex = pagePath.indexOf('?');\r\n if (paramIndex > -1) {\r\n pagePath = pagePath.substring(0, paramIndex);\r\n }\r\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\r\n pagePath = pagePath.substring(1);\r\n }\r\n const pathParts = pagePath.split('/');\r\n const newPathParts: string[] = [];\r\n pathParts.forEach((p) => {\r\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\r\n newPathParts.push('__guid__');\r\n } else {\r\n newPathParts.push(p);\r\n }\r\n });\r\n return encodeURIComponent(newPathParts.join('/'));\r\n }\r\n}\r\n","import * as papa from 'papaparse';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { Collection } from '../models/domain/collection';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\nimport { CollectionData } from '../models/data/collectionData';\r\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\r\n\r\nimport { CipherWithIds as CipherExport } from '../models/export/cipherWithIds';\r\nimport { CollectionWithId as CollectionExport } from '../models/export/collectionWithId';\r\nimport { FolderWithId as FolderExport } from '../models/export/folderWithId';\r\n\r\nexport class ExportService implements ExportServiceAbstraction {\r\n constructor(private folderService: FolderService, private cipherService: CipherService,\r\n private apiService: ApiService) { }\r\n\r\n async getExport(format: 'csv' | 'json' = 'csv'): Promise {\r\n let decFolders: FolderView[] = [];\r\n let decCiphers: CipherView[] = [];\r\n const promises = [];\r\n\r\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\r\n decFolders = folders;\r\n }));\r\n\r\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\r\n decCiphers = ciphers;\r\n }));\r\n\r\n await Promise.all(promises);\r\n\r\n if (format === 'csv') {\r\n const foldersMap = new Map();\r\n decFolders.forEach((f) => {\r\n foldersMap.set(f.id, f);\r\n });\r\n\r\n const exportCiphers: any[] = [];\r\n decCiphers.forEach((c) => {\r\n // only export logins and secure notes\r\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\r\n return;\r\n }\r\n if (c.organizationId != null) {\r\n return;\r\n }\r\n\r\n const cipher: any = {};\r\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ?\r\n foldersMap.get(c.folderId).name : null;\r\n cipher.favorite = c.favorite ? 1 : null;\r\n this.buildCommonCipher(cipher, c);\r\n exportCiphers.push(cipher);\r\n });\r\n\r\n return papa.unparse(exportCiphers);\r\n } else {\r\n const jsonDoc: any = {\r\n folders: [],\r\n items: [],\r\n };\r\n\r\n decFolders.forEach((f) => {\r\n if (f.id == null) {\r\n return;\r\n }\r\n const folder = new FolderExport();\r\n folder.build(f);\r\n jsonDoc.folders.push(folder);\r\n });\r\n\r\n decCiphers.forEach((c) => {\r\n if (c.organizationId != null) {\r\n return;\r\n }\r\n const cipher = new CipherExport();\r\n cipher.build(c);\r\n cipher.collectionIds = null;\r\n jsonDoc.items.push(cipher);\r\n });\r\n\r\n return JSON.stringify(jsonDoc, null, ' ');\r\n }\r\n }\r\n\r\n async getOrganizationExport(organizationId: string, format: 'csv' | 'json' = 'csv'): Promise {\r\n const decCollections: CollectionView[] = [];\r\n const decCiphers: CipherView[] = [];\r\n const promises = [];\r\n\r\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\r\n const collectionPromises: any = [];\r\n if (collections != null && collections.data != null && collections.data.length > 0) {\r\n collections.data.forEach((c) => {\r\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\r\n collectionPromises.push(collection.decrypt().then((decCol) => {\r\n decCollections.push(decCol);\r\n }));\r\n });\r\n }\r\n return Promise.all(collectionPromises);\r\n }));\r\n\r\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\r\n const cipherPromises: any = [];\r\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\r\n ciphers.data.forEach((c) => {\r\n const cipher = new Cipher(new CipherData(c));\r\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\r\n decCiphers.push(decCipher);\r\n }));\r\n });\r\n }\r\n return Promise.all(cipherPromises);\r\n }));\r\n\r\n await Promise.all(promises);\r\n\r\n if (format === 'csv') {\r\n const collectionsMap = new Map();\r\n decCollections.forEach((c) => {\r\n collectionsMap.set(c.id, c);\r\n });\r\n\r\n const exportCiphers: any[] = [];\r\n decCiphers.forEach((c) => {\r\n // only export logins and secure notes\r\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\r\n return;\r\n }\r\n\r\n const cipher: any = {};\r\n cipher.collections = [];\r\n if (c.collectionIds != null) {\r\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\r\n .map((id) => collectionsMap.get(id).name);\r\n }\r\n this.buildCommonCipher(cipher, c);\r\n exportCiphers.push(cipher);\r\n });\r\n\r\n return papa.unparse(exportCiphers);\r\n } else {\r\n const jsonDoc: any = {\r\n collections: [],\r\n items: [],\r\n };\r\n\r\n decCollections.forEach((c) => {\r\n const collection = new CollectionExport();\r\n collection.build(c);\r\n jsonDoc.collections.push(collection);\r\n });\r\n\r\n decCiphers.forEach((c) => {\r\n const cipher = new CipherExport();\r\n cipher.build(c);\r\n jsonDoc.items.push(cipher);\r\n });\r\n return JSON.stringify(jsonDoc, null, ' ');\r\n }\r\n }\r\n\r\n getFileName(prefix: string = null, extension: string = 'csv'): string {\r\n const now = new Date();\r\n const dateString =\r\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\r\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\r\n this.padNumber(now.getSeconds(), 2);\r\n\r\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.' + extension;\r\n }\r\n\r\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\r\n const numString = num.toString();\r\n return numString.length >= width ? numString :\r\n new Array(width - numString.length + 1).join(padCharacter) + numString;\r\n }\r\n\r\n private buildCommonCipher(cipher: any, c: CipherView) {\r\n cipher.type = null;\r\n cipher.name = c.name;\r\n cipher.notes = c.notes;\r\n cipher.fields = null;\r\n // Login props\r\n cipher.login_uri = null;\r\n cipher.login_username = null;\r\n cipher.login_password = null;\r\n cipher.login_totp = null;\r\n\r\n if (c.fields) {\r\n c.fields.forEach((f: any) => {\r\n if (!cipher.fields) {\r\n cipher.fields = '';\r\n } else {\r\n cipher.fields += '\\n';\r\n }\r\n\r\n cipher.fields += ((f.name || '') + ': ' + f.value);\r\n });\r\n }\r\n\r\n switch (c.type) {\r\n case CipherType.Login:\r\n cipher.type = 'login';\r\n cipher.login_username = c.login.username;\r\n cipher.login_password = c.login.password;\r\n cipher.login_totp = c.login.totp;\r\n\r\n if (c.login.uris) {\r\n cipher.login_uri = [];\r\n c.login.uris.forEach((u) => {\r\n cipher.login_uri.push(u.uri);\r\n });\r\n }\r\n break;\r\n case CipherType.SecureNote:\r\n cipher.type = 'note';\r\n break;\r\n default:\r\n return;\r\n }\r\n\r\n return cipher;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CipherView } from '../view/cipherView';\r\n\r\nimport { Card } from './card';\r\nimport { Field } from './field';\r\nimport { Identity } from './identity';\r\nimport { Login } from './login';\r\nimport { SecureNote } from './secureNote';\r\n\r\nexport class Cipher {\r\n static template(): Cipher {\r\n const req = new Cipher();\r\n req.organizationId = null;\r\n req.folderId = null;\r\n req.type = CipherType.Login;\r\n req.name = 'Item name';\r\n req.notes = 'Some notes about this item.';\r\n req.favorite = false;\r\n req.fields = [];\r\n req.login = null;\r\n req.secureNote = null;\r\n req.card = null;\r\n req.identity = null;\r\n return req;\r\n }\r\n\r\n static toView(req: Cipher, view = new CipherView()) {\r\n view.type = req.type;\r\n view.folderId = req.folderId;\r\n if (view.organizationId == null) {\r\n view.organizationId = req.organizationId;\r\n }\r\n view.name = req.name;\r\n view.notes = req.notes;\r\n view.favorite = req.favorite;\r\n\r\n if (req.fields != null) {\r\n view.fields = req.fields.map((f) => Field.toView(f));\r\n }\r\n\r\n switch (req.type) {\r\n case CipherType.Login:\r\n view.login = Login.toView(req.login);\r\n break;\r\n case CipherType.SecureNote:\r\n view.secureNote = SecureNote.toView(req.secureNote);\r\n break;\r\n case CipherType.Card:\r\n view.card = Card.toView(req.card);\r\n break;\r\n case CipherType.Identity:\r\n view.identity = Identity.toView(req.identity);\r\n break;\r\n }\r\n\r\n return view;\r\n }\r\n\r\n type: CipherType;\r\n folderId: string;\r\n organizationId: string;\r\n name: string;\r\n notes: string;\r\n favorite: boolean;\r\n fields: Field[];\r\n login: Login;\r\n secureNote: SecureNote;\r\n card: Card;\r\n identity: Identity;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CipherView) {\r\n this.organizationId = o.organizationId;\r\n this.folderId = o.folderId;\r\n this.type = o.type;\r\n this.name = o.name;\r\n this.notes = o.notes;\r\n this.favorite = o.favorite;\r\n\r\n if (o.fields != null) {\r\n this.fields = o.fields.map((f) => new Field(f));\r\n }\r\n\r\n switch (o.type) {\r\n case CipherType.Login:\r\n this.login = new Login(o.login);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNote(o.secureNote);\r\n break;\r\n case CipherType.Card:\r\n this.card = new Card(o.card);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new Identity(o.identity);\r\n break;\r\n }\r\n }\r\n}\r\n","import { CardView } from '../view/cardView';\r\n\r\nexport class Card {\r\n static template(): Card {\r\n const req = new Card();\r\n req.cardholderName = 'John Doe';\r\n req.brand = 'visa';\r\n req.number = '4242424242424242';\r\n req.expMonth = '04';\r\n req.expYear = '2023';\r\n req.code = '123';\r\n return req;\r\n }\r\n\r\n static toView(req: Card, view = new CardView()) {\r\n view.cardholderName = req.cardholderName;\r\n view.brand = req.brand;\r\n view.number = req.number;\r\n view.expMonth = req.expMonth;\r\n view.expYear = req.expYear;\r\n view.code = req.code;\r\n return view;\r\n }\r\n\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(o?: CardView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.cardholderName = o.cardholderName;\r\n this.brand = o.brand;\r\n this.number = o.number;\r\n this.expMonth = o.expMonth;\r\n this.expYear = o.expYear;\r\n this.code = o.code;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { FieldView } from '../view/fieldView';\r\n\r\nexport class Field {\r\n static template(): Field {\r\n const req = new Field();\r\n req.name = 'Field name';\r\n req.value = 'Some value';\r\n req.type = FieldType.Text;\r\n return req;\r\n }\r\n\r\n static toView(req: Field, view = new FieldView()) {\r\n view.type = req.type;\r\n view.value = req.value;\r\n view.name = req.name;\r\n return view;\r\n }\r\n\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(o?: FieldView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.name = o.name;\r\n this.value = o.value;\r\n this.type = o.type;\r\n }\r\n}\r\n","import { IdentityView } from '../view/identityView';\r\n\r\nexport class Identity {\r\n static template(): Identity {\r\n const req = new Identity();\r\n req.title = 'Mr';\r\n req.firstName = 'John';\r\n req.middleName = 'William';\r\n req.lastName = 'Doe';\r\n req.address1 = '123 Any St';\r\n req.address2 = 'Apt #123';\r\n req.address3 = null;\r\n req.city = 'New York';\r\n req.state = 'NY';\r\n req.postalCode = '10001';\r\n req.country = 'US';\r\n req.company = 'Acme Inc.';\r\n req.email = 'john@company.com';\r\n req.phone = '5555551234';\r\n req.ssn = '000-123-4567';\r\n req.username = 'jdoe';\r\n req.passportNumber = 'US-123456789';\r\n req.licenseNumber = 'D123-12-123-12333';\r\n return req;\r\n }\r\n\r\n static toView(req: Identity, view = new IdentityView()) {\r\n view.title = req.title;\r\n view.firstName = req.firstName;\r\n view.middleName = req.middleName;\r\n view.lastName = req.lastName;\r\n view.address1 = req.address1;\r\n view.address2 = req.address2;\r\n view.address3 = req.address3;\r\n view.city = req.city;\r\n view.state = req.state;\r\n view.postalCode = req.postalCode;\r\n view.country = req.country;\r\n view.company = req.company;\r\n view.email = req.email;\r\n view.phone = req.phone;\r\n view.ssn = req.ssn;\r\n view.username = req.username;\r\n view.passportNumber = req.passportNumber;\r\n view.licenseNumber = req.licenseNumber;\r\n return view;\r\n }\r\n\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(o?: IdentityView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.title = o.title;\r\n this.firstName = o.firstName;\r\n this.middleName = o.middleName;\r\n this.lastName = o.lastName;\r\n this.address1 = o.address1;\r\n this.address2 = o.address2;\r\n this.address3 = o.address3;\r\n this.city = o.city;\r\n this.state = o.state;\r\n this.postalCode = o.postalCode;\r\n this.country = o.country;\r\n this.company = o.company;\r\n this.email = o.email;\r\n this.phone = o.phone;\r\n this.ssn = o.ssn;\r\n this.username = o.username;\r\n this.passportNumber = o.passportNumber;\r\n this.licenseNumber = o.licenseNumber;\r\n }\r\n}\r\n","import { LoginUri } from './loginUri';\r\n\r\nimport { LoginView } from '../view/loginView';\r\n\r\nexport class Login {\r\n static template(): Login {\r\n const req = new Login();\r\n req.uris = [];\r\n req.username = 'jdoe';\r\n req.password = 'myp@ssword123';\r\n req.totp = 'JBSWY3DPEHPK3PXP';\r\n return req;\r\n }\r\n\r\n static toView(req: Login, view = new LoginView()) {\r\n if (req.uris != null) {\r\n view.uris = req.uris.map((u) => LoginUri.toView(u));\r\n }\r\n view.username = req.username;\r\n view.password = req.password;\r\n view.totp = req.totp;\r\n return view;\r\n }\r\n\r\n uris: LoginUri[];\r\n username: string;\r\n password: string;\r\n totp: string;\r\n\r\n constructor(o?: LoginView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n if (o.uris != null) {\r\n this.uris = o.uris.map((u) => new LoginUri(u));\r\n }\r\n\r\n this.username = o.username;\r\n this.password = o.password;\r\n this.totp = o.totp;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { LoginUriView } from '../view/loginUriView';\r\n\r\nexport class LoginUri {\r\n static template(): LoginUri {\r\n const req = new LoginUri();\r\n req.uri = 'https://google.com';\r\n req.match = null;\r\n return req;\r\n }\r\n\r\n static toView(req: LoginUri, view = new LoginUriView()) {\r\n view.uri = req.uri;\r\n view.match = req.match;\r\n return view;\r\n }\r\n\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(o?: LoginUriView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.uri = o.uri;\r\n this.match = o.match;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { SecureNoteView } from '../view/secureNoteView';\r\n\r\nexport class SecureNote {\r\n static template(): SecureNote {\r\n const req = new SecureNote();\r\n req.type = SecureNoteType.Generic;\r\n return req;\r\n }\r\n\r\n static toView(req: SecureNote, view = new SecureNoteView()) {\r\n view.type = req.type;\r\n return view;\r\n }\r\n\r\n type: SecureNoteType;\r\n\r\n constructor(o?: SecureNoteView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.type = o.type;\r\n }\r\n}\r\n","import { CollectionView } from '../view/collectionView';\n\nexport class Collection {\n static template(): Collection {\n const req = new Collection();\n req.organizationId = '00000000-0000-0000-0000-000000000000';\n req.name = 'Collection name';\n req.externalId = null;\n return req;\n }\n\n static toView(req: Collection, view = new CollectionView()) {\n view.name = req.name;\n view.externalId = req.externalId;\n if (view.organizationId == null) {\n view.organizationId = req.organizationId;\n }\n return view;\n }\n\n organizationId: string;\n name: string;\n externalId: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CollectionView) {\n this.organizationId = o.organizationId;\n this.name = o.name;\n this.externalId = o.externalId;\n }\n}\n","import { FolderView } from '../view/folderView';\r\n\r\nexport class Folder {\r\n static template(): Folder {\r\n const req = new Folder();\r\n req.name = 'Folder name';\r\n return req;\r\n }\r\n\r\n static toView(req: Folder, view = new FolderView()) {\r\n view.name = req.name;\r\n return view;\r\n }\r\n\r\n name: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: FolderView) {\r\n this.name = o.name;\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CollectionService } from '../abstractions/collection.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport {\r\n ImportOption,\r\n ImportService as ImportServiceAbstraction,\r\n} from '../abstractions/import.service';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KvpRequest } from '../models/request/kvpRequest';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nimport { AscendoCsvImporter } from '../importers/ascendoCsvImporter';\r\nimport { AvastCsvImporter } from '../importers/avastCsvImporter';\r\nimport { AviraCsvImporter } from '../importers/aviraCsvImporter';\r\nimport { BitwardenCsvImporter } from '../importers/bitwardenCsvImporter';\r\nimport { BitwardenJsonImporter } from '../importers/bitwardenJsonImporter';\r\nimport { BlurCsvImporter } from '../importers/blurCsvImporter';\r\nimport { ChromeCsvImporter } from '../importers/chromeCsvImporter';\r\nimport { ClipperzHtmlImporter } from '../importers/clipperzHtmlImporter';\r\nimport { DashlaneJsonImporter } from '../importers/dashlaneJsonImporter';\r\nimport { EnpassCsvImporter } from '../importers/enpassCsvImporter';\r\nimport { EnpassJsonImporter } from '../importers/enpassJsonImporter';\r\nimport { FirefoxCsvImporter } from '../importers/firefoxCsvImporter';\r\nimport { FSecureFskImporter } from '../importers/fsecureFskImporter';\r\nimport { GnomeJsonImporter } from '../importers/gnomeJsonImporter';\r\nimport { Importer } from '../importers/importer';\r\nimport { KasperskyTxtImporter } from '../importers/kasperskyTxtImporter';\r\nimport { KeePass2XmlImporter } from '../importers/keepass2XmlImporter';\r\nimport { KeePassXCsvImporter } from '../importers/keepassxCsvImporter';\r\nimport { KeeperCsvImporter } from '../importers/keeperCsvImporter';\r\nimport { LastPassCsvImporter } from '../importers/lastpassCsvImporter';\r\nimport { MeldiumCsvImporter } from '../importers/meldiumCsvImporter';\r\nimport { MSecureCsvImporter } from '../importers/msecureCsvImporter';\r\nimport { OnePassword1PifImporter } from '../importers/onepassword1PifImporter';\r\nimport { OnePasswordWinCsvImporter } from '../importers/onepasswordWinCsvImporter';\r\nimport { PadlockCsvImporter } from '../importers/padlockCsvImporter';\r\nimport { PassKeepCsvImporter } from '../importers/passkeepCsvImporter';\r\nimport { PassmanJsonImporter } from '../importers/passmanJsonImporter';\r\nimport { PasspackCsvImporter } from '../importers/passpackCsvImporter';\r\nimport { PasswordAgentCsvImporter } from '../importers/passwordAgentCsvImporter';\r\nimport { PasswordBossJsonImporter } from '../importers/passwordBossJsonImporter';\r\nimport { PasswordDragonXmlImporter } from '../importers/passwordDragonXmlImporter';\r\nimport { PasswordSafeXmlImporter } from '../importers/passwordSafeXmlImporter';\r\nimport { RememBearCsvImporter } from '../importers/rememBearCsvImporter';\r\nimport { RoboFormCsvImporter } from '../importers/roboformCsvImporter';\r\nimport { SafeInCloudXmlImporter } from '../importers/safeInCloudXmlImporter';\r\nimport { SaferPassCsvImporter } from '../importers/saferpassCsvImport';\r\nimport { SplashIdCsvImporter } from '../importers/splashIdCsvImporter';\r\nimport { StickyPasswordXmlImporter } from '../importers/stickyPasswordXmlImporter';\r\nimport { TrueKeyCsvImporter } from '../importers/truekeyCsvImporter';\r\nimport { UpmCsvImporter } from '../importers/upmCsvImporter';\r\nimport { ZohoVaultCsvImporter } from '../importers/zohoVaultCsvImporter';\r\n\r\nexport class ImportService implements ImportServiceAbstraction {\r\n featuredImportOptions = [\r\n { id: 'bitwardenjson', name: 'Bitwarden (json)' },\r\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\r\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\r\n { id: 'chromecsv', name: 'Chrome (csv)' },\r\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\r\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\r\n { id: '1password1pif', name: '1Password (1pif)' },\r\n { id: 'dashlanejson', name: 'Dashlane (json)' },\r\n ];\r\n\r\n regularImportOptions: ImportOption[] = [\r\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\r\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\r\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\r\n { id: 'keepercsv', name: 'Keeper (csv)' },\r\n { id: 'enpasscsv', name: 'Enpass (csv)' },\r\n { id: 'enpassjson', name: 'Enpass (json)' },\r\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\r\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\r\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\r\n { id: 'msecurecsv', name: 'mSecure (csv)' },\r\n { id: 'truekeycsv', name: 'True Key (csv)' },\r\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\r\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\r\n { id: 'splashidcsv', name: 'SplashID (csv)' },\r\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\r\n { id: 'padlockcsv', name: 'Padlock (csv)' },\r\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\r\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\r\n { id: 'aviracsv', name: 'Avira (csv)' },\r\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\r\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\r\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\r\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\r\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\r\n { id: 'operacsv', name: 'Opera (csv)' },\r\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\r\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\r\n { id: 'blurcsv', name: 'Blur (csv)' },\r\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\r\n { id: 'passpackcsv', name: 'Passpack (csv)' },\r\n { id: 'passmanjson', name: 'Passman (json)' },\r\n { id: 'avastcsv', name: 'Avast Passwords (csv)' },\r\n { id: 'fsecurefsk', name: 'F-Secure KEY (fsk)' },\r\n { id: 'kasperskytxt', name: 'Kaspersky Password Manager (txt)' },\r\n { id: 'remembearcsv', name: 'RememBear (csv)' },\r\n ];\r\n\r\n constructor(private cipherService: CipherService, private folderService: FolderService,\r\n private apiService: ApiService, private i18nService: I18nService,\r\n private collectionService: CollectionService) { }\r\n\r\n getImportOptions(): ImportOption[] {\r\n return this.featuredImportOptions.concat(this.regularImportOptions);\r\n }\r\n\r\n async import(importer: Importer, fileContents: string, organizationId: string = null): Promise {\r\n const importResult = await importer.parse(fileContents);\r\n if (importResult.success) {\r\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\r\n return new Error(this.i18nService.t('importNothingError'));\r\n } else if (importResult.ciphers.length > 0) {\r\n const halfway = Math.floor(importResult.ciphers.length / 2);\r\n const last = importResult.ciphers.length - 1;\r\n\r\n if (this.badData(importResult.ciphers[0]) &&\r\n this.badData(importResult.ciphers[halfway]) &&\r\n this.badData(importResult.ciphers[last])) {\r\n return new Error(this.i18nService.t('importFormatError'));\r\n }\r\n }\r\n await this.postImport(importResult, organizationId);\r\n return null;\r\n } else {\r\n return new Error(this.i18nService.t('importFormatError'));\r\n }\r\n }\r\n\r\n getImporter(format: string, organization = false): Importer {\r\n const importer = this.getImporterInstance(format);\r\n if (importer == null) {\r\n return null;\r\n }\r\n importer.organization = organization;\r\n return importer;\r\n }\r\n\r\n private getImporterInstance(format: string) {\r\n if (format == null || format === '') {\r\n return null;\r\n }\r\n\r\n switch (format) {\r\n case 'bitwardencsv':\r\n return new BitwardenCsvImporter();\r\n case 'bitwardenjson':\r\n return new BitwardenJsonImporter();\r\n case 'lastpasscsv':\r\n case 'passboltcsv':\r\n return new LastPassCsvImporter();\r\n case 'keepassxcsv':\r\n return new KeePassXCsvImporter();\r\n case 'aviracsv':\r\n return new AviraCsvImporter();\r\n case 'blurcsv':\r\n return new BlurCsvImporter();\r\n case 'safeincloudxml':\r\n return new SafeInCloudXmlImporter();\r\n case 'padlockcsv':\r\n return new PadlockCsvImporter();\r\n case 'keepass2xml':\r\n return new KeePass2XmlImporter();\r\n case 'chromecsv':\r\n case 'operacsv':\r\n case 'vivaldicsv':\r\n return new ChromeCsvImporter();\r\n case 'firefoxcsv':\r\n return new FirefoxCsvImporter();\r\n case 'upmcsv':\r\n return new UpmCsvImporter();\r\n case 'saferpasscsv':\r\n return new SaferPassCsvImporter();\r\n case 'meldiumcsv':\r\n return new MeldiumCsvImporter();\r\n case '1password1pif':\r\n return new OnePassword1PifImporter();\r\n case '1passwordwincsv':\r\n return new OnePasswordWinCsvImporter();\r\n case 'keepercsv':\r\n return new KeeperCsvImporter();\r\n case 'passworddragonxml':\r\n return new PasswordDragonXmlImporter();\r\n case 'enpasscsv':\r\n return new EnpassCsvImporter();\r\n case 'enpassjson':\r\n return new EnpassJsonImporter();\r\n case 'pwsafexml':\r\n return new PasswordSafeXmlImporter();\r\n case 'dashlanejson':\r\n return new DashlaneJsonImporter();\r\n case 'msecurecsv':\r\n return new MSecureCsvImporter();\r\n case 'stickypasswordxml':\r\n return new StickyPasswordXmlImporter();\r\n case 'truekeycsv':\r\n return new TrueKeyCsvImporter();\r\n case 'clipperzhtml':\r\n return new ClipperzHtmlImporter();\r\n case 'roboformcsv':\r\n return new RoboFormCsvImporter();\r\n case 'ascendocsv':\r\n return new AscendoCsvImporter();\r\n case 'passwordbossjson':\r\n return new PasswordBossJsonImporter();\r\n case 'zohovaultcsv':\r\n return new ZohoVaultCsvImporter();\r\n case 'splashidcsv':\r\n return new SplashIdCsvImporter();\r\n case 'passkeepcsv':\r\n return new PassKeepCsvImporter();\r\n case 'gnomejson':\r\n return new GnomeJsonImporter();\r\n case 'passwordagentcsv':\r\n return new PasswordAgentCsvImporter();\r\n case 'passpackcsv':\r\n return new PasspackCsvImporter();\r\n case 'passmanjson':\r\n return new PassmanJsonImporter();\r\n case 'avastcsv':\r\n return new AvastCsvImporter();\r\n case 'fsecurefsk':\r\n return new FSecureFskImporter();\r\n case 'kasperskytxt':\r\n return new KasperskyTxtImporter();\r\n case 'remembearcsv':\r\n return new RememBearCsvImporter();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private async postImport(importResult: ImportResult, organizationId: string = null) {\r\n if (organizationId == null) {\r\n const request = new ImportCiphersRequest();\r\n for (let i = 0; i < importResult.ciphers.length; i++) {\r\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\r\n request.ciphers.push(new CipherRequest(c));\r\n }\r\n if (importResult.folders != null) {\r\n for (let i = 0; i < importResult.folders.length; i++) {\r\n const f = await this.folderService.encrypt(importResult.folders[i]);\r\n request.folders.push(new FolderRequest(f));\r\n }\r\n }\r\n if (importResult.folderRelationships != null) {\r\n importResult.folderRelationships.forEach((r) =>\r\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\r\n }\r\n return await this.apiService.postImportCiphers(request);\r\n } else {\r\n const request = new ImportOrganizationCiphersRequest();\r\n for (let i = 0; i < importResult.ciphers.length; i++) {\r\n importResult.ciphers[i].organizationId = organizationId;\r\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\r\n request.ciphers.push(new CipherRequest(c));\r\n }\r\n if (importResult.collections != null) {\r\n for (let i = 0; i < importResult.collections.length; i++) {\r\n importResult.collections[i].organizationId = organizationId;\r\n const c = await this.collectionService.encrypt(importResult.collections[i]);\r\n request.collections.push(new CollectionRequest(c));\r\n }\r\n }\r\n if (importResult.collectionRelationships != null) {\r\n importResult.collectionRelationships.forEach((r) =>\r\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\r\n }\r\n return await this.apiService.postImportOrganizationCiphers(organizationId, request);\r\n }\r\n }\r\n\r\n private badData(c: CipherView) {\r\n return (c.name == null || c.name === '--') &&\r\n (c.type === CipherType.Login && c.login != null && Utils.isNullOrWhitespace(c.login.password));\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\nimport { FolderRequest } from './folderRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportCiphersRequest {\n ciphers: CipherRequest[] = [];\n folders: FolderRequest[] = [];\n folderRelationships: Array> = [];\n}\n","import { CipherRequest } from './cipherRequest';\nimport { CollectionRequest } from './collectionRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportOrganizationCiphersRequest {\n ciphers: CipherRequest[] = [];\n collections: CollectionRequest[] = [];\n collectionRelationships: Array> = [];\n}\n","export class KvpRequest {\n key: TK;\n value: TV;\n\n constructor(key: TK, value: TV) {\n this.key = key;\n this.value = value;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 2) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n\r\n if (value.length > 2 && (value.length % 2) === 0) {\r\n for (let i = 0; i < value.length - 2; i += 2) {\r\n const val: string = value[i + 2];\r\n const field: string = value[i + 1];\r\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\r\n continue;\r\n }\r\n\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(val);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(val);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n } else {\r\n this.processKvp(cipher, field, val);\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AvastCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.login.uris = this.makeUriArray(value.web);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.login);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AviraCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name,\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\n cipher.login.username = value.secondary_username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.notes = this.getValueOrDefault(value.secondary_username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\r\n const collections = (value.collections as string).split(',');\r\n collections.forEach((col) => {\r\n let addCollection = true;\r\n let collectionIndex = result.collections.length;\r\n\r\n for (let i = 0; i < result.collections.length; i++) {\r\n if (result.collections[i].name === col) {\r\n addCollection = false;\r\n collectionIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (addCollection) {\r\n const collection = new CollectionView();\r\n collection.name = col;\r\n result.collections.push(collection);\r\n }\r\n\r\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\r\n });\r\n } else if (!this.organization) {\r\n this.processFolder(result, value.folder);\r\n }\r\n\r\n const cipher = new CipherView();\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\r\n cipher.type = CipherType.Login;\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n\r\n if (!this.isNullOrWhitespace(value.fields)) {\r\n const fields = this.splitNewLine(value.fields);\r\n for (let i = 0; i < fields.length; i++) {\r\n if (this.isNullOrWhitespace(fields[i])) {\r\n continue;\r\n }\r\n\r\n const delimPosition = fields[i].lastIndexOf(': ');\r\n if (delimPosition === -1) {\r\n continue;\r\n }\r\n\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n\r\n const field = new FieldView();\r\n field.name = fields[i].substr(0, delimPosition);\r\n field.value = null;\r\n field.type = FieldType.Text;\r\n if (fields[i].length > (delimPosition + 2)) {\r\n field.value = fields[i].substr(delimPosition + 2);\r\n }\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n const valueType = value.type != null ? value.type.toLowerCase() : null;\r\n switch (valueType) {\r\n case 'note':\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n break;\r\n default:\r\n cipher.type = CipherType.Login;\r\n cipher.login = new LoginView();\r\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\r\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\r\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\r\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\r\n cipher.login.uris = this.makeUriArray(uris);\r\n break;\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherWithIds } from '../models/export/cipherWithIds';\r\nimport { CollectionWithId } from '../models/export/collectionWithId';\r\nimport { FolderWithId } from '../models/export/folderWithId';\r\n\r\nexport class BitwardenJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.items == null || results.items.length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const groupingsMap = new Map();\r\n if (this.organization && results.collections != null) {\r\n results.collections.forEach((c: CollectionWithId) => {\r\n const collection = CollectionWithId.toView(c);\r\n if (collection != null) {\r\n collection.id = null;\r\n collection.organizationId = null;\r\n groupingsMap.set(c.id, result.collections.length);\r\n result.collections.push(collection);\r\n }\r\n });\r\n } else if (!this.organization && results.folders != null) {\r\n results.folders.forEach((f: FolderWithId) => {\r\n const folder = FolderWithId.toView(f);\r\n if (folder != null) {\r\n folder.id = null;\r\n groupingsMap.set(f.id, result.folders.length);\r\n result.folders.push(folder);\r\n }\r\n });\r\n }\r\n\r\n results.items.forEach((c: CipherWithIds) => {\r\n const cipher = CipherWithIds.toView(c);\r\n // reset ids incase they were set for some reason\r\n cipher.id = null;\r\n cipher.folderId = null;\r\n cipher.organizationId = null;\r\n cipher.collectionIds = null;\r\n\r\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\r\n result.folderRelationships.push([result.ciphers.length, groupingsMap.get(c.folderId)]);\r\n } else if (this.organization && c.collectionIds != null) {\r\n c.collectionIds.forEach((cId) => {\r\n if (groupingsMap.has(cId)) {\r\n result.collectionRelationships.push([result.ciphers.length, groupingsMap.get(cId)]);\r\n }\r\n });\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlurCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.label === 'null') {\n value.label = null;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.label,\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\n cipher.login.uris = this.makeUriArray(value.domain);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\n cipher.login.username = value.username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.email);\n cipher.notes = this.getValueOrDefault(value.username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const textarea = doc.querySelector('textarea');\r\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\r\n result.errorMessage = 'Missing textarea.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const entries = JSON.parse(textarea.textContent);\r\n entries.forEach((entry: any) => {\r\n const cipher = this.initLoginCipher();\r\n if (!this.isNullOrWhitespace(entry.label)) {\r\n cipher.name = entry.label.split(' ')[0];\r\n }\r\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\r\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\r\n }\r\n\r\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\r\n for (const property in entry.currentVersion.fields) {\r\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n\r\n const field = entry.currentVersion.fields[property];\r\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\r\n switch (actionType) {\r\n case 'password':\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n break;\r\n case 'email':\r\n case 'username':\r\n case 'user':\r\n case 'name':\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n break;\r\n case 'url':\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n break;\r\n default:\r\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n } else {\r\n this.processKvp(cipher, field.label, field.value);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst HandledResults = new Set(['ADDRESS', 'AUTHENTIFIANT', 'BANKSTATEMENT', 'IDCARD', 'IDENTITY',\n 'PAYMENTMEANS_CREDITCARD', 'PAYMENTMEAN_PAYPAL', 'EMAIL']);\n\nexport class DashlaneJsonImporter extends BaseImporter implements Importer {\n private result: ImportResult;\n\n parse(data: string): ImportResult {\n this.result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n this.result.success = false;\n return this.result;\n }\n\n if (results.ADDRESS != null) {\n this.processAddress(results.ADDRESS);\n }\n if (results.AUTHENTIFIANT != null) {\n this.processAuth(results.AUTHENTIFIANT);\n }\n if (results.BANKSTATEMENT != null) {\n this.processNote(results.BANKSTATEMENT, 'BankAccountName');\n }\n if (results.IDCARD != null) {\n this.processNote(results.IDCARD, 'Fullname');\n }\n if (results.PAYMENTMEANS_CREDITCARD != null) {\n this.processCard(results.PAYMENTMEANS_CREDITCARD);\n }\n if (results.IDENTITY != null) {\n this.processIdentity(results.IDENTITY);\n }\n\n for (const key in results) {\n if (results.hasOwnProperty(key) && !HandledResults.has(key)) {\n this.processNote(results[key], null, 'Generic Note');\n }\n }\n\n this.result.success = true;\n return this.result;\n }\n\n private processAuth(results: any[]) {\n results.forEach((credential: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(credential.title);\n\n cipher.login.username = this.getValueOrDefault(credential.login,\n this.getValueOrDefault(credential.secondaryLogin));\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.domain);\n cipher.notes += this.getValueOrDefault(credential.note, '');\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processIdentity(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.fullName, '');\n const nameParts = cipher.name.split(' ');\n if (nameParts.length > 0) {\n cipher.identity.firstName = this.getValueOrDefault(nameParts[0]);\n }\n if (nameParts.length === 2) {\n cipher.identity.lastName = this.getValueOrDefault(nameParts[1]);\n } else if (nameParts.length === 3) {\n cipher.identity.middleName = this.getValueOrDefault(nameParts[1]);\n cipher.identity.lastName = this.getValueOrDefault(nameParts[2]);\n }\n cipher.identity.username = this.getValueOrDefault(obj.pseudo);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processAddress(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.addressName);\n cipher.identity.address1 = this.getValueOrDefault(obj.addressFull);\n cipher.identity.city = this.getValueOrDefault(obj.city);\n cipher.identity.state = this.getValueOrDefault(obj.state);\n cipher.identity.postalCode = this.getValueOrDefault(obj.zipcode);\n cipher.identity.country = this.getValueOrDefault(obj.country);\n if (cipher.identity.country != null) {\n cipher.identity.country = cipher.identity.country.toUpperCase();\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processCard(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(obj.bank);\n cipher.card.number = this.getValueOrDefault(obj.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.cardholderName = this.getValueOrDefault(obj.owner);\n if (!this.isNullOrWhitespace(cipher.card.brand)) {\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = cipher.card.brand;\n } else {\n cipher.name += (' - ' + cipher.card.brand);\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processNote(results: any[], nameProperty: string, name: string = null) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n if (name != null) {\n cipher.name = name;\n } else {\n cipher.name = this.getValueOrDefault(obj[nameProperty]);\n }\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== nameProperty) {\n this.processKvp(cipher, key, obj[key].toString());\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && (value[0] === 'Title' || value[0] === 'title'))) {\n firstRow = false;\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2 || (!this.containsField(value, 'username') &&\n !this.containsField(value, 'password') && !this.containsField(value, 'email') &&\n !this.containsField(value, 'url'))) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (this.containsField(value, 'cardholder') && this.containsField(value, 'number') &&\n this.containsField(value, 'expiry date')) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const fieldValue: string = value[i + 2];\n if (this.isNullOrWhitespace(fieldValue)) {\n continue;\n }\n\n const fieldName: string = value[i + 1];\n const fieldNameLower = fieldName.toLowerCase();\n\n if (cipher.type === CipherType.Login) {\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.login.uris = this.makeUriArray(fieldValue);\n continue;\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = fieldValue;\n continue;\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = fieldValue;\n continue;\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = fieldValue;\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = fieldValue;\n continue;\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n continue;\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = fieldValue;\n continue;\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\n this.isNullOrWhitespace(cipher.card.expYear)) {\n if (this.setCardExpiration(cipher, fieldValue)) {\n continue;\n }\n } else if (fieldNameLower === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n this.processKvp(cipher, fieldName, fieldValue);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n\n private containsField(fields: any[], name: string) {\n if (fields == null || name == null) {\n return false;\n }\n return fields.filter((f) => !this.isNullOrWhitespace(f) &&\n f.toLowerCase() === name.toLowerCase()).length > 0;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class EnpassJsonImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null || results.items.length === 0) {\n result.success = false;\n return result;\n }\n\n results.items.forEach((item: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(item.title);\n cipher.favorite = item.favorite > 0;\n\n if (item.template_type != null && item.fields != null && item.fields.length > 0) {\n if (item.template_type.indexOf('login.') === 0 || item.template_type.indexOf('password.') === 0) {\n this.processLogin(cipher, item.fields);\n } else if (item.template_type.indexOf('creditcard.') === 0) {\n this.processCard(cipher, item.fields);\n } else if (item.template_type.indexOf('identity.') < 0 &&\n item.fields.some((f: any) => f.type === 'password' && !this.isNullOrWhitespace(f.value))) {\n this.processLogin(cipher, item.fields);\n } else {\n this.processNote(cipher, item.fields);\n }\n }\n\n cipher.notes += ('\\n' + this.getValueOrDefault(item.note, ''));\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n\n private processLogin(cipher: CipherView, fields: any[]) {\n const urls: string[] = [];\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n\n if ((field.type === 'username' || field.type === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = field.value;\n } else if (field.type === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = field.value;\n } else if (field.type === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = field.value;\n } else if (field.type === 'url') {\n urls.push(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n\n private processCard(cipher: CipherView, fields: any[]) {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section' || field.type === 'ccType') {\n return;\n }\n\n if (field.type === 'ccName' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = field.value;\n } else if (field.type === 'ccNumber' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = field.value;\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n } else if (field.type === 'ccCvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = field.value;\n } else if (field.type === 'ccExpiry' && this.isNullOrWhitespace(cipher.card.expYear)) {\n if (!this.setCardExpiration(cipher, field.value)) {\n this.processKvp(cipher, field.label, field.value);\n }\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n });\n }\n\n private processNote(cipher: CipherView, fields: any[]) {\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n this.processKvp(cipher, field.label, field.value);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.hostname), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.hostname);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class FSecureFskImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.data == null) {\n result.success = false;\n return result;\n }\n\n for (const key in results.data) {\n if (!results.data.hasOwnProperty(key)) {\n continue;\n }\n\n const value = results.data[key];\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.service);\n cipher.notes = this.getValueOrDefault(value.notes);\n\n if (value.style === 'website') {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n } else if (value.style === 'creditcard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.username);\n cipher.card.number = this.getValueOrDefault(value.creditNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.creditCvv);\n if (!this.isNullOrWhitespace(value.creditExpiry)) {\n if (!this.setCardExpiration(cipher, value.creditExpiry)) {\n this.processKvp(cipher, 'Expiration', value.creditExpiry);\n }\n }\n if (!this.isNullOrWhitespace(value.password)) {\n this.processKvp(cipher, 'PIN', value.password);\n }\n } else {\n continue;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || Object.keys(results).length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n for (const keyRing in results) {\r\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\r\n results[keyRing].length === 0) {\r\n continue;\r\n }\r\n\r\n results[keyRing].forEach((value: any) => {\r\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, keyRing);\r\n const cipher = this.initLoginCipher();\r\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\r\n if (cipher.name.length > 30) {\r\n cipher.name = cipher.name.substring(0, 30);\r\n }\r\n cipher.login.password = this.getValueOrDefault(value.secret);\r\n cipher.login.uris = this.makeUriArray(value.display_name);\r\n\r\n if (value.attributes != null) {\r\n cipher.login.username = value.attributes != null ?\r\n this.getValueOrDefault(value.attributes.username_value) : null;\r\n for (const attr in value.attributes) {\r\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\r\n attr === 'xdg:schema') {\r\n continue;\r\n }\r\n this.processKvp(cipher, attr, value.attributes[attr]);\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst NotesHeader = 'Notes\\n\\n';\nconst ApplicationsHeader = 'Applications\\n\\n';\nconst WebsitesHeader = 'Websites\\n\\n';\nconst Delimiter = '\\n---\\n';\n\nexport class KasperskyTxtImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n\n let notesData: string;\n let applicationsData: string;\n let websitesData: string;\n let workingData = this.splitNewLine(data).join('\\n');\n\n if (workingData.indexOf(NotesHeader) !== -1) {\n const parts = workingData.split(NotesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n notesData = parts[1];\n }\n }\n if (workingData.indexOf(ApplicationsHeader) !== -1) {\n const parts = workingData.split(ApplicationsHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n applicationsData = parts[1];\n }\n }\n if (workingData.indexOf(WebsitesHeader) === 0) {\n const parts = workingData.split(WebsitesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n websitesData = parts[1];\n }\n }\n\n const notes = this.parseDataCategory(notesData);\n const applications = this.parseDataCategory(applicationsData);\n const websites = this.parseDataCategory(websitesData);\n\n notes.forEach((n) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(n.get('Name'));\n cipher.notes = this.getValueOrDefault(n.get('Text'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n websites.concat(applications).forEach((w) => {\n const cipher = this.initLoginCipher();\n const nameKey = w.has('Website name') ? 'Website name' : 'Application';\n cipher.name = this.getValueOrDefault(w.get(nameKey), '');\n if (!this.isNullOrWhitespace(w.get('Login name'))) {\n if (!this.isNullOrWhitespace(cipher.name)) {\n cipher.name += ': ';\n }\n cipher.name += w.get('Login name');\n }\n cipher.notes = this.getValueOrDefault(w.get('Comment'));\n if (w.has('Website URL')) {\n cipher.login.uris = this.makeUriArray(w.get('Website URL'));\n }\n cipher.login.username = this.getValueOrDefault(w.get('Login'));\n cipher.login.password = this.getValueOrDefault(w.get('Password'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n\n private parseDataCategory(data: string): Array> {\n if (this.isNullOrWhitespace(data) || data.indexOf(Delimiter) === -1) {\n return [];\n }\n const items: Array> = [];\n data.split(Delimiter).forEach((p) => {\n if (p.indexOf('\\n') === -1) {\n return;\n }\n const item = new Map();\n let itemComment: string;\n let itemCommentKey: string;\n p.split('\\n').forEach((l) => {\n if (itemComment != null) {\n itemComment += ('\\n' + l);\n return;\n }\n const colonIndex = l.indexOf(':');\n let key: string;\n let val: string;\n if (colonIndex === -1) {\n return;\n } else {\n key = l.substring(0, colonIndex);\n if (l.length > colonIndex + 1) {\n val = l.substring(colonIndex + 2);\n }\n }\n if (key != null) {\n item.set(key, val);\n }\n if (key === 'Comment' || key === 'Text') {\n itemComment = val;\n itemCommentKey = key;\n }\n });\n if (itemComment != null && itemCommentKey != null) {\n item.set(itemCommentKey, itemComment);\n }\n if (item.size === 0) {\n return;\n }\n items.push(item);\n });\n return items;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\r\n result = new ImportResult();\r\n\r\n parse(data: string): ImportResult {\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\r\n if (rootGroup == null) {\r\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n this.traverse(rootGroup, true, '');\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(this.result);\r\n }\r\n\r\n this.result.success = true;\r\n return this.result;\r\n }\r\n\r\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\r\n const folderIndex = this.result.folders.length;\r\n let groupName = groupPrefixName;\r\n\r\n if (!isRootNode) {\r\n if (groupName !== '') {\r\n groupName += '/';\r\n }\r\n const nameEl = this.querySelectorDirectChild(node, 'Name');\r\n groupName += nameEl == null ? '-' : nameEl.textContent;\r\n const folder = new FolderView();\r\n folder.name = groupName;\r\n this.result.folders.push(folder);\r\n }\r\n\r\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\r\n const cipherIndex = this.result.ciphers.length;\r\n\r\n const cipher = this.initLoginCipher();\r\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\r\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\r\n const value = valueEl != null ? valueEl.textContent : null;\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\r\n const key = keyEl != null ? keyEl.textContent : null;\r\n\r\n if (key === 'URL') {\r\n cipher.login.uris = this.makeUriArray(value);\r\n } else if (key === 'UserName') {\r\n cipher.login.username = value;\r\n } else if (key === 'Password') {\r\n cipher.login.password = value;\r\n } else if (key === 'Title') {\r\n cipher.name = value;\r\n } else if (key === 'Notes') {\r\n cipher.notes += (value + '\\n');\r\n } else {\r\n this.processKvp(cipher, key, value);\r\n }\r\n });\r\n\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n\r\n if (!isRootNode) {\r\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\r\n this.traverse(group, false, groupName);\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.Title)) {\r\n return;\r\n }\r\n\r\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\r\n value.Group.replace('Root/', '') : value.Group;\r\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\r\n this.processFolder(result, groupName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value.Title, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Username);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 6) {\n return;\n }\n\n this.processFolder(result, value[0]);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\n cipher.name = this.getValueOrDefault(value[1], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n\n if (value.length > 7) {\n // we have some custom fields.\n for (let i = 7; i < value.length; i = i + 2) {\n this.processKvp(cipher, value[i], value[i + 1]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value, index) => {\r\n const cipherIndex = result.ciphers.length;\r\n let folderIndex = result.folders.length;\r\n let grouping = value.grouping;\r\n if (grouping != null) {\r\n grouping = grouping.replace(/\\\\/g, '/').replace(/[\\x00-\\x1F\\x7F-\\x9F]/g, '');\r\n }\r\n const hasFolder = this.getValueOrDefault(grouping, '(none)') !== '(none)';\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === grouping) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const cipher = this.buildBaseCipher(value);\r\n if (cipher.type === CipherType.Login) {\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n cipher.login = new LoginView();\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n } else if (cipher.type === CipherType.SecureNote) {\r\n this.parseSecureNote(value, cipher);\r\n } else if (cipher.type === CipherType.Card) {\r\n cipher.card = this.parseCard(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n } else if (cipher.type === CipherType.Identity) {\r\n cipher.identity = this.parseIdentity(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (!this.isNullOrWhitespace(value.ccnum)) {\r\n // there is a card on this identity too\r\n const cardCipher = this.buildBaseCipher(value);\r\n cardCipher.identity = null;\r\n cardCipher.type = CipherType.Card;\r\n cardCipher.card = this.parseCard(value);\r\n result.ciphers.push(cardCipher);\r\n }\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = grouping;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private buildBaseCipher(value: any) {\r\n const cipher = new CipherView();\r\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\r\n // form fill\r\n cipher.favorite = false;\r\n cipher.name = this.getValueOrDefault(value.profilename, '--');\r\n cipher.type = CipherType.Card;\r\n\r\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\r\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\r\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\r\n !this.isNullOrWhitespace(value.email)) {\r\n cipher.type = CipherType.Identity;\r\n }\r\n } else {\r\n // site or secure note\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\r\n }\r\n return cipher;\r\n }\r\n\r\n private parseCard(value: any): CardView {\r\n const card = new CardView();\r\n card.cardholderName = this.getValueOrDefault(value.ccname);\r\n card.number = this.getValueOrDefault(value.ccnum);\r\n card.code = this.getValueOrDefault(value.cccsc);\r\n card.brand = this.getCardBrand(value.ccnum);\r\n\r\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\r\n const ccexpParts = (value.ccexp as string).split('-');\r\n if (ccexpParts.length > 1) {\r\n card.expYear = ccexpParts[0];\r\n card.expMonth = ccexpParts[1];\r\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\r\n card.expMonth = card.expMonth[1];\r\n }\r\n }\r\n }\r\n\r\n return card;\r\n }\r\n\r\n private parseIdentity(value: any): IdentityView {\r\n const identity = new IdentityView();\r\n identity.title = this.getValueOrDefault(value.title);\r\n identity.firstName = this.getValueOrDefault(value.firstname);\r\n identity.middleName = this.getValueOrDefault(value.middlename);\r\n identity.lastName = this.getValueOrDefault(value.lastname);\r\n identity.username = this.getValueOrDefault(value.username);\r\n identity.company = this.getValueOrDefault(value.company);\r\n identity.ssn = this.getValueOrDefault(value.ssn);\r\n identity.address1 = this.getValueOrDefault(value.address1);\r\n identity.address2 = this.getValueOrDefault(value.address2);\r\n identity.address3 = this.getValueOrDefault(value.address3);\r\n identity.city = this.getValueOrDefault(value.city);\r\n identity.state = this.getValueOrDefault(value.state);\r\n identity.postalCode = this.getValueOrDefault(value.zip);\r\n identity.country = this.getValueOrDefault(value.country);\r\n identity.email = this.getValueOrDefault(value.email);\r\n identity.phone = this.getValueOrDefault(value.phone);\r\n\r\n if (!this.isNullOrWhitespace(identity.title)) {\r\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\r\n }\r\n\r\n return identity;\r\n }\r\n\r\n private parseSecureNote(value: any, cipher: CipherView) {\r\n const extraParts = this.splitNewLine(value.extra);\r\n let processedNote = false;\r\n\r\n if (extraParts.length) {\r\n const typeParts = extraParts[0].split(':');\r\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\r\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\r\n if (typeParts[1] === 'Credit Card') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Number': 'number',\r\n 'Name on Card': 'cardholderName',\r\n 'Security Code': 'code',\r\n });\r\n cipher.type = CipherType.Card;\r\n cipher.card = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n } else if (typeParts[1] === 'Address') {\r\n const mappedData = this.parseSecureNoteMapping(extraParts, {\r\n 'Title': 'title',\r\n 'First Name': 'firstName',\r\n 'Last Name': 'lastName',\r\n 'Middle Name': 'middleName',\r\n 'Company': 'company',\r\n 'Address 1': 'address1',\r\n 'Address 2': 'address2',\r\n 'Address 3': 'address3',\r\n 'City / Town': 'city',\r\n 'State': 'state',\r\n 'Zip / Postal Code': 'postalCode',\r\n 'Country': 'country',\r\n 'Email Address': 'email',\r\n 'Username': 'username',\r\n });\r\n cipher.type = CipherType.Identity;\r\n cipher.identity = mappedData[0];\r\n cipher.notes = mappedData[1];\r\n }\r\n processedNote = true;\r\n }\r\n }\r\n\r\n if (!processedNote) {\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n }\r\n }\r\n\r\n private parseSecureNoteMapping(extraParts: string[], map: any): [T, string] {\r\n let notes: string = null;\r\n const dataObj: any = {};\r\n\r\n extraParts.forEach((extraPart) => {\r\n if (this.isNullOrWhitespace(extraPart)) {\r\n return;\r\n }\r\n let key: string = null;\r\n let val: string = null;\r\n const colonIndex = extraPart.indexOf(':');\r\n if (colonIndex === -1) {\r\n key = extraPart;\r\n } else {\r\n key = extraPart.substring(0, colonIndex);\r\n if (extraPart.length > colonIndex) {\r\n val = extraPart.substring(colonIndex + 1);\r\n }\r\n }\r\n if (this.isNullOrWhitespace(key) || this.isNullOrWhitespace(val) || key === 'NoteType') {\r\n return;\r\n }\r\n\r\n if (key === 'Notes') {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += ('\\n' + val);\r\n } else {\r\n notes = val;\r\n }\r\n } else if (map.hasOwnProperty(key)) {\r\n dataObj[map[key]] = val;\r\n } else {\r\n if (!this.isNullOrWhitespace(notes)) {\r\n notes += '\\n';\r\n } else {\r\n notes = '';\r\n }\r\n notes += (key + ': ' + val);\r\n }\r\n });\r\n\r\n return [dataObj as T, notes];\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.login.username = this.getValueOrDefault(value.UserName);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[2], '--');\n\n if (value[1] === 'Web Logins') {\n cipher.login.uris = this.makeUriArray(value[4]);\n cipher.login.username = this.getValueOrDefault(value[5]);\n cipher.login.password = this.getValueOrDefault(value[6]);\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\n } else if (value.length > 3) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n for (let i = 3; i < value.length; i++) {\n if (!this.isNullOrWhitespace(value[i])) {\n cipher.notes += (value[i] + '\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\n cipher.name = value[1] + ': ' + cipher.name;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n const cipher = this.initLoginCipher();\n\n if (this.isNullOrWhitespace(item.hmac)) {\n this.processStandardItem(item, cipher);\n } else {\n this.processWinOpVaultItem(item, cipher);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return this.result;\n }\n\n private processWinOpVaultItem(item: any, cipher: CipherView) {\n if (item.overview != null) {\n cipher.name = this.getValueOrDefault(item.overview.title);\n if (item.overview.URLs != null) {\n const urls: string[] = [];\n item.overview.URLs.forEach((url: any) => {\n if (!this.isNullOrWhitespace(url.u)) {\n urls.push(url.u);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n }\n\n if (item.details != null) {\n if (!this.isNullOrWhitespace(item.details.ccnum) || !this.isNullOrWhitespace(item.details.cvv)) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(item.details.password)) {\n cipher.login.password = item.details.password;\n }\n if (!this.isNullOrWhitespace(item.details.notesPlain)) {\n cipher.notes = item.details.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.details.fields != null) {\n this.parseFields(item.details.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.details.sections != null) {\n item.details.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n }\n\n private processStandardItem(item: any, cipher: CipherView) {\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\n cipher.name = this.getValueOrDefault(item.title);\n\n if (item.typeName === 'securenotes.SecureNote') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else if (item.typeName === 'wallet.financial.CreditCard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (cipher.type === CipherType.Login) {\n if (!this.isNullOrWhitespace(item.secureContents.password)) {\n cipher.login.password = item.secureContents.password;\n }\n if (item.secureContents.URLs != null) {\n const urls: string[] = [];\n item.secureContents.URLs.forEach((u: any) => {\n if (!this.isNullOrWhitespace(u.url)) {\n urls.push(u.url);\n }\n });\n if (urls.length > 0) {\n cipher.login.uris = this.makeUriArray(urls);\n }\n }\n }\n if (item.secureContents.fields != null) {\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.secureContents.sections != null) {\n item.secureContents.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n }\n\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\n fields.forEach((field: any) => {\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\n return;\n }\n\n const fieldValue = field[valueKey].toString();\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\n cipher.login.username = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\n cipher.login.password = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\n fieldDesignation.startsWith('TOTP_')) {\n cipher.login.totp = fieldValue;\n return;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n return;\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\n cipher.card.code = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\n cipher.card.cardholderName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\n fieldValue.length === 6) {\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\n return;\n } else if (fieldDesignation === 'type') {\n // Skip since brand was determined from number above\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n this.processKvp(cipher, fieldName, fieldValue);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { CardView } from '../models/view';\r\n\r\nconst IgnoredProperties = ['ainfo', 'autosubmit', 'notesPlain', 'ps', 'scope', 'tags', 'title', 'uuid'];\r\n\r\nexport class OnePasswordWinCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.title)) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.title, '--');\r\n cipher.notes = this.getValueOrDefault(value.notesPlain, '') + '\\n';\r\n\r\n if (!this.isNullOrWhitespace(value.number) && !this.isNullOrWhitespace(value['expiry date'])) {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n }\r\n\r\n let altUsername: string = null;\r\n for (const property in value) {\r\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Login) {\r\n if (this.isNullOrWhitespace(cipher.login.password) && property === 'password') {\r\n cipher.login.password = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.login.username) && property === 'username') {\r\n cipher.login.username = value[property];\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uri.length === 0) && property === 'urls') {\r\n const urls = value[property].split(this.newLineRegex);\r\n cipher.login.uris = this.makeUriArray(urls);\r\n continue;\r\n }\r\n } else if (cipher.type === CipherType.Card) {\r\n if (this.isNullOrWhitespace(cipher.card.number) && property === 'number') {\r\n cipher.card.number = value[property];\r\n cipher.card.brand = this.getCardBrand(value.number);\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.code) && property === 'verification number') {\r\n cipher.card.code = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && property === 'cardholder name') {\r\n cipher.card.cardholderName = value[property];\r\n continue;\r\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && property === 'expiry date' &&\r\n value[property].length === 6) {\r\n cipher.card.expMonth = (value[property] as string).substr(4, 2);\r\n if (cipher.card.expMonth[0] === '0') {\r\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\r\n }\r\n cipher.card.expYear = (value[property] as string).substr(0, 4);\r\n continue;\r\n } else if (property === 'type') {\r\n // Skip since brand was determined from number above\r\n continue;\r\n }\r\n }\r\n\r\n if (IgnoredProperties.indexOf(property) === -1 && !property.startsWith('section:')) {\r\n if (altUsername == null && property === 'email') {\r\n altUsername = value[property];\r\n }\r\n this.processKvp(cipher, property, value[property]);\r\n }\r\n }\r\n\r\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\r\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\r\n cipher.login.username = altUsername;\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","export { AttachmentView } from './attachmentView';\r\nexport { CardView } from './cardView';\r\nexport { CipherView } from './cipherView';\r\nexport { FieldView } from './fieldView';\r\nexport { IdentityView } from './identityView';\r\nexport { LoginUriView } from './loginUriView';\r\nexport { LoginView } from './loginView';\r\nexport { SecureNoteView } from './secureNoteView';\r\nexport { View } from './view';\r\n","export class View {\r\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let headers: string[] = null;\n results.forEach((value) => {\n if (headers == null) {\n headers = value.map((v: string) => v);\n return;\n }\n\n if (value.length < 2 || value.length !== headers.length) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value[1])) {\n if (this.organization) {\n const tags = (value[1] as string).split(',');\n tags.forEach((tag) => {\n tag = tag.trim();\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else {\n const tags = (value[1] as string).split(',');\n const tag = tags.length > 0 ? tags[0].trim() : null;\n this.processFolder(result, tag);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n for (let i = 2; i < value.length; i++) {\n const header = headers[i].trim().toLowerCase();\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\n continue;\n }\n\n if (this.usernameFieldNames.indexOf(header) > -1) {\n cipher.login.username = value[i];\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\n cipher.login.password = value[i];\n } else if (this.uriFieldNames.indexOf(header) > -1) {\n cipher.login.uris = this.makeUriArray(value[i]);\n } else {\n this.processKvp(cipher, headers[i], value[i]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n this.processFolder(result, this.getValue('category', value));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValue('description', value);\r\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\r\n cipher.login.username = this.getValue('username', value);\r\n cipher.login.password = this.getValue('password', value);\r\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\r\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private getValue(key: string, value: any) {\r\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassmanJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((credential: any) => {\r\n if (credential.tags != null && credential.tags.length > 0) {\r\n const folderName = credential.tags[0].text;\r\n this.processFolder(result, folderName);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = credential.label;\r\n\r\n cipher.login.username = this.getValueOrDefault(credential.username);\r\n if (this.isNullOrWhitespace(cipher.login.username)) {\r\n cipher.login.username = this.getValueOrDefault(credential.email);\r\n } else if (!this.isNullOrWhitespace(credential.email)) {\r\n cipher.notes = ('Email: ' + credential.email + '\\n');\r\n }\r\n\r\n cipher.login.password = this.getValueOrDefault(credential.password);\r\n cipher.login.uris = this.makeUriArray(credential.url);\r\n cipher.notes += this.getValueOrDefault(credential.description, '');\r\n if (credential.otp != null) {\r\n cipher.login.totp = this.getValueOrDefault(credential.otp.secret);\r\n }\r\n\r\n if (credential.custom_fields != null) {\r\n credential.custom_fields.forEach((customField: any) => {\r\n switch (customField.field_type) {\r\n case 'text':\r\n case 'password':\r\n this.processKvp(cipher, customField.label, customField.value);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nexport class PasspackCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const tagsJson = !this.isNullOrWhitespace(value.Tags) ? JSON.parse(value.Tags) : null;\r\n const tags: string[] = tagsJson != null && tagsJson.tags != null && tagsJson.tags.length > 0 ?\r\n tagsJson.tags.map((tagJson: string) => {\r\n try {\r\n const t = JSON.parse(tagJson);\r\n return this.getValueOrDefault(t.tag);\r\n } catch { }\r\n return null;\r\n }).filter((t: string) => !this.isNullOrWhitespace(t)) : null;\r\n\r\n if (this.organization && tags != null && tags.length > 0) {\r\n tags.forEach((tag) => {\r\n let addCollection = true;\r\n let collectionIndex = result.collections.length;\r\n\r\n for (let i = 0; i < result.collections.length; i++) {\r\n if (result.collections[i].name === tag) {\r\n addCollection = false;\r\n collectionIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (addCollection) {\r\n const collection = new CollectionView();\r\n collection.name = tag;\r\n result.collections.push(collection);\r\n }\r\n\r\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\r\n });\r\n } else if (!this.organization && tags != null && tags.length > 0) {\r\n this.processFolder(result, tags[0]);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes, '');\r\n cipher.notes += ('\\n\\n' + this.getValueOrDefault(value['Shared Notes'], '') + '\\n');\r\n cipher.name = this.getValueOrDefault(value['Entry Name'], '--');\r\n cipher.login.username = this.getValueOrDefault(value['User ID']);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n\r\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\r\n value.__parsed_extra.forEach((extra: string) => {\r\n if (!this.isNullOrWhitespace(extra)) {\r\n cipher.notes += ('\\n' + extra);\r\n }\r\n });\r\n }\r\n\r\n const fieldsJson = !this.isNullOrWhitespace(value['Extra Fields']) ?\r\n JSON.parse(value['Extra Fields']) : null;\r\n const fields = fieldsJson != null && fieldsJson.extraFields != null &&\r\n fieldsJson.extraFields.length > 0 ? fieldsJson.extraFields.map((fieldJson: string) => {\r\n try {\r\n return JSON.parse(fieldJson);\r\n } catch { }\r\n return null;\r\n }) : null;\r\n if (fields != null) {\r\n fields.forEach((f: any) => {\r\n if (f != null) {\r\n this.processKvp(cipher, f.name, f.data);\r\n }\r\n });\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 9) {\r\n return;\r\n }\r\n const folder = this.getValueOrDefault(value[8], '(None)');\r\n const folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\r\n this.processFolder(result, folderName);\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[3]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n cipher.login.username = this.getValueOrDefault(value[1]);\r\n cipher.login.password = this.getValueOrDefault(value[2]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.login.uris = this.makeUriArray(value.login_url);\r\n\r\n if (value.identifiers == null) {\r\n return;\r\n }\r\n\r\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\r\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\r\n }\r\n\r\n if (value.type === 'CreditCard') {\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n }\r\n\r\n for (const property in value.identifiers) {\r\n if (!value.identifiers.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n const valObj = value.identifiers[property];\r\n const val = valObj != null ? valObj.toString() : null;\r\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Card) {\r\n if (property === 'cardNumber') {\r\n cipher.card.number = val;\r\n cipher.card.brand = this.getCardBrand(val);\r\n continue;\r\n } else if (property === 'nameOnCard') {\r\n cipher.card.cardholderName = val;\r\n continue;\r\n } else if (property === 'security_code') {\r\n cipher.card.code = val;\r\n continue;\r\n } else if (property === 'expires') {\r\n try {\r\n const expDate = new Date(val);\r\n cipher.card.expYear = expDate.getFullYear().toString();\r\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\r\n } catch { }\r\n continue;\r\n } else if (property === 'cardType') {\r\n continue;\r\n }\r\n } else {\r\n if (property === 'username') {\r\n cipher.login.username = val;\r\n continue;\r\n } else if (property === 'password') {\r\n cipher.login.password = val;\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(property) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n continue;\r\n }\r\n }\r\n\r\n this.processKvp(cipher, property, val);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const records = doc.querySelectorAll('PasswordManager > record');\n Array.from(records).forEach((record) => {\n const category = this.querySelectorDirectChild(record, 'Category');\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\n category.textContent !== 'Unfiled' ? category.textContent : null;\n this.processFolder(result, categoryText);\n\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\n const userId = this.querySelectorDirectChild(record, 'User-Id');\n const password = this.querySelectorDirectChild(record, 'Password');\n const url = this.querySelectorDirectChild(record, 'URL');\n const notes = this.querySelectorDirectChild(record, 'Notes');\n const cipher = this.initLoginCipher();\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n const attributes: string[] = [];\n for (let i = 1; i <= 10; i++) {\n attributes.push('Attribute-' + i);\n }\n\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\n return;\n }\n this.processKvp(cipher, attr.tagName, attr.textContent);\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const passwordSafe = doc.querySelector('passwordsafe');\r\n if (passwordSafe == null) {\r\n result.errorMessage = 'Missing `passwordsafe` node.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\r\n const entries = doc.querySelectorAll('passwordsafe > entry');\r\n Array.from(entries).forEach((entry) => {\r\n const group = this.querySelectorDirectChild(entry, 'group');\r\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\r\n group.textContent.split('.').join('/') : null;\r\n this.processFolder(result, groupText);\r\n\r\n const title = this.querySelectorDirectChild(entry, 'title');\r\n const username = this.querySelectorDirectChild(entry, 'username');\r\n const email = this.querySelectorDirectChild(entry, 'email');\r\n const password = this.querySelectorDirectChild(entry, 'password');\r\n const url = this.querySelectorDirectChild(entry, 'url');\r\n const notes = this.querySelectorDirectChild(entry, 'notes');\r\n const cipher = this.initLoginCipher();\r\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\r\n cipher.notes = notes != null ?\r\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\r\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\r\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\r\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\r\n\r\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\r\n cipher.login.username = this.getValueOrDefault(email.textContent);\r\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\r\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\r\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nexport class RememBearCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.trash === 'true') {\r\n return;\r\n }\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (value.type === 'LoginItem') {\r\n cipher.login.uris = this.makeUriArray(value.website);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n } else if (value.type === 'CreditCardItem') {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\r\n cipher.card.number = this.getValueOrDefault(value.number);\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n cipher.card.code = this.getValueOrDefault(value.verification);\r\n\r\n try {\r\n const expMonth = this.getValueOrDefault(value.expiryMonth);\r\n if (expMonth != null) {\r\n const expMonthNumber = parseInt(expMonth, null);\r\n if (expMonthNumber != null && expMonthNumber >= 1 && expMonthNumber <= 12) {\r\n cipher.card.expMonth = expMonthNumber.toString();\r\n }\r\n }\r\n } catch { }\r\n try {\r\n const expYear = this.getValueOrDefault(value.expiryYear);\r\n if (expYear != null) {\r\n const expYearNumber = parseInt(expYear, null);\r\n if (expYearNumber != null) {\r\n cipher.card.expYear = expYearNumber.toString();\r\n }\r\n }\r\n } catch { }\r\n\r\n const pin = this.getValueOrDefault(value.pin);\r\n if (pin != null) {\r\n this.processKvp(cipher, 'PIN', pin);\r\n }\r\n const zip = this.getValueOrDefault(value.zipCode);\r\n if (zip != null) {\r\n this.processKvp(cipher, 'Zip Code', zip);\r\n }\r\n }\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let i = 1;\n results.forEach((value) => {\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\n value.Folder.replace('/', '') : value.Folder;\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.name = this.getValueOrDefault(value.Name, '--');\n cipher.login.username = this.getValueOrDefault(value.Login);\n cipher.login.password = this.getValueOrDefault(value.Pwd);\n cipher.login.uris = this.makeUriArray(value.Url);\n\n if (!this.isNullOrWhitespace(value.Rf_fields)) {\n let fields: string[] = [value.Rf_fields];\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n fields = fields.concat(value.__parsed_extra);\n }\n fields.forEach((field: string) => {\n const parts = field.split(':');\n if (parts.length < 3) {\n return;\n }\n const key = parts[0] === '-no-name-' ? null : parts[0];\n const val = parts.length === 4 && parts[2] === 'rck' ? parts[1] : parts[2];\n this.processKvp(cipher, key, val);\n });\n }\n\n this.cleanupCipher(cipher);\n\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\n return;\n }\n\n result.ciphers.push(cipher);\n i++;\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const db = doc.querySelector('database');\n if (db == null) {\n result.errorMessage = 'Missing `database` node.';\n result.success = false;\n return result;\n }\n\n const foldersMap = new Map();\n\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\n const name = labelEl.getAttribute('name');\n const id = labelEl.getAttribute('id');\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\n foldersMap.set(id, result.folders.length);\n const folder = new FolderView();\n folder.name = name;\n result.folders.push(folder);\n }\n });\n\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\n if (cardEl.getAttribute('template') === 'true') {\n return;\n }\n\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\n if (labelIdEl != null) {\n const labelId = labelIdEl.textContent;\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\n\n const cardType = cardEl.getAttribute('type');\n if (cardType === 'note') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else {\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\n const text = fieldEl.textContent;\n if (this.isNullOrWhitespace(text)) {\n return;\n }\n const name = fieldEl.getAttribute('name');\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\n if (fieldType === 'login') {\n cipher.login.username = text;\n } else if (fieldType === 'password') {\n cipher.login.password = text;\n } else if (fieldType === 'notes') {\n cipher.notes += (text + '\\n');\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\n cipher.login.uris = this.makeUriArray(text);\n } else {\n this.processKvp(cipher, name, text);\n }\n });\n }\n\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\n cipher.notes += (notesEl.textContent + '\\n');\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 3) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\r\n cipher.name = this.getValueOrDefault(value[1], '--');\r\n\r\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.parseFieldsToNotes(cipher, 5, value);\r\n } else {\r\n this.parseFieldsToNotes(cipher, 2, value);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\r\n // last 3 rows do not get parsed\r\n for (let i = startIndex; i < value.length - 3; i++) {\r\n if (this.isNullOrWhitespace(value[i])) {\r\n continue;\r\n }\r\n cipher.notes += (value[i] + '\\n');\r\n }\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\r\n Array.from(loginNodes).forEach((loginNode) => {\r\n const accountId = loginNode.getAttribute('ID');\r\n if (this.isNullOrWhitespace(accountId)) {\r\n return;\r\n }\r\n\r\n const usernameText = loginNode.getAttribute('Name');\r\n const passwordText = loginNode.getAttribute('Password');\r\n let titleText: string = null;\r\n let linkText: string = null;\r\n let notesText: string = null;\r\n let groupId: string = null;\r\n let groupText: string = null;\r\n\r\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\r\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\r\n if (accountLogin != null) {\r\n const account = accountLogin.parentElement.parentElement;\r\n if (account != null) {\r\n titleText = account.getAttribute('Name');\r\n linkText = account.getAttribute('Link');\r\n groupId = account.getAttribute('ParentID');\r\n notesText = account.getAttribute('Comments');\r\n if (!this.isNullOrWhitespace(notesText)) {\r\n notesText = notesText.split('/n').join('\\n');\r\n }\r\n }\r\n }\r\n\r\n if (!this.isNullOrWhitespace(groupId)) {\r\n groupText = this.buildGroupText(doc, groupId, '');\r\n this.processFolder(result, groupText);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(titleText, '--');\r\n cipher.notes = this.getValueOrDefault(notesText);\r\n cipher.login.username = this.getValueOrDefault(usernameText);\r\n cipher.login.password = this.getValueOrDefault(passwordText);\r\n cipher.login.uris = this.makeUriArray(linkText);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\r\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\r\n if (group == null) {\r\n return groupText;\r\n }\r\n if (!this.isNullOrWhitespace(groupText)) {\r\n groupText = '/' + groupText;\r\n }\r\n groupText = group.getAttribute('Name') + groupText;\r\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\n];\n\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.notes = this.getValueOrDefault(value.memo, '');\n cipher.login.username = this.getValueOrDefault(value.login);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n\n if (value.kind !== 'login') {\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.note, '');\n }\n\n if (value.kind === 'cc') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (!this.isNullOrWhitespace(value.expiryDate)) {\n try {\n const expDate = new Date(value.expiryDate);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n }\n } else if (value.kind !== 'login') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = this.getValueOrDefault(value.document_content, '');\n }\n for (const property in value) {\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\n !this.isNullOrWhitespace(value[property])) {\n this.processKvp(cipher, property, value[property]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class UpmCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length !== 5) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[3]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view';\r\n\r\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value['Secret Name'])) {\r\n return;\r\n }\r\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\r\n const cipher = this.initLoginCipher();\r\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value['Secret Name'], '--');\r\n cipher.login.uris = this.makeUriArray(value['Secret URL']);\r\n this.parseData(cipher, value.SecretData);\r\n this.parseData(cipher, value.CustomData);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseData(cipher: CipherView, data: string) {\r\n if (this.isNullOrWhitespace(data)) {\r\n return;\r\n }\r\n const dataLines = this.splitNewLine(data);\r\n dataLines.forEach((line) => {\r\n const delimPosition = line.indexOf(':');\r\n if (delimPosition < 0) {\r\n return;\r\n }\r\n const field = line.substring(0, delimPosition);\r\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\r\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\r\n return;\r\n }\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = value;\r\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = value;\r\n } else {\r\n this.processKvp(cipher, field, value);\r\n }\r\n });\r\n }\r\n}\r\n","import * as signalR from '@aspnet/signalr';\r\nimport * as signalRMsgPack from '@aspnet/signalr-protocol-msgpack';\r\n\r\nimport { NotificationType } from '../enums/notificationType';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { AppIdService } from '../abstractions/appId.service';\r\nimport { EnvironmentService } from '../abstractions/environment.service';\r\nimport { LockService } from '../abstractions/lock.service';\r\nimport { NotificationsService as NotificationsServiceAbstraction } from '../abstractions/notifications.service';\r\nimport { SyncService } from '../abstractions/sync.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport {\r\n NotificationResponse,\r\n SyncCipherNotification,\r\n SyncFolderNotification,\r\n} from '../models/response/notificationResponse';\r\n\r\nexport class NotificationsService implements NotificationsServiceAbstraction {\r\n private signalrConnection: signalR.HubConnection;\r\n private url: string;\r\n private connected = false;\r\n private inited = false;\r\n private inactive = false;\r\n private reconnectTimer: any = null;\r\n\r\n constructor(private userService: UserService, private syncService: SyncService,\r\n private appIdService: AppIdService, private apiService: ApiService,\r\n private lockService: LockService, private logoutCallback: () => Promise) { }\r\n\r\n async init(environmentService: EnvironmentService): Promise {\r\n this.inited = false;\r\n this.url = 'https://notifications.bitwarden.com';\r\n if (environmentService.notificationsUrl != null) {\r\n this.url = environmentService.notificationsUrl;\r\n } else if (environmentService.baseUrl != null) {\r\n this.url = environmentService.baseUrl + '/notifications';\r\n }\r\n\r\n // Set notifications server URL to `https://-` to effectively disable communication\r\n // with the notifications server from the client app\r\n if (this.url === 'https://-') {\r\n return;\r\n }\r\n\r\n if (this.signalrConnection != null) {\r\n this.signalrConnection.off('ReceiveMessage');\r\n await this.signalrConnection.stop();\r\n this.connected = false;\r\n this.signalrConnection = null;\r\n }\r\n\r\n this.signalrConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(this.url + '/hub', {\r\n accessTokenFactory: () => this.apiService.getActiveBearerToken(),\r\n })\r\n .withHubProtocol(new signalRMsgPack.MessagePackHubProtocol())\r\n // .configureLogging(signalR.LogLevel.Trace)\r\n .build();\r\n\r\n this.signalrConnection.on('ReceiveMessage',\r\n (data: any) => this.processNotification(new NotificationResponse(data)));\r\n this.signalrConnection.onclose(() => {\r\n this.connected = false;\r\n this.reconnect(true);\r\n });\r\n this.inited = true;\r\n if (await this.isAuthedAndUnlocked()) {\r\n await this.reconnect(false);\r\n }\r\n }\r\n\r\n async updateConnection(sync = false): Promise {\r\n if (!this.inited) {\r\n return;\r\n }\r\n try {\r\n if (await this.isAuthedAndUnlocked()) {\r\n await this.reconnect(sync);\r\n } else {\r\n await this.signalrConnection.stop();\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line\r\n console.error(e.toString());\r\n }\r\n }\r\n\r\n async reconnectFromActivity(): Promise {\r\n this.inactive = false;\r\n if (this.inited && !this.connected) {\r\n await this.reconnect(true);\r\n }\r\n }\r\n\r\n async disconnectFromInactivity(): Promise {\r\n this.inactive = true;\r\n if (this.inited && this.connected) {\r\n await this.signalrConnection.stop();\r\n }\r\n }\r\n\r\n private async processNotification(notification: NotificationResponse) {\r\n const appId = await this.appIdService.getAppId();\r\n if (notification == null || notification.contextId === appId) {\r\n return;\r\n }\r\n\r\n const isAuthenticated = await this.userService.isAuthenticated();\r\n const payloadUserId = notification.payload.userId || notification.payload.UserId;\r\n const myUserId = await this.userService.getUserId();\r\n if (isAuthenticated && payloadUserId != null && payloadUserId !== myUserId) {\r\n return;\r\n }\r\n\r\n switch (notification.type) {\r\n case NotificationType.SyncCipherCreate:\r\n case NotificationType.SyncCipherUpdate:\r\n await this.syncService.syncUpsertCipher(notification.payload as SyncCipherNotification,\r\n notification.type === NotificationType.SyncCipherUpdate);\r\n break;\r\n case NotificationType.SyncCipherDelete:\r\n case NotificationType.SyncLoginDelete:\r\n await this.syncService.syncDeleteCipher(notification.payload as SyncCipherNotification);\r\n break;\r\n case NotificationType.SyncFolderCreate:\r\n case NotificationType.SyncFolderUpdate:\r\n await this.syncService.syncUpsertFolder(notification.payload as SyncFolderNotification,\r\n notification.type === NotificationType.SyncFolderUpdate);\r\n break;\r\n case NotificationType.SyncFolderDelete:\r\n await this.syncService.syncDeleteFolder(notification.payload as SyncFolderNotification);\r\n break;\r\n case NotificationType.SyncVault:\r\n case NotificationType.SyncCiphers:\r\n case NotificationType.SyncSettings:\r\n if (isAuthenticated) {\r\n await this.syncService.fullSync(false);\r\n }\r\n break;\r\n case NotificationType.SyncOrgKeys:\r\n if (isAuthenticated) {\r\n await this.apiService.refreshIdentityToken();\r\n await this.syncService.fullSync(true);\r\n // Stop so a reconnect can be made\r\n await this.signalrConnection.stop();\r\n }\r\n break;\r\n case NotificationType.LogOut:\r\n if (isAuthenticated) {\r\n this.logoutCallback();\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n private async reconnect(sync: boolean) {\r\n if (this.reconnectTimer != null) {\r\n clearTimeout(this.reconnectTimer);\r\n this.reconnectTimer = null;\r\n }\r\n if (this.connected || !this.inited || this.inactive) {\r\n return;\r\n }\r\n const authedAndUnlocked = await this.isAuthedAndUnlocked();\r\n if (!authedAndUnlocked) {\r\n return;\r\n }\r\n\r\n try {\r\n await this.signalrConnection.start();\r\n this.connected = true;\r\n if (sync) {\r\n await this.syncService.fullSync(false);\r\n }\r\n } catch { }\r\n\r\n if (!this.connected) {\r\n this.reconnectTimer = setTimeout(() => this.reconnect(sync), this.random(120000, 300000));\r\n }\r\n }\r\n\r\n private async isAuthedAndUnlocked() {\r\n if (await this.userService.isAuthenticated()) {\r\n const locked = await this.lockService.isLocked();\r\n return !locked;\r\n }\r\n return false;\r\n }\r\n\r\n private random(min: number, max: number) {\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { NotificationType } from '../../enums/notificationType';\r\n\r\nexport class NotificationResponse extends BaseResponse {\r\n contextId: string;\r\n type: NotificationType;\r\n payload: any;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.contextId = this.getResponseProperty('ContextId');\r\n this.type = this.getResponseProperty('Type');\r\n\r\n const payload = this.getResponseProperty('Payload');\r\n switch (this.type) {\r\n case NotificationType.SyncCipherCreate:\r\n case NotificationType.SyncCipherDelete:\r\n case NotificationType.SyncCipherUpdate:\r\n case NotificationType.SyncLoginDelete:\r\n this.payload = new SyncCipherNotification(payload);\r\n break;\r\n case NotificationType.SyncFolderCreate:\r\n case NotificationType.SyncFolderDelete:\r\n case NotificationType.SyncFolderUpdate:\r\n this.payload = new SyncFolderNotification(payload);\r\n break;\r\n case NotificationType.SyncVault:\r\n case NotificationType.SyncCiphers:\r\n case NotificationType.SyncOrgKeys:\r\n case NotificationType.SyncSettings:\r\n case NotificationType.LogOut:\r\n this.payload = new UserNotification(payload);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n\r\nexport class SyncCipherNotification extends BaseResponse {\r\n id: string;\r\n userId: string;\r\n organizationId: string;\r\n collectionIds: string[];\r\n revisionDate: Date;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.collectionIds = this.getResponseProperty('CollectionIds');\r\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\r\n }\r\n}\r\n\r\nexport class SyncFolderNotification extends BaseResponse {\r\n id: string;\r\n userId: string;\r\n revisionDate: Date;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\r\n }\r\n}\r\n\r\nexport class UserNotification extends BaseResponse {\r\n userId: string;\r\n date: Date;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.userId = this.getResponseProperty('UserId');\r\n this.date = new Date(this.getResponseProperty('Date'));\r\n }\r\n}\r\n","import * as lunr from 'lunr';\n\nimport { CipherView } from '../models/view/cipherView';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { SearchService as SearchServiceAbstraction } from '../abstractions/search.service';\n\nimport { CipherType } from '../enums/cipherType';\nimport { DeviceType } from '../enums/deviceType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nexport class SearchService implements SearchServiceAbstraction {\n private indexing = false;\n private index: lunr.Index = null;\n private onlySearchName = false;\n\n constructor(private cipherService: CipherService, platformUtilsService: PlatformUtilsService) {\n this.onlySearchName = platformUtilsService == null ||\n platformUtilsService.getDevice() === DeviceType.EdgeExtension;\n }\n\n clearIndex(): void {\n this.index = null;\n }\n\n isSearchable(query: string): boolean {\n const notSearchable = query == null || (this.index == null && query.length < 2) ||\n (this.index != null && query.length < 2 && query.indexOf('>') !== 0);\n return !notSearchable;\n }\n\n async indexCiphers(): Promise {\n if (this.indexing) {\n return;\n }\n // tslint:disable-next-line\n console.time('search indexing');\n this.indexing = true;\n this.index = null;\n const builder = new lunr.Builder();\n builder.ref('id');\n (builder as any).field('shortid', { boost: 100, extractor: (c: CipherView) => c.id.substr(0, 8) });\n (builder as any).field('name', { boost: 10 });\n (builder as any).field('subtitle', {\n boost: 5,\n extractor: (c: CipherView) => {\n if (c.subTitle != null && c.type === CipherType.Card) {\n return c.subTitle.replace(/\\*/g, '');\n }\n return c.subTitle;\n },\n });\n builder.field('notes');\n (builder as any).field('login.username', {\n extractor: (c: CipherView) => c.type === CipherType.Login && c.login != null ? c.login.username : null,\n });\n (builder as any).field('login.uris', { boost: 2, extractor: (c: CipherView) => this.uriExtractor(c) });\n (builder as any).field('fields', { extractor: (c: CipherView) => this.fieldExtractor(c, false) });\n (builder as any).field('fields_joined', { extractor: (c: CipherView) => this.fieldExtractor(c, true) });\n (builder as any).field('attachments', { extractor: (c: CipherView) => this.attachmentExtractor(c, false) });\n (builder as any).field('attachments_joined',\n { extractor: (c: CipherView) => this.attachmentExtractor(c, true) });\n (builder as any).field('organizationid', { extractor: (c: CipherView) => c.organizationId });\n const ciphers = await this.cipherService.getAllDecrypted();\n ciphers.forEach((c) => builder.add(c));\n this.index = builder.build();\n this.indexing = false;\n // tslint:disable-next-line\n console.timeEnd('search indexing');\n }\n\n async searchCiphers(query: string, filter: (cipher: CipherView) => boolean = null, ciphers: CipherView[] = null):\n Promise {\n const results: CipherView[] = [];\n if (query != null) {\n query = query.trim().toLowerCase();\n }\n if (query === '') {\n query = null;\n }\n\n if (ciphers == null) {\n ciphers = await this.cipherService.getAllDecrypted();\n }\n if (filter != null) {\n ciphers = ciphers.filter(filter);\n }\n\n if (!this.isSearchable(query)) {\n return ciphers;\n }\n\n const index = this.getIndexForSearch();\n if (index == null) {\n // Fall back to basic search if index is not available\n return this.searchCiphersBasic(ciphers, query);\n }\n\n const ciphersMap = new Map();\n ciphers.forEach((c) => ciphersMap.set(c.id, c));\n\n let searchResults: lunr.Index.Result[] = null;\n const isQueryString = query != null && query.length > 1 && query.indexOf('>') === 0;\n if (isQueryString) {\n try {\n searchResults = index.search(query.substr(1).trim());\n } catch { }\n } else {\n // tslint:disable-next-line\n const soWild = lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING;\n searchResults = index.query((q) => {\n lunr.tokenizer(query).forEach((token) => {\n const t = token.toString();\n q.term(t, { fields: ['name'], wildcard: soWild });\n q.term(t, { fields: ['subtitle'], wildcard: soWild });\n q.term(t, { fields: ['login.uris'], wildcard: soWild });\n q.term(t, {});\n });\n });\n }\n\n if (searchResults != null) {\n searchResults.forEach((r) => {\n if (ciphersMap.has(r.ref)) {\n results.push(ciphersMap.get(r.ref));\n }\n });\n }\n return results;\n }\n\n searchCiphersBasic(ciphers: CipherView[], query: string) {\n query = query.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (c.name != null && c.name.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (this.onlySearchName) {\n return false;\n }\n if (query.length >= 8 && c.id.startsWith(query)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n return false;\n });\n }\n\n getIndexForSearch(): lunr.Index {\n return this.index;\n }\n\n private fieldExtractor(c: CipherView, joined: boolean) {\n if (!c.hasFields) {\n return null;\n }\n let fields: string[] = [];\n c.fields.forEach((f) => {\n if (f.name != null) {\n fields.push(f.name);\n }\n if (f.type === FieldType.Text && f.value != null) {\n fields.push(f.value);\n }\n });\n fields = fields.filter((f) => f.trim() !== '');\n if (fields.length === 0) {\n return null;\n }\n return joined ? fields.join(' ') : fields;\n }\n\n private attachmentExtractor(c: CipherView, joined: boolean) {\n if (!c.hasAttachments) {\n return null;\n }\n let attachments: string[] = [];\n c.attachments.forEach((a) => {\n if (a != null && a.fileName != null) {\n if (joined && a.fileName.indexOf('.') > -1) {\n attachments.push(a.fileName.substr(0, a.fileName.lastIndexOf('.')));\n } else {\n attachments.push(a.fileName);\n }\n }\n });\n attachments = attachments.filter((f) => f.trim() !== '');\n if (attachments.length === 0) {\n return null;\n }\n return joined ? attachments.join(' ') : attachments;\n }\n\n private uriExtractor(c: CipherView) {\n if (c.type !== CipherType.Login || c.login == null || !c.login.hasUris) {\n return null;\n }\n const uris: string[] = [];\n c.login.uris.forEach((u) => {\n if (u.uri == null || u.uri === '') {\n return;\n }\n if (u.hostname != null) {\n uris.push(u.hostname);\n return;\n }\n let uri = u.uri;\n if (u.match !== UriMatchType.RegularExpression) {\n const protocolIndex = uri.indexOf('://');\n if (protocolIndex > -1) {\n uri = uri.substr(protocolIndex + 3);\n }\n const queryIndex = uri.search(/\\?|&|#/);\n if (queryIndex > -1) {\n uri = uri.substring(0, queryIndex);\n }\n }\n uris.push(uri);\n });\n return uris.length > 0 ? uris : null;\n }\n}\n","import * as forge from 'node-forge';\r\n\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { DecryptParameters } from '../models/domain/decryptParameters';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nexport class WebCryptoFunctionService implements CryptoFunctionService {\r\n private crypto: Crypto;\r\n private subtle: SubtleCrypto;\r\n private isEdge: boolean;\r\n private isIE: boolean;\r\n private isOldSafari: boolean;\r\n\r\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\r\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\r\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\r\n this.isEdge = platformUtilsService.isEdge();\r\n this.isIE = platformUtilsService.isIE();\r\n const ua = win.navigator.userAgent;\r\n this.isOldSafari = platformUtilsService.isSafari() &&\r\n (ua.indexOf(' Version/10.') > -1 || ua.indexOf(' Version/9.') > -1);\r\n }\r\n\r\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\r\n iterations: number): Promise {\r\n if (this.isEdge || this.isIE || this.isOldSafari) {\r\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\r\n const passwordBytes = this.toByteString(password);\r\n const saltBytes = this.toByteString(salt);\r\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\r\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\r\n }\r\n\r\n const wcLen = algorithm === 'sha256' ? 256 : 512;\r\n const passwordBuf = this.toBuf(password);\r\n const saltBuf = this.toBuf(salt);\r\n\r\n const pbkdf2Params: Pbkdf2Params = {\r\n name: 'PBKDF2',\r\n salt: saltBuf,\r\n iterations: iterations,\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n\r\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\r\n false, ['deriveBits']);\r\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\r\n }\r\n\r\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): Promise {\r\n if (((this.isEdge || this.isIE) && algorithm === 'sha1') || algorithm === 'md5') {\r\n const md = algorithm === 'md5' ? forge.md.md5.create() : forge.md.sha1.create();\r\n const valueBytes = this.toByteString(value);\r\n md.update(valueBytes, 'raw');\r\n return Utils.fromByteStringToArray(md.digest().data).buffer;\r\n }\r\n\r\n const valueBuf = this.toBuf(value);\r\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\r\n }\r\n\r\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\r\n if (this.isIE && algorithm === 'sha512') {\r\n const hmac = (forge as any).hmac.create();\r\n const keyBytes = this.toByteString(key);\r\n const valueBytes = this.toByteString(value);\r\n hmac.start(algorithm, keyBytes);\r\n hmac.update(valueBytes, 'raw');\r\n return Utils.fromByteStringToArray(hmac.digest().data).buffer;\r\n }\r\n\r\n const signingAlgorithm = {\r\n name: 'HMAC',\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n\r\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\r\n return await this.subtle.sign(signingAlgorithm, impKey, value);\r\n }\r\n\r\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\r\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\r\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\r\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\r\n const macKey = await this.randomBytes(32);\r\n const signingAlgorithm = {\r\n name: 'HMAC',\r\n hash: { name: 'SHA-256' },\r\n };\r\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\r\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\r\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\r\n\r\n if (mac1.byteLength !== mac2.byteLength) {\r\n return false;\r\n }\r\n\r\n const arr1 = new Uint8Array(mac1);\r\n const arr2 = new Uint8Array(mac2);\r\n for (let i = 0; i < arr2.length; i++) {\r\n if (arr1[i] !== arr2[i]) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\r\n const hmac = (forge as any).hmac.create();\r\n hmac.start(algorithm, key);\r\n hmac.update(value);\r\n const bytes = hmac.digest().getBytes();\r\n return Promise.resolve(bytes);\r\n }\r\n\r\n async compareFast(a: string, b: string): Promise {\r\n const rand = await this.randomBytes(32);\r\n const bytes = new Uint32Array(rand);\r\n const buffer = forge.util.createBuffer();\r\n for (let i = 0; i < bytes.length; i++) {\r\n buffer.putInt32(bytes[i]);\r\n }\r\n const macKey = buffer.getBytes();\r\n\r\n const hmac = (forge as any).hmac.create();\r\n hmac.start('sha256', macKey);\r\n hmac.update(a);\r\n const mac1 = hmac.digest().getBytes();\r\n\r\n hmac.start(null, null);\r\n hmac.update(b);\r\n const mac2 = hmac.digest().getBytes();\r\n\r\n const equals = mac1 === mac2;\r\n return equals;\r\n }\r\n\r\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\r\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\r\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\r\n }\r\n\r\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\r\n DecryptParameters {\r\n const p = new DecryptParameters();\r\n if (key.meta != null) {\r\n p.encKey = key.meta.encKeyByteString;\r\n p.macKey = key.meta.macKeyByteString;\r\n }\r\n\r\n if (p.encKey == null) {\r\n p.encKey = forge.util.decode64(key.encKeyB64);\r\n }\r\n p.data = forge.util.decode64(data);\r\n p.iv = forge.util.decode64(iv);\r\n p.macData = p.iv + p.data;\r\n if (p.macKey == null && key.macKeyB64 != null) {\r\n p.macKey = forge.util.decode64(key.macKeyB64);\r\n }\r\n if (mac != null) {\r\n p.mac = forge.util.decode64(mac);\r\n }\r\n\r\n // cache byte string keys for later\r\n if (key.meta == null) {\r\n key.meta = {};\r\n }\r\n if (key.meta.encKeyByteString == null) {\r\n key.meta.encKeyByteString = p.encKey;\r\n }\r\n if (p.macKey != null && key.meta.macKeyByteString == null) {\r\n key.meta.macKeyByteString = p.macKey;\r\n }\r\n\r\n return p;\r\n }\r\n\r\n aesDecryptFast(parameters: DecryptParameters): Promise {\r\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\r\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\r\n decipher.start({ iv: parameters.iv });\r\n decipher.update(dataBuffer);\r\n decipher.finish();\r\n const val = decipher.output.toString('utf8');\r\n return Promise.resolve(val);\r\n }\r\n\r\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\r\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\r\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\r\n }\r\n\r\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\r\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\r\n // We cannot use the proper types here.\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\r\n return await this.subtle.encrypt(rsaParams, impKey, data);\r\n }\r\n\r\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\r\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\r\n // We cannot use the proper types here.\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\r\n return await this.subtle.decrypt(rsaParams, impKey, data);\r\n }\r\n\r\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n // Have to specify some algorithm\r\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\r\n };\r\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\r\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\r\n const jwkPublicKeyParams = {\r\n kty: 'RSA',\r\n e: jwkPrivateKey.e,\r\n n: jwkPrivateKey.n,\r\n alg: 'RSA-OAEP',\r\n ext: true,\r\n };\r\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\r\n return await this.subtle.exportKey('spki', impPublicKey);\r\n }\r\n\r\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n modulusLength: length,\r\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\r\n // Have to specify some algorithm\r\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\r\n };\r\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\r\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\r\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\r\n return [publicKey, privateKey];\r\n }\r\n\r\n randomBytes(length: number): Promise {\r\n const arr = new Uint8Array(length);\r\n this.crypto.getRandomValues(arr);\r\n return Promise.resolve(arr.buffer);\r\n }\r\n\r\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\r\n let buf: ArrayBuffer;\r\n if (typeof (value) === 'string') {\r\n buf = Utils.fromUtf8ToArray(value).buffer;\r\n } else {\r\n buf = value;\r\n }\r\n return buf;\r\n }\r\n\r\n private toByteString(value: string | ArrayBuffer): string {\r\n let bytes: string;\r\n if (typeof (value) === 'string') {\r\n bytes = forge.util.encodeUtf8(value);\r\n } else {\r\n bytes = Utils.fromBufferToByteString(value);\r\n }\r\n return bytes;\r\n }\r\n\r\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): string {\r\n if (algorithm === 'md5') {\r\n throw new Error('MD5 is not supported in WebCrypto.');\r\n }\r\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\r\n }\r\n}\r\n","export class DecryptParameters {\n encKey: T;\n data: T;\n iv: T;\n macKey: T;\n mac: T;\n macData: T;\n}\n","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billing' } },\n {\n path: 'subscription',\n component: UserSubscriptionComponent,\n data: { titleId: 'premiumMembership' },\n },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n {\n path: 'reused-passwords-report',\n component: ReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: UnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: WeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n {\n path: 'exposed-passwords-report',\n component: ExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: InactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'import' },\n { path: 'import', component: OrgImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: OrgExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'exposed-passwords-report',\n component: OrgExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: OrgInactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\n {\n path: 'reused-passwords-report',\n component: OrgReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: OrgUnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: OrgWeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n allowedTypes: [\n OrganizationUserType.Owner,\n OrganizationUserType.Admin,\n OrganizationUserType.Manager,\n ],\n },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'people' },\n { path: 'collections', component: OrgManageCollectionsComponent, data: { titleId: 'collections' } },\n { path: 'events', component: OrgEventsComponent, data: { titleId: 'eventLogs' } },\n { path: 'groups', component: OrgGroupsComponent, data: { titleId: 'groups' } },\n { path: 'people', component: OrgPeopleComponent, data: { titleId: 'people' } },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billing' },\n },\n {\n path: 'subscription',\n component: OrganizationSubscriptionComponent,\n data: { titleId: 'subscription' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/polyfills.33e2182b1c2757a22f9b.js b/app/polyfills.ada879e2fa1c013188d7.js similarity index 92% rename from app/polyfills.33e2182b1c2757a22f9b.js rename to app/polyfills.ada879e2fa1c013188d7.js index 3848d6e1..69c749f2 100644 --- a/app/polyfills.33e2182b1c2757a22f9b.js +++ b/app/polyfills.ada879e2fa1c013188d7.js @@ -1,4 +1,4 @@ -!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=678)}([,,function(t,e,n){var r=n(16),o=n(50),i=n(51),a=n(47),u=n(56),c=function(t,e,n){var s,f,l,h,p=t&c.F,v=t&c.G,d=t&c.S,y=t&c.P,g=t&c.B,b=v?r:d?r[e]||(r[e]={}):(r[e]||{}).prototype,m=v?o:o[e]||(o[e]={}),_=m.prototype||(m.prototype={});for(s in v&&(n=e),n)l=((f=!p&&b&&void 0!==b[s])?b:n)[s],h=g&&f?u(l,r):y&&"function"==typeof l?u(Function.call,l):l,b&&a(b,s,l,t&c.U),m[s]!=l&&i(m,s,h),y&&_[s]!=l&&(_[s]=l)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},,,,,,,,,function(t,e,n){var r=n(19);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},,,,,function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},,function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,,,,function(t,e,n){var r=n(125)("wks"),o=n(78),i=n(16).Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},function(t,e,n){var r=n(57),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(11),o=n(204),i=n(66),a=Object.defineProperty;e.f=n(27)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){t.exports=!n(18)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,,,,,,,function(t,e,n){var r=n(67);t.exports=function(t){return Object(r(t))}},,,,,function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},,function(t,e,n){var r=n(2),o=n(18),i=n(67),a=/"/g,u=function(t,e,n,r){var o=String(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+o+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},,function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(16),o=n(51),i=n(46),a=n(78)("src"),u=Function.toString,c=(""+u).split("toString");n(50).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||u.call(this)})},function(t,e,n){var r=n(105),o=n(67);t.exports=function(t){return r(o(t))}},,function(t,e){var n=t.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(26),o=n(75);t.exports=n(27)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},,function(t,e,n){var r=n(46),o=n(37),i=n(154)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){var r=n(114),o=n(75),i=n(48),a=n(66),u=n(46),c=n(204),s=Object.getOwnPropertyDescriptor;e.f=n(27)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(t){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){"use strict";var r=n(18);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var r=n(42);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},,,function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(2),o=n(50),i=n(18);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(56),o=n(105),i=n(37),a=n(25),u=n(218);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,h=5==t||l,p=e||u;return function(e,u,v){for(var d,y,g=i(e),b=o(g),m=r(u,v,3),_=a(b.length),w=0,k=n?p(e,_):c?p(e,0):void 0;_>w;w++)if((h||w in b)&&(y=m(d=b[w],w,g),t))if(n)k[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:k.push(d)}else if(f)return!1;return l?-1:s||f?f:k}}},,,,function(t,e,n){var r=n(19);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";if(n(27)){var r=n(76),o=n(16),i=n(18),a=n(2),u=n(132),c=n(169),s=n(56),f=n(86),l=n(75),h=n(51),p=n(88),v=n(57),d=n(25),y=n(229),g=n(80),b=n(66),m=n(46),_=n(83),w=n(19),k=n(37),S=n(165),x=n(71),E=n(53),T=n(81).f,A=n(127),O=n(78),P=n(24),j=n(62),M=n(140),I=n(116),F=n(188),C=n(94),R=n(128),D=n(85),N=n(166),L=n(220),z=n(26),Z=n(54),B=z.f,U=Z.f,H=o.RangeError,K=o.TypeError,W=o.Uint8Array,q=Array.prototype,G=c.ArrayBuffer,V=c.DataView,X=j(0),J=j(2),Y=j(3),$=j(4),Q=j(5),tt=j(6),et=M(!0),nt=M(!1),rt=F.values,ot=F.keys,it=F.entries,at=q.lastIndexOf,ut=q.reduce,ct=q.reduceRight,st=q.join,ft=q.sort,lt=q.slice,ht=q.toString,pt=q.toLocaleString,vt=P("iterator"),dt=P("toStringTag"),yt=O("typed_constructor"),gt=O("def_constructor"),bt=u.CONSTR,mt=u.TYPED,_t=u.VIEW,wt=j(1,function(t,e){return Tt(I(t,t[gt]),e)}),kt=i(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),St=!!W&&!!W.prototype.set&&i(function(){new W(1).set({})}),xt=function(t,e){var n=v(t);if(n<0||n%e)throw H("Wrong offset!");return n},Et=function(t){if(w(t)&&mt in t)return t;throw K(t+" is not a typed array!")},Tt=function(t,e){if(!(w(t)&&yt in t))throw K("It is not a typed array constructor!");return new t(e)},At=function(t,e){return Ot(I(t,t[gt]),e)},Ot=function(t,e){for(var n=0,r=e.length,o=Tt(t,r);r>n;)o[n]=e[n++];return o},Pt=function(t,e,n){B(t,e,{get:function(){return this._d[n]}})},jt=function(t){var e,n,r,o,i,a,u=k(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=A(u);if(null!=h&&!S(h)){for(a=h.call(u),r=[],e=0;!(i=a.next()).done;e++)r.push(i.value);u=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=d(u.length),o=Tt(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},Mt=function(){for(var t=0,e=arguments.length,n=Tt(this,e);e>t;)n[t]=arguments[t++];return n},It=!!W&&i(function(){pt.call(new W(1))}),Ft=function(){return pt.apply(It?lt.call(Et(this)):Et(this),arguments)},Ct={copyWithin:function(t,e){return L.call(Et(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(Et(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return N.apply(Et(this),arguments)},filter:function(t){return At(this,J(Et(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Et(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Et(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){X(Et(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(Et(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(Et(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(Et(this),arguments)},lastIndexOf:function(t){return at.apply(Et(this),arguments)},map:function(t){return wt(Et(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(Et(this),arguments)},reduceRight:function(t){return ct.apply(Et(this),arguments)},reverse:function(){for(var t,e=Et(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return ft.call(Et(this),t)},subarray:function(t,e){var n=Et(this),r=n.length,o=g(t,r);return new(I(n,n[gt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,d((void 0===e?r:g(e,r))-o))}},Rt=function(t,e){return At(this,lt.call(Et(this),t,e))},Dt=function(t){Et(this);var e=xt(arguments[1],1),n=this.length,r=k(t),o=d(r.length),i=0;if(o+e>n)throw H("Wrong length!");for(;i255?255:255&r),o.v[p](n*e+o.o,r,kt)}(this,n,t)},enumerable:!0})};m?(v=n(function(t,n,r,o){f(t,v,s,"_d");var i,a,u,c,l=0,p=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return mt in n?Ot(v,n):jt.call(v,n);i=n,p=xt(r,e);var g=n.byteLength;if(void 0===o){if(g%e)throw H("Wrong length!");if((a=g-p)<0)throw H("Wrong length!")}else if((a=d(o)*e)+p>g)throw H("Wrong length!");u=a/e}else u=y(n),i=new G(a=u*e);for(h(t,"_d",{b:i,o:p,l:a,e:u,v:new V(i)});ldocument.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},,,,function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=!1},,function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(207),o=n(155);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(57),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=r(t))<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(207),o=n(155).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},,function(t,e,n){var r=n(60),o=n(24)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){var r=n(24)("unscopables"),o=Array.prototype;null==o[r]&&n(51)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){"use strict";var r=n(16),o=n(26),i=n(27),a=n(24)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(56),o=n(217),i=n(165),a=n(11),u=n(25),c=n(127),s={},f={};(e=t.exports=function(t,e,n,l,h){var p,v,d,y,g=h?function(){return t}:c(t),b=r(n,l,e?2:1),m=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(p=u(t.length);p>m;m++)if((y=e?b(a(v=t[m])[0],v[1]):b(t[m]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=o(d,b,v.value,e))===s||y===f)return y}).BREAK=s,e.RETURN=f},function(t,e,n){var r=n(47);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},,,,,function(t,e,n){var r=n(26).f,o=n(46),i=n(24)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e){t.exports={}},function(t,e,n){var r=n(19);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},,,,,,,,,function(t,e,n){var r=n(60);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(2),o=n(67),i=n(18),a=n(158),u="["+a+"]",c=RegExp("^"+u+u+"*"),s=RegExp(u+u+"*$"),f=function(t,e,n){var o={},u=i(function(){return!!a[t]()||"​…"!="​…"[t]()}),c=o[t]=u?e(l):a[t];n&&(o[n]=c),r(r.P+r.F*u,"String",o)},l=f.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(s,"")),t};t.exports=f},,,,,,,,function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){"use strict";var r=n(11);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(11),o=n(42),i=n(24)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||null==(n=r(a)[i])?e:o(n)}},,,,,,,,,function(t,e,n){var r=n(50),o=n(16),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(76)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(83),o=n(24)("iterator"),i=n(94);t.exports=n(50).getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r=n(24)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},function(t,e,n){"use strict";var r=n(83),o=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},function(t,e,n){"use strict";n(221);var r=n(47),o=n(51),i=n(18),a=n(67),u=n(24),c=n(167),s=u("species"),f=!i(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var h=u(t),p=!i(function(){var e={};return e[h]=function(){return 7},7!=""[t](e)}),v=p?!i(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[h](""),!e}):void 0;if(!p||!v||"replace"===t&&!f||"split"===t&&!l){var d=/./[h],y=n(a,h,""[t],function(t,e,n,r,o){return e.exec===c?p&&!o?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=y[0],b=y[1];r(String.prototype,t,g),o(RegExp.prototype,h,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},function(t,e,n){"use strict";var r=n(16),o=n(2),i=n(47),a=n(88),u=n(70),c=n(87),s=n(86),f=n(19),l=n(18),h=n(128),p=n(93),v=n(159);t.exports=function(t,e,n,d,y,g){var b=r[t],m=b,_=y?"set":"add",w=m&&m.prototype,k={},S=function(t){var e=w[t];i(w,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof m&&(g||w.forEach&&!l(function(){(new m).entries().next()}))){var x=new m,E=x[_](g?{}:-0,1)!=x,T=l(function(){x.has(1)}),A=h(function(t){new m(t)}),O=!g&&l(function(){for(var t=new m,e=5;e--;)t[_](e,e);return!t.has(-0)});A||((m=e(function(e,n){s(e,m,t);var r=v(new b,e,m);return null!=n&&c(n,y,r[_],r),r})).prototype=w,w.constructor=m),(T||O)&&(S("delete"),S("has"),y&&S("get")),(O||E)&&S(_),g&&w.clear&&delete w.clear}else m=d.getConstructor(e,t,y,_),a(m.prototype,n),u.NEED=!0;return p(m,t),k[t]=m,o(o.G+o.W+o.F*(m!=b),k),g||d.setStrong(m,t,y),m}},function(t,e,n){for(var r,o=n(16),i=n(51),a=n(78),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[h[l++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:u,VIEW:c}},,,,,,,,function(t,e,n){var r=n(48),o=n(25),i=n(80);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=o(c.length),f=i(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){var r=n(60);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(57),o=n(67);t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}}},function(t,e,n){"use strict";var r=n(76),o=n(2),i=n(47),a=n(51),u=n(94),c=n(162),s=n(93),f=n(53),l=n(24)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,n,v,d,y,g){c(n,e,v);var b,m,_,w=function(t){if(!h&&t in E)return E[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},k=e+" Iterator",S="values"==d,x=!1,E=t.prototype,T=E[l]||E["@@iterator"]||d&&E[d],A=T||w(d),O=d?S?w("entries"):A:void 0,P="Array"==e&&E.entries||T;if(P&&(_=f(P.call(new t)))!==Object.prototype&&_.next&&(s(_,k,!0),r||"function"==typeof _[l]||a(_,l,p)),S&&T&&"values"!==T.name&&(x=!0,A=function(){return T.call(this)}),r&&!g||!h&&!x&&E[l]||a(E,l,A),u[e]=A,u[k]=p,d)if(b={values:S?A:w("values"),keys:y?A:w("keys"),entries:O},g)for(m in b)m in E||i(E,m,b[m]);else o(o.P+o.F*(h||x),e,b);return b}},function(t,e,n){var r=n(19),o=n(60),i=n(24)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},,,,,,,,,function(t,e,n){var r=n(19),o=n(16).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(125)("keys"),o=n(78);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(16).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(19),o=n(11),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(56)(Function.call,n(54).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(19),o=n(157).set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e,n){"use strict";var r=n(71),o=n(75),i=n(93),a={};n(51)(a,n(24)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(144),o=n(67);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},function(t,e,n){var r=n(24)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var r=n(94),o=n(24)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){"use strict";var r=n(37),o=n(80),i=n(25);t.exports=function(t){for(var e=r(this),n=i(e.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),c=a>2?arguments[2]:void 0,s=void 0===c?n:o(c,n);s>u;)e[u++]=t;return e}},function(t,e,n){"use strict";var r,o,i=n(115),a=RegExp.prototype.exec,u=String.prototype.replace,c=a,s=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=void 0!==/()??/.exec("")[1];(s||f)&&(c=function(t){var e,n,r,o,c=this;return f&&(n=new RegExp("^"+c.source+"$(?!\\s)",i.call(c))),s&&(e=c.lastIndex),r=a.call(c,t),s&&r&&(c.lastIndex=c.global?r.index+r[0].length:e),f&&r&&r.length>1&&u.call(r[0],n,function(){for(o=1;o>1,f=23===e?A(2,-24)-A(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=T(t))!=t||t===x?(o=t!=t?1:0,r=c):(r=O(P(t)/j),t*(i=A(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*A(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*A(2,e),r+=s):(o=t*A(2,s-1)*A(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*h,a}function R(t,e,n){var r,o=8*n-e-1,i=(1<>1,u=o-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;u>0;f=256*f+t[c],c--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:s?-x:x;r+=A(2,e),f-=a}return(s?-1:1)*r*A(2,f-e)}function D(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function N(t){return[255&t]}function L(t){return[255&t,t>>8&255]}function z(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function Z(t){return C(t,52,8)}function B(t){return C(t,23,4)}function U(t,e,n){d(t[b],e,{get:function(){return this[n]}})}function H(t,e,n,r){var o=p(+n);if(o+e>t[I])throw S(m);var i=t[M]._b,a=o+t[F],u=i.slice(a,a+e);return r?u:u.reverse()}function K(t,e,n,r,o,i){var a=p(+n);if(a+e>t[I])throw S(m);for(var u=t[M]._b,c=a+t[F],s=r(+o),f=0;fV;)(W=G[V++])in _||u(_,W,E[W]);i||(q.constructor=_)}var X=new w(new _(2)),J=w[b].setInt8;X.setInt8(0,2147483648),X.setInt8(1,2147483649),!X.getInt8(0)&&X.getInt8(1)||c(w[b],{setInt8:function(t,e){J.call(this,t,e<<24>>24)},setUint8:function(t,e){J.call(this,t,e<<24>>24)}},!0)}else _=function(t){f(this,_,"ArrayBuffer");var e=p(t);this._b=y.call(new Array(e),0),this[I]=e},w=function(t,e,n){f(this,w,"DataView"),f(t,_,"DataView");var r=t[I],o=l(e);if(o<0||o>r)throw S("Wrong offset!");if(o+(n=void 0===n?r-o:h(n))>r)throw S("Wrong length!");this[M]=t,this[F]=o,this[I]=n},o&&(U(_,"byteLength","_l"),U(w,"buffer","_b"),U(w,"byteLength","_l"),U(w,"byteOffset","_o")),c(w[b],{getInt8:function(t){return H(this,1,t)[0]<<24>>24},getUint8:function(t){return H(this,1,t)[0]},getInt16:function(t){var e=H(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=H(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return D(H(this,4,t,arguments[1]))},getUint32:function(t){return D(H(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return R(H(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return R(H(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){K(this,1,t,N,e)},setUint8:function(t,e){K(this,1,t,N,e)},setInt16:function(t,e){K(this,2,t,L,e,arguments[2])},setUint16:function(t,e){K(this,2,t,L,e,arguments[2])},setInt32:function(t,e){K(this,4,t,z,e,arguments[2])},setUint32:function(t,e){K(this,4,t,z,e,arguments[2])},setFloat32:function(t,e){K(this,4,t,B,e,arguments[2])},setFloat64:function(t,e){K(this,8,t,Z,e,arguments[2])}});g(_,"ArrayBuffer"),g(w,"DataView"),u(w[b],a.VIEW,!0),e.ArrayBuffer=_,e.DataView=w},,,,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(79),o=n(126),i=n(114),a=n(37),u=n(105),c=Object.assign;t.exports=!c||n(18)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=o.f,l=i.f;c>s;)for(var h,p=u(arguments[s++]),v=f?r(p).concat(f(p)):r(p),d=v.length,y=0;d>y;)l.call(p,h=v[y++])&&(n[h]=p[h]);return n}:c},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){"use strict";var r=n(57),o=n(67);t.exports=function(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},function(t,e,n){"use strict";var r=n(26),o=n(75);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){"use strict";var r=n(84),o=n(189),i=n(94),a=n(48);t.exports=n(143)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r,o,i,a=n(56),u=n(185),c=n(156),s=n(153),f=n(16),l=f.process,h=f.setImmediate,p=f.clearImmediate,v=f.MessageChannel,d=f.Dispatch,y=0,g={},b=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},m=function(t){b.call(t.data)};h&&p||(h=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){u("function"==typeof t?t:Function(t),e)},r(y),y},p=function(t){delete g[t]},"process"==n(60)(l)?r=function(t){l.nextTick(a(b,t,1))}:d&&d.now?r=function(t){d.now(a(b,t,1))}:v?(i=(o=new v).port2,o.port1.onmessage=m,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",m,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),b.call(t)}}:function(t){setTimeout(a(b,t,1),0)}),t.exports={set:h,clear:p}},function(t,e,n){"use strict";var r=n(42);function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},function(t,e,n){var r=n(16).navigator;t.exports=r&&r.userAgent||""},,,,,,,,,,,,function(t,e,n){t.exports=!n(27)&&!n(18)(function(){return 7!=Object.defineProperty(n(153)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){e.f=n(24)},function(t,e,n){var r=n(16),o=n(50),i=n(76),a=n(205),u=n(26).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},function(t,e,n){var r=n(46),o=n(48),i=n(140)(!1),a=n(154)("IE_PROTO");t.exports=function(t,e){var n,u=o(t),c=0,s=[];for(n in u)n!=a&&r(u,n)&&s.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(s,n)||s.push(n));return s}},function(t,e,n){var r=n(26),o=n(11),i=n(79);t.exports=n(27)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(48),o=n(81).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(r(t))}},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){"use strict";var r=n(42),o=n(19),i=n(185),a=[].slice,u={};t.exports=Function.bind||function(t){var e=r(this),n=a.call(arguments,1),c=function(){var r=n.concat(a.call(arguments));return this instanceof c?function(t,e,n){if(!(e in u)){for(var r=[],o=0;o>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(16).parseFloat,o=n(106).trim;t.exports=1/r(n(158)+"-0")!=-1/0?function(t){var e=o(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(60);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(19),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var r=n(11);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},function(t,e,n){var r=n(389);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(42),o=n(37),i=n(105),a=n(25);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),h=c?l-1:0,p=c?-1:1;if(n<2)for(;;){if(h in f){u=f[h],h+=p;break}if(h+=p,c?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;c?h>=0:l>h;h+=p)h in f&&(u=e(u,f[h],h,s));return u}},function(t,e,n){"use strict";var r=n(37),o=n(80),i=n(25);t.exports=[].copyWithin||function(t,e){var n=r(this),a=i(n.length),u=o(t,a),c=o(e,a),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?a:o(s,a))-c,a-u),l=1;for(c0;)c in n?n[u]=n[c]:delete n[u],u+=l,c+=l;return n}},function(t,e,n){"use strict";var r=n(167);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){n(27)&&"g"!=/./g.flags&&n(26).f(RegExp.prototype,"flags",{configurable:!0,get:n(115)})},function(t,e,n){var r=n(16),o=n(190).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(60)(a);t.exports=function(){var t,e,n,s=function(){var r,o;for(c&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(s)}}else n=function(){o.call(r,s)};else{var l=!0,h=document.createTextNode("");new i(s).observe(h,{characterData:!0}),n=function(){h.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){"use strict";var r=n(225),o=n(95);t.exports=n(131)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(26).f,o=n(71),i=n(88),a=n(56),u=n(86),c=n(87),s=n(143),f=n(189),l=n(85),h=n(27),p=n(70).fastKey,v=n(95),d=h?"_s":"size",y=function(t,e){var n,r=p(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,s){var f=t(function(t,r){u(t,f,e,"_i"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[d]=0,null!=r&&c(r,n,t[s],t)});return i(f.prototype,{clear:function(){for(var t=v(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var n=v(this,e),r=y(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(t){v(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(v(this,e),t)}}),h&&r(f.prototype,"size",{get:function(){return v(this,e)[d]}}),f},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=p(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[d]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,e,n){s(t,e,function(t,n){this._t=v(t,e),this._k=n,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?f(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){"use strict";var r=n(225),o=n(95);t.exports=n(131)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,o=n(62)(0),i=n(47),a=n(70),u=n(184),c=n(228),s=n(19),f=n(18),l=n(95),h=a.getWeak,p=Object.isExtensible,v=c.ufstore,d={},y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(t){if(s(t)){var e=h(t);return!0===e?v(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(l(this,"WeakMap"),t,e)}},b=t.exports=n(131)("WeakMap",y,g,c,!0,!0);f(function(){return 7!=(new b).set((Object.freeze||Object)(d),7).get(d)})&&(u((r=c.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=b.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!p(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)})}))},function(t,e,n){"use strict";var r=n(88),o=n(70).getWeak,i=n(11),a=n(19),u=n(86),c=n(87),s=n(62),f=n(46),l=n(95),h=s(5),p=s(6),v=0,d=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,e){return h(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=g(this,t);if(e)return e[1]},has:function(t){return!!g(this,t)},set:function(t,e){var n=g(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var s=t(function(t,r){u(t,s,e,"_i"),t._t=e,t._i=v++,t._l=void 0,null!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).has(t):n&&f(n,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?d(t).set(e,n):r[t._i]=n,t},ufstore:d}},function(t,e,n){var r=n(57),o=n(25);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){var r=n(81),o=n(126),i=n(11),a=n(16).Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},,,,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(160),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126);t.exports=Math.fround||function(t){var e,n,o=Math.abs(t),s=r(t);return ou||n!=n?s*(1/0):s*n}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var r=n(11),o=n(19),i=n(191);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(87);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(16),o=n(46),i=n(27),a=n(2),u=n(47),c=n(70).KEY,s=n(18),f=n(125),l=n(93),h=n(78),p=n(24),v=n(205),d=n(206),y=n(301),g=n(141),b=n(11),m=n(19),_=n(48),w=n(66),k=n(75),S=n(71),x=n(209),E=n(54),T=n(26),A=n(79),O=E.f,P=T.f,j=x.f,M=r.Symbol,I=r.JSON,F=I&&I.stringify,C=p("_hidden"),R=p("toPrimitive"),D={}.propertyIsEnumerable,N=f("symbol-registry"),L=f("symbols"),z=f("op-symbols"),Z=Object.prototype,B="function"==typeof M,U=r.QObject,H=!U||!U.prototype||!U.prototype.findChild,K=i&&s(function(){return 7!=S(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=O(Z,e);r&&delete Z[e],P(t,e,n),r&&t!==Z&&P(Z,e,r)}:P,W=function(t){var e=L[t]=S(M.prototype);return e._k=t,e},q=B&&"symbol"==typeof M.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof M},G=function(t,e,n){return t===Z&&G(z,e,n),b(t),e=w(e,!0),b(n),o(L,e)?(n.enumerable?(o(t,C)&&t[C][e]&&(t[C][e]=!1),n=S(n,{enumerable:k(0,!1)})):(o(t,C)||P(t,C,k(1,{})),t[C][e]=!0),K(t,e,n)):P(t,e,n)},V=function(t,e){b(t);for(var n,r=y(e=_(e)),o=0,i=r.length;i>o;)G(t,n=r[o++],e[n]);return t},X=function(t){var e=D.call(this,t=w(t,!0));return!(this===Z&&o(L,t)&&!o(z,t))&&(!(e||!o(this,t)||!o(L,t)||o(this,C)&&this[C][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==Z||!o(L,e)||o(z,e)){var n=O(t,e);return!n||!o(L,e)||o(t,C)&&t[C][e]||(n.enumerable=!0),n}},Y=function(t){for(var e,n=j(_(t)),r=[],i=0;n.length>i;)o(L,e=n[i++])||e==C||e==c||r.push(e);return r},$=function(t){for(var e,n=t===Z,r=j(n?z:_(t)),i=[],a=0;r.length>a;)!o(L,e=r[a++])||n&&!o(Z,e)||i.push(L[e]);return i};B||(u((M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),e=function(n){this===Z&&e.call(z,n),o(this,C)&&o(this[C],t)&&(this[C][t]=!1),K(this,t,k(1,n))};return i&&H&&K(Z,t,{configurable:!0,set:e}),W(t)}).prototype,"toString",function(){return this._k}),E.f=J,T.f=G,n(81).f=x.f=Y,n(114).f=X,n(126).f=$,i&&!n(76)&&u(Z,"propertyIsEnumerable",X,!0),v.f=function(t){return W(p(t))}),a(a.G+a.W+a.F*!B,{Symbol:M});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)p(Q[tt++]);for(var et=A(p.store),nt=0;et.length>nt;)d(et[nt++]);a(a.S+a.F*!B,"Symbol",{for:function(t){return o(N,t+="")?N[t]:N[t]=M(t)},keyFor:function(t){if(!q(t))throw TypeError(t+" is not a symbol!");for(var e in N)if(N[e]===t)return e},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!B,"Object",{create:function(t,e){return void 0===e?S(t):V(S(t),e)},defineProperty:G,defineProperties:V,getOwnPropertyDescriptor:J,getOwnPropertyNames:Y,getOwnPropertySymbols:$}),I&&a(a.S+a.F*(!B||s(function(){var t=M();return"[null]"!=F([t])||"{}"!=F({a:t})||"{}"!=F(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(m(e)||void 0!==t)&&!q(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!q(e))return e}),r[1]=e,F.apply(I,r)}}),M.prototype[R]||n(51)(M.prototype,R,M.prototype.valueOf),l(M,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(79),o=n(126),i=n(114);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),c=i.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){var r=n(2);r(r.S,"Object",{create:n(71)})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(27),"Object",{defineProperty:n(26).f})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(27),"Object",{defineProperties:n(208)})},function(t,e,n){var r=n(48),o=n(54).f;n(61)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(37),o=n(53);n(61)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(37),o=n(79);n(61)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){n(61)("getOwnPropertyNames",function(){return n(209).f})},function(t,e,n){var r=n(19),o=n(70).onFreeze;n(61)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19),o=n(70).onFreeze;n(61)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19),o=n(70).onFreeze;n(61)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19);n(61)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(19);n(61)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(19);n(61)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(184)})},function(t,e,n){var r=n(2);r(r.S,"Object",{is:n(210)})},function(t,e,n){var r=n(2);r(r.S,"Object",{setPrototypeOf:n(157).set})},function(t,e,n){"use strict";var r=n(83),o={};o[n(24)("toStringTag")]="z",o+""!="[object z]"&&n(47)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(2);r(r.P,"Function",{bind:n(211)})},function(t,e,n){var r=n(26).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(27)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){"use strict";var r=n(19),o=n(53),i=n(24)("hasInstance"),a=Function.prototype;i in a||n(26).f(a,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var r=n(2),o=n(212);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){var r=n(2),o=n(213);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){"use strict";var r=n(16),o=n(46),i=n(60),a=n(159),u=n(66),c=n(18),s=n(81).f,f=n(54).f,l=n(26).f,h=n(106).trim,p=r.Number,v=p,d=p.prototype,y="Number"==i(n(71)(d)),g="trim"in String.prototype,b=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){var n,r,o,i=(e=g?e.trim():h(e,3)).charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),s=0,f=c.length;so)return NaN;return parseInt(c,r)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(y?c(function(){d.valueOf.call(n)}):"Number"!=i(n))?a(new v(b(e)),n,p):b(e)};for(var m,_=n(27)?s(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)o(v,m=_[w])&&!o(p,m)&&l(p,m,f(v,m));p.prototype=d,d.constructor=p,n(47)(r,"Number",p)}},function(t,e,n){"use strict";var r=n(2),o=n(57),i=n(214),a=n(186),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*s[n],s[n]=r%1e7,r=c(r/1e7)},h=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},p=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==s[t]){var n=String(s[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},v=function(t,e,n){return 0===e?n:e%2==1?v(t,e-1,n*t):v(t*t,e/2,n)};r(r.P+r.F*(!!u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(18)(function(){u.call({})})),"Number",{toFixed:function(t){var e,n,r,u,c=i(this,f),s=o(t),d="",y="0";if(s<0||s>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(d="-",c=-c),c>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(c*v(2,69,1))-69)<0?c*v(2,-e,1):c/v(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(v(10,r,1),0),r=e-1;r>=23;)h(1<<23),r-=23;h(1<0?d+((u=y.length)<=s?"0."+a.call("0",s-u)+y:y.slice(0,u-s)+"."+y.slice(u-s)):d+y}})},function(t,e,n){"use strict";var r=n(2),o=n(18),i=n(214),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(t){var e=i(this,"Number#toPrecision: incorrect invocation!");return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(2),o=n(16).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{isInteger:n(215)})},function(t,e,n){var r=n(2);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(2),o=n(215),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(2);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(2);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(2),o=n(213);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(2),o=n(212);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(2),o=n(216),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},function(t,e,n){var r=n(2),o=Math.asinh;r(r.S+r.F*!(o&&1/o(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,n){var r=n(2),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(2),o=n(160);r(r.S,"Math",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(2),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(2),o=n(161);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(2);r(r.S,"Math",{fround:n(250)})},function(t,e,n){var r=n(2),o=Math.abs;r(r.S,"Math",{hypot:function(t,e){for(var n,r,i=0,a=0,u=arguments.length,c=0;a0?(r=n/c)*r:n;return c===1/0?1/0:c*Math.sqrt(i)}})},function(t,e,n){var r=n(2),o=Math.imul;r(r.S+r.F*n(18)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log1p:n(216)})},function(t,e,n){var r=n(2);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(2);r(r.S,"Math",{sign:n(160)})},function(t,e,n){var r=n(2),o=n(161),i=Math.exp;r(r.S+r.F*n(18)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(2),o=n(161),i=Math.exp;r(r.S,"Math",{tanh:function(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},function(t,e,n){var r=n(2);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(2),o=n(80),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,a=0;r>a;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var r=n(2),o=n(48),i=n(25);r(r.S,"String",{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),u=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(2),o=n(142)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(2),o=n(25),i=n(163),a="".endsWith;r(r.P+r.F*n(164)("endsWith"),"String",{endsWith:function(t){var e=i(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),u=void 0===n?r:Math.min(o(n),r),c=String(t);return a?a.call(e,c,u):e.slice(u-c.length,u)===c}})},function(t,e,n){"use strict";var r=n(2),o=n(163);r(r.P+r.F*n(164)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(2);r(r.P,"String",{repeat:n(186)})},function(t,e,n){"use strict";var r=n(2),o=n(25),i=n(163),a="".startsWith;r(r.P+r.F*n(164)("startsWith"),"String",{startsWith:function(t){var e=i(this,t,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){"use strict";n(44)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";n(44)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(44)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(44)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(44)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(44)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(44)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(44)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(44)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(44)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(44)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(44)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(44)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){var r=n(2);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";var r=n(2),o=n(37),i=n(66);r(r.P+r.F*n(18)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var e=o(this),n=i(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var r=n(2),o=n(378);r(r.P+r.F*(Date.prototype.toISOString!==o),"Date",{toISOString:o})},function(t,e,n){"use strict";var r=n(18),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}:i},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(47)(r,"toString",function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){var r=n(24)("toPrimitive"),o=Date.prototype;r in o||n(51)(o,r,n(381))},function(t,e,n){"use strict";var r=n(11),o=n(66);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!=t)}},function(t,e,n){var r=n(2);r(r.S,"Array",{isArray:n(141)})},function(t,e,n){"use strict";var r=n(56),o=n(2),i=n(37),a=n(217),u=n(165),c=n(25),s=n(187),f=n(127);o(o.S+o.F*!n(128)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,h=i(t),p="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,y=void 0!==d,g=0,b=f(h);if(y&&(d=r(d,v>2?arguments[2]:void 0,2)),null==b||p==Array&&u(b))for(n=new p(e=c(h.length));e>g;g++)s(n,g,y?d(h[g],g):h[g]);else for(l=b.call(h),n=new p;!(o=l.next()).done;g++)s(n,g,y?a(l,d,[o.value,g],!0):o.value);return n.length=g,n}})},function(t,e,n){"use strict";var r=n(2),o=n(187);r(r.S+r.F*n(18)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(2),o=n(48),i=[].join;r(r.P+r.F*(n(105)!=Object||!n(55)(i)),"Array",{join:function(t){return i.call(o(this),void 0===t?",":t)}})},function(t,e,n){"use strict";var r=n(2),o=n(156),i=n(60),a=n(80),u=n(25),c=[].slice;r(r.P+r.F*n(18)(function(){o&&c.call(o)}),"Array",{slice:function(t,e){var n=u(this.length),r=i(this);if(e=void 0===e?n:e,"Array"==r)return c.call(this,t,e);for(var o=a(t,n),s=a(e,n),f=u(s-o),l=new Array(f),h=0;h1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},function(t,e,n){var r=n(2);r(r.P,"Array",{copyWithin:n(220)}),n(84)("copyWithin")},function(t,e,n){var r=n(2);r(r.P,"Array",{fill:n(166)}),n(84)("fill")},function(t,e,n){"use strict";var r=n(2),o=n(62)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(84)("find")},function(t,e,n){"use strict";var r=n(2),o=n(62)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(84)(i)},function(t,e,n){n(85)("Array")},function(t,e,n){var r=n(16),o=n(159),i=n(26).f,a=n(81).f,u=n(144),c=n(115),s=r.RegExp,f=s,l=s.prototype,h=/a/g,p=/a/g,v=new s(h)!==h;if(n(27)&&(!v||n(18)(function(){return p[n(24)("match")]=!1,s(h)!=h||s(p)==p||"/a/i"!=s(h,"i")}))){s=function(t,e){var n=this instanceof s,r=u(t),i=void 0===e;return!n&&r&&t.constructor===s&&i?t:o(v?new f(r&&!i?t.source:t,e):f((r=t instanceof s)?t.source:t,r&&i?c.call(t):e),n?this:l,s)};for(var d=function(t){t in s||i(s,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},y=a(f),g=0;y.length>g;)d(y[g++]);l.constructor=s,s.prototype=l,n(47)(r,"RegExp",s)}n(85)("RegExp")},function(t,e,n){"use strict";n(222);var r=n(11),o=n(115),i=n(27),a=/./.toString,u=function(t){n(47)(RegExp.prototype,"toString",t,!0)};n(18)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?u(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)}):"toString"!=a.name&&u(function(){return a.call(this)})},function(t,e,n){"use strict";var r=n(11),o=n(25),i=n(168),a=n(129);n(130)("match",1,function(t,e,n,u){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=u(n,t,this);if(e.done)return e.value;var c=r(t),s=String(this);if(!c.global)return a(c,s);var f=c.unicode;c.lastIndex=0;for(var l,h=[],p=0;null!==(l=a(c,s));){var v=String(l[0]);h[p]=v,""===v&&(c.lastIndex=i(s,o(c.lastIndex),f)),p++}return 0===p?null:h}]})},function(t,e,n){"use strict";var r=n(11),o=n(37),i=n(25),a=n(57),u=n(168),c=n(129),s=Math.max,f=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g;n(130)("replace",2,function(t,e,n,v){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=v(n,t,this,e);if(o.done)return o.value;var l=r(t),h=String(this),p="function"==typeof e;p||(e=String(e));var y=l.global;if(y){var g=l.unicode;l.lastIndex=0}for(var b=[];;){var m=c(l,h);if(null===m)break;if(b.push(m),!y)break;""===String(m[0])&&(l.lastIndex=u(h,i(l.lastIndex),g))}for(var _,w="",k=0,S=0;S=k&&(w+=h.slice(k,E)+j,k=E+x.length)}return w+h.slice(k)}];function d(t,e,r,i,a,u){var c=r+t.length,s=i.length,f=p;return void 0!==a&&(a=o(a),f=h),n.call(u,f,function(n,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[o.slice(1,-1)];break;default:var f=+o;if(0===f)return n;if(f>s){var h=l(f/10);return 0===h?n:h<=s?void 0===i[h-1]?o.charAt(1):i[h-1]+o.charAt(1):n}u=i[f-1]}return void 0===u?"":u})}})},function(t,e,n){"use strict";var r=n(11),o=n(210),i=n(129);n(130)("search",1,function(t,e,n,a){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=a(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this),s=u.lastIndex;o(s,0)||(u.lastIndex=0);var f=i(u,c);return o(u.lastIndex,s)||(u.lastIndex=s),null===f?-1:f.index}]})},function(t,e,n){"use strict";var r=n(144),o=n(11),i=n(116),a=n(168),u=n(25),c=n(129),s=n(167),f=Math.min,l=[].push,h=!!function(){try{return new RegExp("x","y")}catch(t){}}();n(130)("split",2,function(t,e,n,p){var v;return v="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var i,a,u,c=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,p=void 0===e?4294967295:e>>>0,v=new RegExp(t.source,f+"g");(i=s.call(v,o))&&!((a=v.lastIndex)>h&&(c.push(o.slice(h,i.index)),i.length>1&&i.index=p));)v.lastIndex===i.index&&v.lastIndex++;return h===o.length?!u&&v.test("")||c.push(""):c.push(o.slice(h)),c.length>p?c.slice(0,p):c}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,o,r):v.call(String(o),n,r)},function(t,e){var r=p(v,t,this,e,v!==n);if(r.done)return r.value;var s=o(t),l=String(this),d=i(s,RegExp),y=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new d(h?s:"^(?:"+s.source+")",g),m=void 0===e?4294967295:e>>>0;if(0===m)return[];if(0===l.length)return null===c(b,l)?[l]:[];for(var _=0,w=0,k=[];wi;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&C(t)})}},C=function(t){g.call(c,function(){var e,n,r,o=t._v,i=R(t);if(i&&(e=_(function(){O?x.emit("unhandledRejection",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=O||R(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},D=function(t){g.call(c,function(){var e;O?x.emit("rejectionHandled",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},N=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),F(e,!0))},L=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw S("Promise can't be resolved itself");(e=I(t))?b(function(){var r={_w:n,_d:!1};try{e.call(t,s(L,r,1),s(N,r,1))}catch(t){N.call(r,t)}}):(n._v=t,n._s=1,F(n,!1))}catch(t){N.call({_w:n,_d:!1},t)}}};M||(A=function(t){v(this,A,"Promise","_h"),p(t),r.call(this);try{t(s(L,this,1),s(N,this,1))}catch(t){N.call(this,t)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(88)(A.prototype,{then:function(t,e){var n=j(y(this,A));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=O?x.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&F(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=s(L,t,1),this.reject=s(N,t,1)},m.f=j=function(t){return t===A||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!M,{Promise:A}),n(93)(A,"Promise"),n(85)("Promise"),a=n(50).Promise,l(l.S+l.F*!M,"Promise",{reject:function(t){var e=j(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!M),"Promise",{resolve:function(t){return k(u&&this===a?A:this,t)}}),l(l.S+l.F*!(M&&n(128)(function(t){A.all(t).catch(P)})),"Promise",{all:function(t){var e=this,n=j(e),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;d(t,!1,function(t){var u=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=j(e),r=n.reject,o=_(function(){d(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){"use strict";var r=n(228),o=n(95);n(131)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r=n(2),o=n(132),i=n(169),a=n(11),u=n(80),c=n(25),s=n(19),f=n(16).ArrayBuffer,l=n(116),h=i.ArrayBuffer,p=i.DataView,v=o.ABV&&f.isView,d=h.prototype.slice,y=o.VIEW;r(r.G+r.W+r.F*(f!==h),{ArrayBuffer:h}),r(r.S+r.F*!o.CONSTR,"ArrayBuffer",{isView:function(t){return v&&v(t)||s(t)&&y in t}}),r(r.P+r.U+r.F*n(18)(function(){return!new h(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==d&&void 0===e)return d.call(a(this),t);for(var n=a(this).byteLength,r=u(t,n),o=u(void 0===e?n:e,n),i=new(l(this,h))(c(o-r)),s=new p(this),f=new p(i),v=0;r=e.length)return{value:void 0,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function(t){return new i(t)}})},function(t,e,n){var r=n(54),o=n(53),i=n(46),a=n(2),u=n(19),c=n(11);a(a.S,"Reflect",{get:function t(e,n){var a,s,f=arguments.length<3?e:arguments[2];return c(e)===f?e[n]:(a=r.f(e,n))?i(a,"value")?a.value:void 0!==a.get?a.get.call(f):void 0:u(s=o(e))?t(s,n,f):void 0}})},function(t,e,n){var r=n(54),o=n(2),i=n(11);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(2),o=n(53),i=n(11);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(2),o=n(11),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{ownKeys:n(230)})},function(t,e,n){var r=n(2),o=n(11),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(t){return!1}}})},function(t,e,n){var r=n(26),o=n(54),i=n(53),a=n(46),u=n(2),c=n(75),s=n(11),f=n(19);u(u.S,"Reflect",{set:function t(e,n,u){var l,h,p=arguments.length<4?e:arguments[3],v=o.f(s(e),n);if(!v){if(f(h=i(e)))return t(h,n,u,p);v=c(0)}if(a(v,"value")){if(!1===v.writable||!f(p))return!1;if(l=o.f(p,n)){if(l.get||l.set||!1===l.writable)return!1;l.value=u,r.f(p,n,l)}else r.f(p,n,c(0,u));return!0}return void 0!==v.set&&(v.set.call(p,u),!0)}})},function(t,e,n){var r=n(2),o=n(157);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(t){return!1}}})},function(t,e,n){var r=n(69),o=n(11),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},function(t,e,n){var r=n(69),o=n(11),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var c=u.get(e);return c.delete(n),!!c.size||u.delete(e)}})},function(t,e,n){var r=n(69),o=n(11),i=n(53),a=r.has,u=r.get,c=r.key,s=function(t,e,n){if(a(t,e,n))return u(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:c(arguments[2]))}})},function(t,e,n){var r=n(226),o=n(253),i=n(69),a=n(11),u=n(53),c=i.keys,s=i.key,f=function(t,e){var n=c(t,e),i=u(t);if(null===i)return n;var a=f(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(t){return f(a(t),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,n){var r=n(69),o=n(11),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(69),o=n(11),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(t){return i(o(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(69),o=n(11),i=n(53),a=r.has,u=r.key,c=function(t,e,n){if(a(t,e,n))return!0;var r=i(e);return null!==r&&c(t,r,n)};r.exp({hasMetadata:function(t,e){return c(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,n){var r=n(69),o=n(11),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(69),o=n(11),i=n(42),a=r.key,u=r.set;r.exp({metadata:function(t,e){return function(n,r){u(t,e,(void 0!==r?o:i)(n),a(r))}}})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(679),n(680),n(681),!Element.prototype.matches&&Element.prototype.msMatchesSelector&&(Element.prototype.matches=Element.prototype.msMatchesSelector),n(682),n(683)},function(t,e,n){n(300),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(379),n(380),n(382),n(383),n(384),n(385),n(386),n(387),n(388),n(390),n(391),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(399),n(400),n(401),n(402),n(188),n(403),n(221),n(404),n(222),n(405),n(406),n(407),n(408),n(409),n(224),n(226),n(227),n(410),n(411),n(412),n(413),n(414),n(415),n(416),n(417),n(418),n(419),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434),n(435),t.exports=n(50)},function(t,e,n){n(436),n(437),n(438),n(439),n(440),n(441),n(442),n(443),n(444),t.exports=n(50).Reflect},function(t,e,n){(function(t){(function(){"use strict"; +!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=680)}([,,function(t,e,n){var r=n(17),o=n(51),i=n(52),a=n(48),u=n(56),c=function(t,e,n){var s,f,l,h,p=t&c.F,v=t&c.G,d=t&c.S,y=t&c.P,g=t&c.B,b=v?r:d?r[e]||(r[e]={}):(r[e]||{}).prototype,m=v?o:o[e]||(o[e]={}),_=m.prototype||(m.prototype={});for(s in v&&(n=e),n)l=((f=!p&&b&&void 0!==b[s])?b:n)[s],h=g&&f?u(l,r):y&&"function"==typeof l?u(Function.call,l):l,b&&a(b,s,l,t&c.U),m[s]!=l&&i(m,s,h),y&&_[s]!=l&&(_[s]=l)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},,,,,,,,,function(t,e,n){var r=n(19);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},,,,,,function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,,,,function(t,e,n){var r=n(125)("wks"),o=n(78),i=n(17).Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},function(t,e,n){var r=n(57),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(11),o=n(204),i=n(66),a=Object.defineProperty;e.f=n(29)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},,,function(t,e,n){t.exports=!n(18)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,,,,,function(t,e,n){var r=n(67);t.exports=function(t){return Object(r(t))}},,,,,function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},,function(t,e,n){var r=n(2),o=n(18),i=n(67),a=/"/g,u=function(t,e,n,r){var o=String(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+o+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},,,function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(17),o=n(52),i=n(47),a=n(78)("src"),u=Function.toString,c=(""+u).split("toString");n(51).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||u.call(this)})},function(t,e,n){var r=n(105),o=n(67);t.exports=function(t){return r(o(t))}},,function(t,e){var n=t.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(26),o=n(75);t.exports=n(29)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(47),o=n(37),i=n(154)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){var r=n(114),o=n(75),i=n(49),a=n(66),u=n(47),c=n(204),s=Object.getOwnPropertyDescriptor;e.f=n(29)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(t){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){"use strict";var r=n(18);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var r=n(42);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},,,function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(2),o=n(51),i=n(18);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(56),o=n(105),i=n(37),a=n(25),u=n(218);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,h=5==t||l,p=e||u;return function(e,u,v){for(var d,y,g=i(e),b=o(g),m=r(u,v,3),_=a(b.length),w=0,k=n?p(e,_):c?p(e,0):void 0;_>w;w++)if((h||w in b)&&(y=m(d=b[w],w,g),t))if(n)k[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:k.push(d)}else if(f)return!1;return l?-1:s||f?f:k}}},,,,function(t,e,n){var r=n(19);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";if(n(29)){var r=n(76),o=n(17),i=n(18),a=n(2),u=n(132),c=n(169),s=n(56),f=n(86),l=n(75),h=n(52),p=n(88),v=n(57),d=n(25),y=n(229),g=n(80),b=n(66),m=n(47),_=n(83),w=n(19),k=n(37),S=n(165),x=n(72),E=n(53),T=n(81).f,A=n(127),O=n(78),P=n(24),j=n(62),M=n(140),I=n(116),F=n(188),C=n(95),R=n(128),D=n(85),N=n(166),L=n(220),z=n(26),Z=n(54),B=z.f,U=Z.f,H=o.RangeError,K=o.TypeError,W=o.Uint8Array,q=Array.prototype,G=c.ArrayBuffer,V=c.DataView,X=j(0),J=j(2),Y=j(3),$=j(4),Q=j(5),tt=j(6),et=M(!0),nt=M(!1),rt=F.values,ot=F.keys,it=F.entries,at=q.lastIndexOf,ut=q.reduce,ct=q.reduceRight,st=q.join,ft=q.sort,lt=q.slice,ht=q.toString,pt=q.toLocaleString,vt=P("iterator"),dt=P("toStringTag"),yt=O("typed_constructor"),gt=O("def_constructor"),bt=u.CONSTR,mt=u.TYPED,_t=u.VIEW,wt=j(1,function(t,e){return Tt(I(t,t[gt]),e)}),kt=i(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),St=!!W&&!!W.prototype.set&&i(function(){new W(1).set({})}),xt=function(t,e){var n=v(t);if(n<0||n%e)throw H("Wrong offset!");return n},Et=function(t){if(w(t)&&mt in t)return t;throw K(t+" is not a typed array!")},Tt=function(t,e){if(!(w(t)&&yt in t))throw K("It is not a typed array constructor!");return new t(e)},At=function(t,e){return Ot(I(t,t[gt]),e)},Ot=function(t,e){for(var n=0,r=e.length,o=Tt(t,r);r>n;)o[n]=e[n++];return o},Pt=function(t,e,n){B(t,e,{get:function(){return this._d[n]}})},jt=function(t){var e,n,r,o,i,a,u=k(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=A(u);if(null!=h&&!S(h)){for(a=h.call(u),r=[],e=0;!(i=a.next()).done;e++)r.push(i.value);u=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=d(u.length),o=Tt(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},Mt=function(){for(var t=0,e=arguments.length,n=Tt(this,e);e>t;)n[t]=arguments[t++];return n},It=!!W&&i(function(){pt.call(new W(1))}),Ft=function(){return pt.apply(It?lt.call(Et(this)):Et(this),arguments)},Ct={copyWithin:function(t,e){return L.call(Et(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(Et(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return N.apply(Et(this),arguments)},filter:function(t){return At(this,J(Et(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Et(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Et(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){X(Et(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(Et(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(Et(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(Et(this),arguments)},lastIndexOf:function(t){return at.apply(Et(this),arguments)},map:function(t){return wt(Et(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(Et(this),arguments)},reduceRight:function(t){return ct.apply(Et(this),arguments)},reverse:function(){for(var t,e=Et(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return ft.call(Et(this),t)},subarray:function(t,e){var n=Et(this),r=n.length,o=g(t,r);return new(I(n,n[gt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,d((void 0===e?r:g(e,r))-o))}},Rt=function(t,e){return At(this,lt.call(Et(this),t,e))},Dt=function(t){Et(this);var e=xt(arguments[1],1),n=this.length,r=k(t),o=d(r.length),i=0;if(o+e>n)throw H("Wrong length!");for(;i255?255:255&r),o.v[p](n*e+o.o,r,kt)}(this,n,t)},enumerable:!0})};m?(v=n(function(t,n,r,o){f(t,v,s,"_d");var i,a,u,c,l=0,p=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return mt in n?Ot(v,n):jt.call(v,n);i=n,p=xt(r,e);var g=n.byteLength;if(void 0===o){if(g%e)throw H("Wrong length!");if((a=g-p)<0)throw H("Wrong length!")}else if((a=d(o)*e)+p>g)throw H("Wrong length!");u=a/e}else u=y(n),i=new G(a=u*e);for(h(t,"_d",{b:i,o:p,l:a,e:u,v:new V(i)});ldocument.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},,,function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=!1},,function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(207),o=n(155);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(57),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=r(t))<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(207),o=n(155).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},,function(t,e,n){var r=n(60),o=n(24)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){var r=n(24)("unscopables"),o=Array.prototype;null==o[r]&&n(52)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){"use strict";var r=n(17),o=n(26),i=n(29),a=n(24)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(56),o=n(217),i=n(165),a=n(11),u=n(25),c=n(127),s={},f={};(e=t.exports=function(t,e,n,l,h){var p,v,d,y,g=h?function(){return t}:c(t),b=r(n,l,e?2:1),m=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(p=u(t.length);p>m;m++)if((y=e?b(a(v=t[m])[0],v[1]):b(t[m]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=o(d,b,v.value,e))===s||y===f)return y}).BREAK=s,e.RETURN=f},function(t,e,n){var r=n(48);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},,,,,,function(t,e,n){var r=n(26).f,o=n(47),i=n(24)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e){t.exports={}},function(t,e,n){var r=n(19);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},,,,,,,,function(t,e,n){var r=n(60);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(2),o=n(67),i=n(18),a=n(158),u="["+a+"]",c=RegExp("^"+u+u+"*"),s=RegExp(u+u+"*$"),f=function(t,e,n){var o={},u=i(function(){return!!a[t]()||"​…"!="​…"[t]()}),c=o[t]=u?e(l):a[t];n&&(o[n]=c),r(r.P+r.F*u,"String",o)},l=f.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(s,"")),t};t.exports=f},,,,,,,,function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){"use strict";var r=n(11);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(11),o=n(42),i=n(24)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||null==(n=r(a)[i])?e:o(n)}},,,,,,,,,function(t,e,n){var r=n(51),o=n(17),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(76)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(83),o=n(24)("iterator"),i=n(95);t.exports=n(51).getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r=n(24)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},function(t,e,n){"use strict";var r=n(83),o=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},function(t,e,n){"use strict";n(221);var r=n(48),o=n(52),i=n(18),a=n(67),u=n(24),c=n(167),s=u("species"),f=!i(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var h=u(t),p=!i(function(){var e={};return e[h]=function(){return 7},7!=""[t](e)}),v=p?!i(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[h](""),!e}):void 0;if(!p||!v||"replace"===t&&!f||"split"===t&&!l){var d=/./[h],y=n(a,h,""[t],function(t,e,n,r,o){return e.exec===c?p&&!o?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=y[0],b=y[1];r(String.prototype,t,g),o(RegExp.prototype,h,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},function(t,e,n){"use strict";var r=n(17),o=n(2),i=n(48),a=n(88),u=n(71),c=n(87),s=n(86),f=n(19),l=n(18),h=n(128),p=n(94),v=n(159);t.exports=function(t,e,n,d,y,g){var b=r[t],m=b,_=y?"set":"add",w=m&&m.prototype,k={},S=function(t){var e=w[t];i(w,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof m&&(g||w.forEach&&!l(function(){(new m).entries().next()}))){var x=new m,E=x[_](g?{}:-0,1)!=x,T=l(function(){x.has(1)}),A=h(function(t){new m(t)}),O=!g&&l(function(){for(var t=new m,e=5;e--;)t[_](e,e);return!t.has(-0)});A||((m=e(function(e,n){s(e,m,t);var r=v(new b,e,m);return null!=n&&c(n,y,r[_],r),r})).prototype=w,w.constructor=m),(T||O)&&(S("delete"),S("has"),y&&S("get")),(O||E)&&S(_),g&&w.clear&&delete w.clear}else m=d.getConstructor(e,t,y,_),a(m.prototype,n),u.NEED=!0;return p(m,t),k[t]=m,o(o.G+o.W+o.F*(m!=b),k),g||d.setStrong(m,t,y),m}},function(t,e,n){for(var r,o=n(17),i=n(52),a=n(78),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[h[l++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:u,VIEW:c}},,,,,,,,function(t,e,n){var r=n(49),o=n(25),i=n(80);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=o(c.length),f=i(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){var r=n(60);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(57),o=n(67);t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}}},function(t,e,n){"use strict";var r=n(76),o=n(2),i=n(48),a=n(52),u=n(95),c=n(162),s=n(94),f=n(53),l=n(24)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,n,v,d,y,g){c(n,e,v);var b,m,_,w=function(t){if(!h&&t in E)return E[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},k=e+" Iterator",S="values"==d,x=!1,E=t.prototype,T=E[l]||E["@@iterator"]||d&&E[d],A=T||w(d),O=d?S?w("entries"):A:void 0,P="Array"==e&&E.entries||T;if(P&&(_=f(P.call(new t)))!==Object.prototype&&_.next&&(s(_,k,!0),r||"function"==typeof _[l]||a(_,l,p)),S&&T&&"values"!==T.name&&(x=!0,A=function(){return T.call(this)}),r&&!g||!h&&!x&&E[l]||a(E,l,A),u[e]=A,u[k]=p,d)if(b={values:S?A:w("values"),keys:y?A:w("keys"),entries:O},g)for(m in b)m in E||i(E,m,b[m]);else o(o.P+o.F*(h||x),e,b);return b}},function(t,e,n){var r=n(19),o=n(60),i=n(24)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},,,,,,,,,function(t,e,n){var r=n(19),o=n(17).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(125)("keys"),o=n(78);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(17).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(19),o=n(11),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(56)(Function.call,n(54).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(19),o=n(157).set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e,n){"use strict";var r=n(72),o=n(75),i=n(94),a={};n(52)(a,n(24)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(144),o=n(67);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},function(t,e,n){var r=n(24)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var r=n(95),o=n(24)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){"use strict";var r=n(37),o=n(80),i=n(25);t.exports=function(t){for(var e=r(this),n=i(e.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),c=a>2?arguments[2]:void 0,s=void 0===c?n:o(c,n);s>u;)e[u++]=t;return e}},function(t,e,n){"use strict";var r,o,i=n(115),a=RegExp.prototype.exec,u=String.prototype.replace,c=a,s=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=void 0!==/()??/.exec("")[1];(s||f)&&(c=function(t){var e,n,r,o,c=this;return f&&(n=new RegExp("^"+c.source+"$(?!\\s)",i.call(c))),s&&(e=c.lastIndex),r=a.call(c,t),s&&r&&(c.lastIndex=c.global?r.index+r[0].length:e),f&&r&&r.length>1&&u.call(r[0],n,function(){for(o=1;o>1,f=23===e?A(2,-24)-A(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=T(t))!=t||t===x?(o=t!=t?1:0,r=c):(r=O(P(t)/j),t*(i=A(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*A(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*A(2,e),r+=s):(o=t*A(2,s-1)*A(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*h,a}function R(t,e,n){var r,o=8*n-e-1,i=(1<>1,u=o-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;u>0;f=256*f+t[c],c--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:s?-x:x;r+=A(2,e),f-=a}return(s?-1:1)*r*A(2,f-e)}function D(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function N(t){return[255&t]}function L(t){return[255&t,t>>8&255]}function z(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function Z(t){return C(t,52,8)}function B(t){return C(t,23,4)}function U(t,e,n){d(t[b],e,{get:function(){return this[n]}})}function H(t,e,n,r){var o=p(+n);if(o+e>t[I])throw S(m);var i=t[M]._b,a=o+t[F],u=i.slice(a,a+e);return r?u:u.reverse()}function K(t,e,n,r,o,i){var a=p(+n);if(a+e>t[I])throw S(m);for(var u=t[M]._b,c=a+t[F],s=r(+o),f=0;fV;)(W=G[V++])in _||u(_,W,E[W]);i||(q.constructor=_)}var X=new w(new _(2)),J=w[b].setInt8;X.setInt8(0,2147483648),X.setInt8(1,2147483649),!X.getInt8(0)&&X.getInt8(1)||c(w[b],{setInt8:function(t,e){J.call(this,t,e<<24>>24)},setUint8:function(t,e){J.call(this,t,e<<24>>24)}},!0)}else _=function(t){f(this,_,"ArrayBuffer");var e=p(t);this._b=y.call(new Array(e),0),this[I]=e},w=function(t,e,n){f(this,w,"DataView"),f(t,_,"DataView");var r=t[I],o=l(e);if(o<0||o>r)throw S("Wrong offset!");if(o+(n=void 0===n?r-o:h(n))>r)throw S("Wrong length!");this[M]=t,this[F]=o,this[I]=n},o&&(U(_,"byteLength","_l"),U(w,"buffer","_b"),U(w,"byteLength","_l"),U(w,"byteOffset","_o")),c(w[b],{getInt8:function(t){return H(this,1,t)[0]<<24>>24},getUint8:function(t){return H(this,1,t)[0]},getInt16:function(t){var e=H(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=H(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return D(H(this,4,t,arguments[1]))},getUint32:function(t){return D(H(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return R(H(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return R(H(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){K(this,1,t,N,e)},setUint8:function(t,e){K(this,1,t,N,e)},setInt16:function(t,e){K(this,2,t,L,e,arguments[2])},setUint16:function(t,e){K(this,2,t,L,e,arguments[2])},setInt32:function(t,e){K(this,4,t,z,e,arguments[2])},setUint32:function(t,e){K(this,4,t,z,e,arguments[2])},setFloat32:function(t,e){K(this,4,t,B,e,arguments[2])},setFloat64:function(t,e){K(this,8,t,Z,e,arguments[2])}});g(_,"ArrayBuffer"),g(w,"DataView"),u(w[b],a.VIEW,!0),e.ArrayBuffer=_,e.DataView=w},,,,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(79),o=n(126),i=n(114),a=n(37),u=n(105),c=Object.assign;t.exports=!c||n(18)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=o.f,l=i.f;c>s;)for(var h,p=u(arguments[s++]),v=f?r(p).concat(f(p)):r(p),d=v.length,y=0;d>y;)l.call(p,h=v[y++])&&(n[h]=p[h]);return n}:c},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){"use strict";var r=n(57),o=n(67);t.exports=function(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},function(t,e,n){"use strict";var r=n(26),o=n(75);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){"use strict";var r=n(84),o=n(189),i=n(95),a=n(49);t.exports=n(143)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r,o,i,a=n(56),u=n(185),c=n(156),s=n(153),f=n(17),l=f.process,h=f.setImmediate,p=f.clearImmediate,v=f.MessageChannel,d=f.Dispatch,y=0,g={},b=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},m=function(t){b.call(t.data)};h&&p||(h=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){u("function"==typeof t?t:Function(t),e)},r(y),y},p=function(t){delete g[t]},"process"==n(60)(l)?r=function(t){l.nextTick(a(b,t,1))}:d&&d.now?r=function(t){d.now(a(b,t,1))}:v?(i=(o=new v).port2,o.port1.onmessage=m,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",m,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),b.call(t)}}:function(t){setTimeout(a(b,t,1),0)}),t.exports={set:h,clear:p}},function(t,e,n){"use strict";var r=n(42);function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},function(t,e,n){var r=n(17).navigator;t.exports=r&&r.userAgent||""},,,,,,,,,,,,function(t,e,n){t.exports=!n(29)&&!n(18)(function(){return 7!=Object.defineProperty(n(153)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){e.f=n(24)},function(t,e,n){var r=n(17),o=n(51),i=n(76),a=n(205),u=n(26).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},function(t,e,n){var r=n(47),o=n(49),i=n(140)(!1),a=n(154)("IE_PROTO");t.exports=function(t,e){var n,u=o(t),c=0,s=[];for(n in u)n!=a&&r(u,n)&&s.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(s,n)||s.push(n));return s}},function(t,e,n){var r=n(26),o=n(11),i=n(79);t.exports=n(29)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(49),o=n(81).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(r(t))}},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){"use strict";var r=n(42),o=n(19),i=n(185),a=[].slice,u={};t.exports=Function.bind||function(t){var e=r(this),n=a.call(arguments,1),c=function(){var r=n.concat(a.call(arguments));return this instanceof c?function(t,e,n){if(!(e in u)){for(var r=[],o=0;o>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(17).parseFloat,o=n(106).trim;t.exports=1/r(n(158)+"-0")!=-1/0?function(t){var e=o(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(60);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(19),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var r=n(11);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},function(t,e,n){var r=n(389);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(42),o=n(37),i=n(105),a=n(25);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),h=c?l-1:0,p=c?-1:1;if(n<2)for(;;){if(h in f){u=f[h],h+=p;break}if(h+=p,c?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;c?h>=0:l>h;h+=p)h in f&&(u=e(u,f[h],h,s));return u}},function(t,e,n){"use strict";var r=n(37),o=n(80),i=n(25);t.exports=[].copyWithin||function(t,e){var n=r(this),a=i(n.length),u=o(t,a),c=o(e,a),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?a:o(s,a))-c,a-u),l=1;for(c0;)c in n?n[u]=n[c]:delete n[u],u+=l,c+=l;return n}},function(t,e,n){"use strict";var r=n(167);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){n(29)&&"g"!=/./g.flags&&n(26).f(RegExp.prototype,"flags",{configurable:!0,get:n(115)})},function(t,e,n){var r=n(17),o=n(190).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(60)(a);t.exports=function(){var t,e,n,s=function(){var r,o;for(c&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(s)}}else n=function(){o.call(r,s)};else{var l=!0,h=document.createTextNode("");new i(s).observe(h,{characterData:!0}),n=function(){h.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){"use strict";var r=n(225),o=n(96);t.exports=n(131)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(26).f,o=n(72),i=n(88),a=n(56),u=n(86),c=n(87),s=n(143),f=n(189),l=n(85),h=n(29),p=n(71).fastKey,v=n(96),d=h?"_s":"size",y=function(t,e){var n,r=p(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,s){var f=t(function(t,r){u(t,f,e,"_i"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[d]=0,null!=r&&c(r,n,t[s],t)});return i(f.prototype,{clear:function(){for(var t=v(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var n=v(this,e),r=y(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(t){v(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(v(this,e),t)}}),h&&r(f.prototype,"size",{get:function(){return v(this,e)[d]}}),f},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=p(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[d]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,e,n){s(t,e,function(t,n){this._t=v(t,e),this._k=n,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?f(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){"use strict";var r=n(225),o=n(96);t.exports=n(131)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,o=n(62)(0),i=n(48),a=n(71),u=n(184),c=n(228),s=n(19),f=n(18),l=n(96),h=a.getWeak,p=Object.isExtensible,v=c.ufstore,d={},y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(t){if(s(t)){var e=h(t);return!0===e?v(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(l(this,"WeakMap"),t,e)}},b=t.exports=n(131)("WeakMap",y,g,c,!0,!0);f(function(){return 7!=(new b).set((Object.freeze||Object)(d),7).get(d)})&&(u((r=c.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=b.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!p(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)})}))},function(t,e,n){"use strict";var r=n(88),o=n(71).getWeak,i=n(11),a=n(19),u=n(86),c=n(87),s=n(62),f=n(47),l=n(96),h=s(5),p=s(6),v=0,d=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,e){return h(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=g(this,t);if(e)return e[1]},has:function(t){return!!g(this,t)},set:function(t,e){var n=g(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var s=t(function(t,r){u(t,s,e,"_i"),t._t=e,t._i=v++,t._l=void 0,null!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).has(t):n&&f(n,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?d(t).set(e,n):r[t._i]=n,t},ufstore:d}},function(t,e,n){var r=n(57),o=n(25);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){var r=n(81),o=n(126),i=n(11),a=n(17).Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},,,,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(160),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126);t.exports=Math.fround||function(t){var e,n,o=Math.abs(t),s=r(t);return ou||n!=n?s*(1/0):s*n}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var r=n(11),o=n(19),i=n(191);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(87);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(17),o=n(47),i=n(29),a=n(2),u=n(48),c=n(71).KEY,s=n(18),f=n(125),l=n(94),h=n(78),p=n(24),v=n(205),d=n(206),y=n(301),g=n(141),b=n(11),m=n(19),_=n(49),w=n(66),k=n(75),S=n(72),x=n(209),E=n(54),T=n(26),A=n(79),O=E.f,P=T.f,j=x.f,M=r.Symbol,I=r.JSON,F=I&&I.stringify,C=p("_hidden"),R=p("toPrimitive"),D={}.propertyIsEnumerable,N=f("symbol-registry"),L=f("symbols"),z=f("op-symbols"),Z=Object.prototype,B="function"==typeof M,U=r.QObject,H=!U||!U.prototype||!U.prototype.findChild,K=i&&s(function(){return 7!=S(P({},"a",{get:function(){return P(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=O(Z,e);r&&delete Z[e],P(t,e,n),r&&t!==Z&&P(Z,e,r)}:P,W=function(t){var e=L[t]=S(M.prototype);return e._k=t,e},q=B&&"symbol"==typeof M.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof M},G=function(t,e,n){return t===Z&&G(z,e,n),b(t),e=w(e,!0),b(n),o(L,e)?(n.enumerable?(o(t,C)&&t[C][e]&&(t[C][e]=!1),n=S(n,{enumerable:k(0,!1)})):(o(t,C)||P(t,C,k(1,{})),t[C][e]=!0),K(t,e,n)):P(t,e,n)},V=function(t,e){b(t);for(var n,r=y(e=_(e)),o=0,i=r.length;i>o;)G(t,n=r[o++],e[n]);return t},X=function(t){var e=D.call(this,t=w(t,!0));return!(this===Z&&o(L,t)&&!o(z,t))&&(!(e||!o(this,t)||!o(L,t)||o(this,C)&&this[C][t])||e)},J=function(t,e){if(t=_(t),e=w(e,!0),t!==Z||!o(L,e)||o(z,e)){var n=O(t,e);return!n||!o(L,e)||o(t,C)&&t[C][e]||(n.enumerable=!0),n}},Y=function(t){for(var e,n=j(_(t)),r=[],i=0;n.length>i;)o(L,e=n[i++])||e==C||e==c||r.push(e);return r},$=function(t){for(var e,n=t===Z,r=j(n?z:_(t)),i=[],a=0;r.length>a;)!o(L,e=r[a++])||n&&!o(Z,e)||i.push(L[e]);return i};B||(u((M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),e=function(n){this===Z&&e.call(z,n),o(this,C)&&o(this[C],t)&&(this[C][t]=!1),K(this,t,k(1,n))};return i&&H&&K(Z,t,{configurable:!0,set:e}),W(t)}).prototype,"toString",function(){return this._k}),E.f=J,T.f=G,n(81).f=x.f=Y,n(114).f=X,n(126).f=$,i&&!n(76)&&u(Z,"propertyIsEnumerable",X,!0),v.f=function(t){return W(p(t))}),a(a.G+a.W+a.F*!B,{Symbol:M});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)p(Q[tt++]);for(var et=A(p.store),nt=0;et.length>nt;)d(et[nt++]);a(a.S+a.F*!B,"Symbol",{for:function(t){return o(N,t+="")?N[t]:N[t]=M(t)},keyFor:function(t){if(!q(t))throw TypeError(t+" is not a symbol!");for(var e in N)if(N[e]===t)return e},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!B,"Object",{create:function(t,e){return void 0===e?S(t):V(S(t),e)},defineProperty:G,defineProperties:V,getOwnPropertyDescriptor:J,getOwnPropertyNames:Y,getOwnPropertySymbols:$}),I&&a(a.S+a.F*(!B||s(function(){var t=M();return"[null]"!=F([t])||"{}"!=F({a:t})||"{}"!=F(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(m(e)||void 0!==t)&&!q(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!q(e))return e}),r[1]=e,F.apply(I,r)}}),M.prototype[R]||n(52)(M.prototype,R,M.prototype.valueOf),l(M,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(79),o=n(126),i=n(114);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),c=i.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){var r=n(2);r(r.S,"Object",{create:n(72)})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(29),"Object",{defineProperty:n(26).f})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(29),"Object",{defineProperties:n(208)})},function(t,e,n){var r=n(49),o=n(54).f;n(61)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(37),o=n(53);n(61)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(37),o=n(79);n(61)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){n(61)("getOwnPropertyNames",function(){return n(209).f})},function(t,e,n){var r=n(19),o=n(71).onFreeze;n(61)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19),o=n(71).onFreeze;n(61)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19),o=n(71).onFreeze;n(61)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(19);n(61)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(19);n(61)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(19);n(61)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(184)})},function(t,e,n){var r=n(2);r(r.S,"Object",{is:n(210)})},function(t,e,n){var r=n(2);r(r.S,"Object",{setPrototypeOf:n(157).set})},function(t,e,n){"use strict";var r=n(83),o={};o[n(24)("toStringTag")]="z",o+""!="[object z]"&&n(48)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(2);r(r.P,"Function",{bind:n(211)})},function(t,e,n){var r=n(26).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(29)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){"use strict";var r=n(19),o=n(53),i=n(24)("hasInstance"),a=Function.prototype;i in a||n(26).f(a,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var r=n(2),o=n(212);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){var r=n(2),o=n(213);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){"use strict";var r=n(17),o=n(47),i=n(60),a=n(159),u=n(66),c=n(18),s=n(81).f,f=n(54).f,l=n(26).f,h=n(106).trim,p=r.Number,v=p,d=p.prototype,y="Number"==i(n(72)(d)),g="trim"in String.prototype,b=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){var n,r,o,i=(e=g?e.trim():h(e,3)).charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),s=0,f=c.length;so)return NaN;return parseInt(c,r)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(y?c(function(){d.valueOf.call(n)}):"Number"!=i(n))?a(new v(b(e)),n,p):b(e)};for(var m,_=n(29)?s(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)o(v,m=_[w])&&!o(p,m)&&l(p,m,f(v,m));p.prototype=d,d.constructor=p,n(48)(r,"Number",p)}},function(t,e,n){"use strict";var r=n(2),o=n(57),i=n(214),a=n(186),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*s[n],s[n]=r%1e7,r=c(r/1e7)},h=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},p=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==s[t]){var n=String(s[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},v=function(t,e,n){return 0===e?n:e%2==1?v(t,e-1,n*t):v(t*t,e/2,n)};r(r.P+r.F*(!!u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(18)(function(){u.call({})})),"Number",{toFixed:function(t){var e,n,r,u,c=i(this,f),s=o(t),d="",y="0";if(s<0||s>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(d="-",c=-c),c>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(c*v(2,69,1))-69)<0?c*v(2,-e,1):c/v(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(v(10,r,1),0),r=e-1;r>=23;)h(1<<23),r-=23;h(1<0?d+((u=y.length)<=s?"0."+a.call("0",s-u)+y:y.slice(0,u-s)+"."+y.slice(u-s)):d+y}})},function(t,e,n){"use strict";var r=n(2),o=n(18),i=n(214),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(t){var e=i(this,"Number#toPrecision: incorrect invocation!");return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(2),o=n(17).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{isInteger:n(215)})},function(t,e,n){var r=n(2);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(2),o=n(215),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(2);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(2);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(2),o=n(213);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(2),o=n(212);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(2),o=n(216),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},function(t,e,n){var r=n(2),o=Math.asinh;r(r.S+r.F*!(o&&1/o(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,n){var r=n(2),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(2),o=n(160);r(r.S,"Math",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(2),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(2),o=n(161);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(2);r(r.S,"Math",{fround:n(250)})},function(t,e,n){var r=n(2),o=Math.abs;r(r.S,"Math",{hypot:function(t,e){for(var n,r,i=0,a=0,u=arguments.length,c=0;a0?(r=n/c)*r:n;return c===1/0?1/0:c*Math.sqrt(i)}})},function(t,e,n){var r=n(2),o=Math.imul;r(r.S+r.F*n(18)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log1p:n(216)})},function(t,e,n){var r=n(2);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(2);r(r.S,"Math",{sign:n(160)})},function(t,e,n){var r=n(2),o=n(161),i=Math.exp;r(r.S+r.F*n(18)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(2),o=n(161),i=Math.exp;r(r.S,"Math",{tanh:function(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},function(t,e,n){var r=n(2);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(2),o=n(80),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,a=0;r>a;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var r=n(2),o=n(49),i=n(25);r(r.S,"String",{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),u=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(2),o=n(142)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(2),o=n(25),i=n(163),a="".endsWith;r(r.P+r.F*n(164)("endsWith"),"String",{endsWith:function(t){var e=i(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),u=void 0===n?r:Math.min(o(n),r),c=String(t);return a?a.call(e,c,u):e.slice(u-c.length,u)===c}})},function(t,e,n){"use strict";var r=n(2),o=n(163);r(r.P+r.F*n(164)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(2);r(r.P,"String",{repeat:n(186)})},function(t,e,n){"use strict";var r=n(2),o=n(25),i=n(163),a="".startsWith;r(r.P+r.F*n(164)("startsWith"),"String",{startsWith:function(t){var e=i(this,t,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){"use strict";n(44)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";n(44)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(44)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(44)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(44)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(44)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(44)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(44)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(44)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(44)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(44)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(44)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(44)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){var r=n(2);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";var r=n(2),o=n(37),i=n(66);r(r.P+r.F*n(18)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var e=o(this),n=i(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var r=n(2),o=n(378);r(r.P+r.F*(Date.prototype.toISOString!==o),"Date",{toISOString:o})},function(t,e,n){"use strict";var r=n(18),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}:i},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(48)(r,"toString",function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){var r=n(24)("toPrimitive"),o=Date.prototype;r in o||n(52)(o,r,n(381))},function(t,e,n){"use strict";var r=n(11),o=n(66);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!=t)}},function(t,e,n){var r=n(2);r(r.S,"Array",{isArray:n(141)})},function(t,e,n){"use strict";var r=n(56),o=n(2),i=n(37),a=n(217),u=n(165),c=n(25),s=n(187),f=n(127);o(o.S+o.F*!n(128)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,h=i(t),p="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,y=void 0!==d,g=0,b=f(h);if(y&&(d=r(d,v>2?arguments[2]:void 0,2)),null==b||p==Array&&u(b))for(n=new p(e=c(h.length));e>g;g++)s(n,g,y?d(h[g],g):h[g]);else for(l=b.call(h),n=new p;!(o=l.next()).done;g++)s(n,g,y?a(l,d,[o.value,g],!0):o.value);return n.length=g,n}})},function(t,e,n){"use strict";var r=n(2),o=n(187);r(r.S+r.F*n(18)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(2),o=n(49),i=[].join;r(r.P+r.F*(n(105)!=Object||!n(55)(i)),"Array",{join:function(t){return i.call(o(this),void 0===t?",":t)}})},function(t,e,n){"use strict";var r=n(2),o=n(156),i=n(60),a=n(80),u=n(25),c=[].slice;r(r.P+r.F*n(18)(function(){o&&c.call(o)}),"Array",{slice:function(t,e){var n=u(this.length),r=i(this);if(e=void 0===e?n:e,"Array"==r)return c.call(this,t,e);for(var o=a(t,n),s=a(e,n),f=u(s-o),l=new Array(f),h=0;h1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},function(t,e,n){var r=n(2);r(r.P,"Array",{copyWithin:n(220)}),n(84)("copyWithin")},function(t,e,n){var r=n(2);r(r.P,"Array",{fill:n(166)}),n(84)("fill")},function(t,e,n){"use strict";var r=n(2),o=n(62)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(84)("find")},function(t,e,n){"use strict";var r=n(2),o=n(62)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(84)(i)},function(t,e,n){n(85)("Array")},function(t,e,n){var r=n(17),o=n(159),i=n(26).f,a=n(81).f,u=n(144),c=n(115),s=r.RegExp,f=s,l=s.prototype,h=/a/g,p=/a/g,v=new s(h)!==h;if(n(29)&&(!v||n(18)(function(){return p[n(24)("match")]=!1,s(h)!=h||s(p)==p||"/a/i"!=s(h,"i")}))){s=function(t,e){var n=this instanceof s,r=u(t),i=void 0===e;return!n&&r&&t.constructor===s&&i?t:o(v?new f(r&&!i?t.source:t,e):f((r=t instanceof s)?t.source:t,r&&i?c.call(t):e),n?this:l,s)};for(var d=function(t){t in s||i(s,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},y=a(f),g=0;y.length>g;)d(y[g++]);l.constructor=s,s.prototype=l,n(48)(r,"RegExp",s)}n(85)("RegExp")},function(t,e,n){"use strict";n(222);var r=n(11),o=n(115),i=n(29),a=/./.toString,u=function(t){n(48)(RegExp.prototype,"toString",t,!0)};n(18)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?u(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)}):"toString"!=a.name&&u(function(){return a.call(this)})},function(t,e,n){"use strict";var r=n(11),o=n(25),i=n(168),a=n(129);n(130)("match",1,function(t,e,n,u){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=u(n,t,this);if(e.done)return e.value;var c=r(t),s=String(this);if(!c.global)return a(c,s);var f=c.unicode;c.lastIndex=0;for(var l,h=[],p=0;null!==(l=a(c,s));){var v=String(l[0]);h[p]=v,""===v&&(c.lastIndex=i(s,o(c.lastIndex),f)),p++}return 0===p?null:h}]})},function(t,e,n){"use strict";var r=n(11),o=n(37),i=n(25),a=n(57),u=n(168),c=n(129),s=Math.max,f=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g;n(130)("replace",2,function(t,e,n,v){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=v(n,t,this,e);if(o.done)return o.value;var l=r(t),h=String(this),p="function"==typeof e;p||(e=String(e));var y=l.global;if(y){var g=l.unicode;l.lastIndex=0}for(var b=[];;){var m=c(l,h);if(null===m)break;if(b.push(m),!y)break;""===String(m[0])&&(l.lastIndex=u(h,i(l.lastIndex),g))}for(var _,w="",k=0,S=0;S=k&&(w+=h.slice(k,E)+j,k=E+x.length)}return w+h.slice(k)}];function d(t,e,r,i,a,u){var c=r+t.length,s=i.length,f=p;return void 0!==a&&(a=o(a),f=h),n.call(u,f,function(n,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[o.slice(1,-1)];break;default:var f=+o;if(0===f)return n;if(f>s){var h=l(f/10);return 0===h?n:h<=s?void 0===i[h-1]?o.charAt(1):i[h-1]+o.charAt(1):n}u=i[f-1]}return void 0===u?"":u})}})},function(t,e,n){"use strict";var r=n(11),o=n(210),i=n(129);n(130)("search",1,function(t,e,n,a){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=a(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this),s=u.lastIndex;o(s,0)||(u.lastIndex=0);var f=i(u,c);return o(u.lastIndex,s)||(u.lastIndex=s),null===f?-1:f.index}]})},function(t,e,n){"use strict";var r=n(144),o=n(11),i=n(116),a=n(168),u=n(25),c=n(129),s=n(167),f=Math.min,l=[].push,h=!!function(){try{return new RegExp("x","y")}catch(t){}}();n(130)("split",2,function(t,e,n,p){var v;return v="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var i,a,u,c=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,p=void 0===e?4294967295:e>>>0,v=new RegExp(t.source,f+"g");(i=s.call(v,o))&&!((a=v.lastIndex)>h&&(c.push(o.slice(h,i.index)),i.length>1&&i.index=p));)v.lastIndex===i.index&&v.lastIndex++;return h===o.length?!u&&v.test("")||c.push(""):c.push(o.slice(h)),c.length>p?c.slice(0,p):c}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,o,r):v.call(String(o),n,r)},function(t,e){var r=p(v,t,this,e,v!==n);if(r.done)return r.value;var s=o(t),l=String(this),d=i(s,RegExp),y=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new d(h?s:"^(?:"+s.source+")",g),m=void 0===e?4294967295:e>>>0;if(0===m)return[];if(0===l.length)return null===c(b,l)?[l]:[];for(var _=0,w=0,k=[];wi;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&C(t)})}},C=function(t){g.call(c,function(){var e,n,r,o=t._v,i=R(t);if(i&&(e=_(function(){O?x.emit("unhandledRejection",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=O||R(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},D=function(t){g.call(c,function(){var e;O?x.emit("rejectionHandled",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},N=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),F(e,!0))},L=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw S("Promise can't be resolved itself");(e=I(t))?b(function(){var r={_w:n,_d:!1};try{e.call(t,s(L,r,1),s(N,r,1))}catch(t){N.call(r,t)}}):(n._v=t,n._s=1,F(n,!1))}catch(t){N.call({_w:n,_d:!1},t)}}};M||(A=function(t){v(this,A,"Promise","_h"),p(t),r.call(this);try{t(s(L,this,1),s(N,this,1))}catch(t){N.call(this,t)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(88)(A.prototype,{then:function(t,e){var n=j(y(this,A));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=O?x.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&F(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=s(L,t,1),this.reject=s(N,t,1)},m.f=j=function(t){return t===A||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!M,{Promise:A}),n(94)(A,"Promise"),n(85)("Promise"),a=n(51).Promise,l(l.S+l.F*!M,"Promise",{reject:function(t){var e=j(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!M),"Promise",{resolve:function(t){return k(u&&this===a?A:this,t)}}),l(l.S+l.F*!(M&&n(128)(function(t){A.all(t).catch(P)})),"Promise",{all:function(t){var e=this,n=j(e),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;d(t,!1,function(t){var u=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=j(e),r=n.reject,o=_(function(){d(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){"use strict";var r=n(228),o=n(96);n(131)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r=n(2),o=n(132),i=n(169),a=n(11),u=n(80),c=n(25),s=n(19),f=n(17).ArrayBuffer,l=n(116),h=i.ArrayBuffer,p=i.DataView,v=o.ABV&&f.isView,d=h.prototype.slice,y=o.VIEW;r(r.G+r.W+r.F*(f!==h),{ArrayBuffer:h}),r(r.S+r.F*!o.CONSTR,"ArrayBuffer",{isView:function(t){return v&&v(t)||s(t)&&y in t}}),r(r.P+r.U+r.F*n(18)(function(){return!new h(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==d&&void 0===e)return d.call(a(this),t);for(var n=a(this).byteLength,r=u(t,n),o=u(void 0===e?n:e,n),i=new(l(this,h))(c(o-r)),s=new p(this),f=new p(i),v=0;r=e.length)return{value:void 0,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function(t){return new i(t)}})},function(t,e,n){var r=n(54),o=n(53),i=n(47),a=n(2),u=n(19),c=n(11);a(a.S,"Reflect",{get:function t(e,n){var a,s,f=arguments.length<3?e:arguments[2];return c(e)===f?e[n]:(a=r.f(e,n))?i(a,"value")?a.value:void 0!==a.get?a.get.call(f):void 0:u(s=o(e))?t(s,n,f):void 0}})},function(t,e,n){var r=n(54),o=n(2),i=n(11);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(2),o=n(53),i=n(11);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(2),o=n(11),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{ownKeys:n(230)})},function(t,e,n){var r=n(2),o=n(11),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(t){return!1}}})},function(t,e,n){var r=n(26),o=n(54),i=n(53),a=n(47),u=n(2),c=n(75),s=n(11),f=n(19);u(u.S,"Reflect",{set:function t(e,n,u){var l,h,p=arguments.length<4?e:arguments[3],v=o.f(s(e),n);if(!v){if(f(h=i(e)))return t(h,n,u,p);v=c(0)}if(a(v,"value")){if(!1===v.writable||!f(p))return!1;if(l=o.f(p,n)){if(l.get||l.set||!1===l.writable)return!1;l.value=u,r.f(p,n,l)}else r.f(p,n,c(0,u));return!0}return void 0!==v.set&&(v.set.call(p,u),!0)}})},function(t,e,n){var r=n(2),o=n(157);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(t){return!1}}})},function(t,e,n){var r=n(69),o=n(11),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},function(t,e,n){var r=n(69),o=n(11),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var c=u.get(e);return c.delete(n),!!c.size||u.delete(e)}})},function(t,e,n){var r=n(69),o=n(11),i=n(53),a=r.has,u=r.get,c=r.key,s=function(t,e,n){if(a(t,e,n))return u(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:c(arguments[2]))}})},function(t,e,n){var r=n(226),o=n(253),i=n(69),a=n(11),u=n(53),c=i.keys,s=i.key,f=function(t,e){var n=c(t,e),i=u(t);if(null===i)return n;var a=f(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(t){return f(a(t),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,n){var r=n(69),o=n(11),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(69),o=n(11),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(t){return i(o(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(69),o=n(11),i=n(53),a=r.has,u=r.key,c=function(t,e,n){if(a(t,e,n))return!0;var r=i(e);return null!==r&&c(t,r,n)};r.exp({hasMetadata:function(t,e){return c(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,n){var r=n(69),o=n(11),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(69),o=n(11),i=n(42),a=r.key,u=r.set;r.exp({metadata:function(t,e){return function(n,r){u(t,e,(void 0!==r?o:i)(n),a(r))}}})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(681),n(682),n(683),!Element.prototype.matches&&Element.prototype.msMatchesSelector&&(Element.prototype.matches=Element.prototype.msMatchesSelector),n(684),n(685)},function(t,e,n){n(300),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(379),n(380),n(382),n(383),n(384),n(385),n(386),n(387),n(388),n(390),n(391),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(399),n(400),n(401),n(402),n(188),n(403),n(221),n(404),n(222),n(405),n(406),n(407),n(408),n(409),n(224),n(226),n(227),n(410),n(411),n(412),n(413),n(414),n(415),n(416),n(417),n(418),n(419),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434),n(435),t.exports=n(51)},function(t,e,n){n(436),n(437),n(438),n(439),n(440),n(441),n(442),n(443),n(444),t.exports=n(51).Reflect},function(t,e,n){(function(t){(function(){"use strict"; /** * @license * Copyright Google Inc. All Rights Reserved. @@ -88,7 +88,7 @@ var it=["absolutedeviceorientation","afterinput","afterprint","appinstalled","be * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -Zone.__load_patch("util",function(t,e,n){n.patchOnProperties=M,n.patchMethod=R,n.bindArguments=k}),Zone.__load_patch("timers",function(t){Y(t,"set","clear","Timeout"),Y(t,"set","clear","Interval"),Y(t,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(t){Y(t,"request","cancel","AnimationFrame"),Y(t,"mozRequest","mozCancel","AnimationFrame"),Y(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(t,e){for(var n=["alert","prompt","confirm"],r=0;r=0&&"function"==typeof r[i.cbIdx]?d(i.name,r[i.cbIdx],i,o):t.apply(e,r)}})}(e.prototype,"toBlob",function(t,e){return{name:"HTMLCanvasElement.toBlob",target:t,cbIdx:0,args:e}})}),Zone.__load_patch("XHR",function(t,e){!function(t){var c=XMLHttpRequest.prototype;var l=c[s],h=c[f];if(!l){var p=t.XMLHttpRequestEventTarget;if(p){var v=p.prototype;l=v[s],h=v[f]}}var g="readystatechange",b="scheduled";function m(t){var e=t.data,r=e.target;r[i]=!1,r[u]=!1;var a=r[o];l||(l=r[s],h=r[f]),a&&h.call(r,g,a);var c=r[o]=function(){if(r.readyState===r.DONE)if(!e.aborted&&r[i]&&t.state===b){var n=r.__zone_symbol__loadfalse;if(n&&n.length>0){var o=t.invoke;t.invoke=function(){for(var n=r.__zone_symbol__loadfalse,i=0;i-1};function a(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function c(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r.iterable&&(e[Symbol.iterator]=function(){return e}),e}function s(t){this.map={},t instanceof s?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function f(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function l(t){return new Promise(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function h(t){var e=new FileReader,n=l(e);return e.readAsArrayBuffer(t),n}function p(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:r.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:r.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():r.arrayBuffer&&r.blob&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=p(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=p(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var t=f(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t,e,n,r=f(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,n=l(e),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}}),e}function b(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new s(e.headers),this.url=e.url||"",this._initBody(t)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},v.call(y.prototype),v.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new s(this.headers),url:this.url})},b.error=function(){var t=new b(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];b.redirect=function(t,e){if(-1===m.indexOf(e))throw new RangeError("Invalid status code");return new b(null,{status:e,headers:{location:t}})};var _=self.DOMException;try{new _}catch(t){(_=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack}).prototype=Object.create(Error.prototype),_.prototype.constructor=_}function w(t,e){return new Promise(function(n,o){var i=new y(t,e);if(i.signal&&i.signal.aborted)return o(new _("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new s,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var n=t.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();e.append(r,o)}}),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new b(o,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new _("Aborted","AbortError"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&r.blob&&(a.responseType="blob"),i.headers.forEach(function(t,e){a.setRequestHeader(e,t)}),i.signal&&(i.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener("abort",u)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})}w.polyfill=!0,self.fetch||(self.fetch=w,self.Headers=s,self.Request=y,self.Response=b)},function(t,e,n){var r,o; +Zone.__load_patch("util",function(t,e,n){n.patchOnProperties=M,n.patchMethod=R,n.bindArguments=k}),Zone.__load_patch("timers",function(t){Y(t,"set","clear","Timeout"),Y(t,"set","clear","Interval"),Y(t,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(t){Y(t,"request","cancel","AnimationFrame"),Y(t,"mozRequest","mozCancel","AnimationFrame"),Y(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(t,e){for(var n=["alert","prompt","confirm"],r=0;r=0&&"function"==typeof r[i.cbIdx]?d(i.name,r[i.cbIdx],i,o):t.apply(e,r)}})}(e.prototype,"toBlob",function(t,e){return{name:"HTMLCanvasElement.toBlob",target:t,cbIdx:0,args:e}})}),Zone.__load_patch("XHR",function(t,e){!function(t){var c=XMLHttpRequest.prototype;var l=c[s],h=c[f];if(!l){var p=t.XMLHttpRequestEventTarget;if(p){var v=p.prototype;l=v[s],h=v[f]}}var g="readystatechange",b="scheduled";function m(t){var e=t.data,r=e.target;r[i]=!1,r[u]=!1;var a=r[o];l||(l=r[s],h=r[f]),a&&h.call(r,g,a);var c=r[o]=function(){if(r.readyState===r.DONE)if(!e.aborted&&r[i]&&t.state===b){var n=r.__zone_symbol__loadfalse;if(n&&n.length>0){var o=t.invoke;t.invoke=function(){for(var n=r.__zone_symbol__loadfalse,i=0;i-1};function a(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function c(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r.iterable&&(e[Symbol.iterator]=function(){return e}),e}function s(t){this.map={},t instanceof s?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function f(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function l(t){return new Promise(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function h(t){var e=new FileReader,n=l(e);return e.readAsArrayBuffer(t),n}function p(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:r.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:r.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():r.arrayBuffer&&r.blob&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=p(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=p(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var t=f(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t,e,n,r=f(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,n=l(e),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}}),e}function b(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new s(e.headers),this.url=e.url||"",this._initBody(t)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},v.call(y.prototype),v.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new s(this.headers),url:this.url})},b.error=function(){var t=new b(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];b.redirect=function(t,e){if(-1===m.indexOf(e))throw new RangeError("Invalid status code");return new b(null,{status:e,headers:{location:t}})};var _=self.DOMException;try{new _}catch(t){(_=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack}).prototype=Object.create(Error.prototype),_.prototype.constructor=_}function w(t,e){return new Promise(function(n,o){var i=new y(t,e);if(i.signal&&i.signal.aborted)return o(new _("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new s,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var n=t.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();e.append(r,o)}}),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new b(o,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new _("Aborted","AbortError"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&r.blob&&(a.responseType="blob"),i.headers.forEach(function(t,e){a.setRequestHeader(e,t)}),i.signal&&(i.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener("abort",u)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})}w.polyfill=!0,self.fetch||(self.fetch=w,self.Headers=s,self.Request=y,self.Response=b)},function(t,e,n){var r,o; /** * @file Web Cryptography API shim * @author Artem S Vybornov @@ -100,4 +100,4 @@ Zone.__load_patch("util",function(t,e,n){n.patchOnProperties=M,n.patchMethod=R,n * @license MIT */ o="undefined"!=typeof self?self:this,void 0===(r=function(){return function(t){"use strict";if("function"!=typeof Promise)throw"Promise support required";var e=t.crypto||t.msCrypto;if(e){var n=e.subtle||e.webkitSubtle;if(n){var r=t.Crypto||e.constructor||Object,o=t.SubtleCrypto||n.constructor||Object,i=(t.CryptoKey||t.Key||Object,t.navigator.userAgent.indexOf("Edge/")>-1),a=!!t.msCrypto&&!i,u=!e.subtle&&!!e.webkitSubtle;if(a||u){var c={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},s={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach(function(t){var r=n[t];n[t]=function(o,i,c){var s,f,m,S,x,E=[].slice.call(arguments);switch(t){case"generateKey":s=d(o),f=i,m=c;break;case"importKey":s=d(c),f=E[3],m=E[4],"jwk"===o&&((i=g(i)).alg||(i.alg=y(s)),i.key_ops||(i.key_ops="oct"!==i.kty?"d"in i?m.filter(k):m.filter(w):m.slice()),E[1]=(x=g(i),a&&(x.extractable=x.ext,delete x.ext),p(unescape(encodeURIComponent(JSON.stringify(x)))).buffer));break;case"unwrapKey":s=E[4],f=E[5],m=E[6],E[2]=c._key}if("generateKey"===t&&"HMAC"===s.name&&s.hash)return s.length=s.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[s.hash.name],n.importKey("raw",e.getRandomValues(new Uint8Array(s.length+7>>3)),s,f,m);if(u&&"generateKey"===t&&"RSASSA-PKCS1-v1_5"===s.name&&(!s.modulusLength||s.modulusLength>=2048))return(o=d(o)).name="RSAES-PKCS1-v1_5",delete o.hash,n.generateKey(o,!0,["encrypt","decrypt"]).then(function(t){return Promise.all([n.exportKey("jwk",t.publicKey),n.exportKey("jwk",t.privateKey)])}).then(function(t){return t[0].alg=t[1].alg=y(s),t[0].key_ops=m.filter(w),t[1].key_ops=m.filter(k),Promise.all([n.importKey("jwk",t[0],s,!0,t[0].key_ops),n.importKey("jwk",t[1],s,f,t[1].key_ops)])}).then(function(t){return{publicKey:t[0],privateKey:t[1]}});if((u||a&&"SHA-1"===(s.hash||{}).name)&&"importKey"===t&&"jwk"===o&&"HMAC"===s.name&&"oct"===i.kty)return n.importKey("raw",p(h(i.k)),c,E[3],E[4]);if(u&&"importKey"===t&&("spki"===o||"pkcs8"===o))return n.importKey("jwk",function(t){var e=b(t),n=!1;e.length>2&&(n=!0,e.shift());var r={ext:!0};switch(e[0][0]){case"1.2.840.113549.1.1.1":var o=["n","e","d","p","q","dp","dq","qi"],i=b(e[1]);n&&i.shift();for(var a=0;a2&&(r=!0,i.unshift(new Uint8Array([0]))),n[0][0]="1.2.840.113549.1.1.1",e=i;break;default:throw new TypeError("Unsupported key type")}return n.push(new Uint8Array(m(e)).buffer),r?n.unshift(new Uint8Array([0])):n[1]={tag:3,value:n[1]},new Uint8Array(m(n)).buffer}(g(t))})),c}}),["encrypt","decrypt","sign","verify"].forEach(function(t){var e=n[t];n[t]=function(r,o,i,u){if(a&&(!i.byteLength||u&&!u.byteLength))throw new Error("Empy input is not allowed");var c,s=[].slice.call(arguments),f=d(r);if(a&&"decrypt"===t&&"AES-GCM"===f.name){var l=r.tagLength>>3;s[2]=(i.buffer||i).slice(0,i.byteLength-l),r.tag=(i.buffer||i).slice(i.byteLength-l)}s[1]=o._key;try{c=e.apply(n,s)}catch(t){return Promise.reject(t)}return a&&(c=new Promise(function(e,n){c.onabort=c.onerror=function(t){n(t)},c.oncomplete=function(n){if(n=n.target.result,"encrypt"===t&&n instanceof AesGcmEncryptResult){var r=n.ciphertext,o=n.tag;(n=new Uint8Array(r.byteLength+o.byteLength)).set(new Uint8Array(r),0),n.set(new Uint8Array(o),r.byteLength),n=n.buffer}e(n)}})),c}}),a){var f=n.digest;n.digest=function(t,e){if(!e.byteLength)throw new Error("Empy input is not allowed");var r;try{r=f.call(n,t,e)}catch(t){return Promise.reject(t)}return r=new Promise(function(t,e){r.onabort=r.onerror=function(t){e(t)},r.oncomplete=function(e){t(e.target.result)}})},t.crypto=Object.create(e,{getRandomValues:{value:function(t){return e.getRandomValues(t)}},subtle:{value:n}}),t.CryptoKey=_}u&&(e.subtle=n,t.Crypto=r,t.SubtleCrypto=o,t.CryptoKey=_)}}}function l(t){return btoa(t).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function h(t){return t=(t+="===").slice(0,-t.length%4),atob(t.replace(/-/g,"+").replace(/_/g,"/"))}function p(t){for(var e=new Uint8Array(t.length),n=0;nt.length)throw new RangeError("Malformed DER");var n,r=t[e.pos++],o=t[e.pos++];if(o>=128){if(o&=127,e.end-e.pos=128){var u=r,r=4;for(e.splice(o,0,u>>24&255,u>>16&255,u>>8&255,255&u);r>1&&!(u>>24);)u<<=8,r--;r<4&&e.splice(o,4-r),r|=128}return e.splice(o-2,2,n,r),e}function _(t,e,n,r){Object.defineProperties(this,{_key:{value:t},type:{value:t.type,enumerable:!0},extractable:{value:void 0===n?t.extractable:n,enumerable:!0},algorithm:{value:void 0===e?t.algorithm:e,enumerable:!0},usages:{value:void 0===r?t.usages:r,enumerable:!0}})}function w(t){return"verify"===t||"encrypt"===t||"wrapKey"===t}function k(t){return"sign"===t||"decrypt"===t||"unwrapKey"===t}}(o)}.apply(e,[]))||(t.exports=r)}]); -//# sourceMappingURL=polyfills.33e2182b1c2757a22f9b.js.map \ No newline at end of file +//# sourceMappingURL=polyfills.ada879e2fa1c013188d7.js.map \ No newline at end of file diff --git a/app/polyfills.33e2182b1c2757a22f9b.js.map b/app/polyfills.ada879e2fa1c013188d7.js.map similarity index 99% rename from app/polyfills.33e2182b1c2757a22f9b.js.map rename to app/polyfills.ada879e2fa1c013188d7.js.map index d342dfbf..37937250 100644 --- a/app/polyfills.33e2182b1c2757a22f9b.js.map +++ b/app/polyfills.ada879e2fa1c013188d7.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./src/app/polyfills.ts","webpack:///./node_modules/core-js/es6/index.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/webcrypto-shim/webcrypto-shim.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","isObject","it","TypeError","window","Math","self","__g","exec","e","store","uid","USE_SYMBOL","toInteger","min","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","a","defined","fails","quot","createHTML","string","tag","attribute","String","p1","replace","NAME","test","toLowerCase","split","length","has","SRC","$toString","TPL","inspectSource","val","safe","isFunction","join","this","IObject","version","__e","createDesc","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","pIE","toIObject","gOPD","getOwnPropertyDescriptor","method","arg","aFunction","fn","that","b","apply","arguments","ceil","floor","isNaN","toString","slice","KEY","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","res","index","result","push","valueOf","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","keys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","set","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","configurable","writable","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","data","v","round","setter","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","from","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","_","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","bitmap","px","random","$keys","max","hiddenKeys","getOwnPropertyNames","cof","ARG","T","tryGet","callee","UNSCOPABLES","DESCRIPTORS","SPECIES","Constructor","forbiddenField","BREAK","RETURN","iterable","def","stat","_t","g","propertyIsEnumerable","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","ignoreCase","multiline","unicode","sticky","D","copyright","getOwnPropertySymbols","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","Typed","TypedArrayConstructors","IS_INCLUDES","el","fromIndex","isArray","TO_STRING","pos","charCodeAt","charAt","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","MATCH","isRegExp","is","createElement","documentElement","check","setPrototypeOf","buggy","__proto__","sign","x","$expm1","expm1","descriptor","searchString","endPos","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","lastIndex","reCopy","match","at","PROTOTYPE","WRONG_INDEX","Infinity","BaseBuffer","abs","pow","log","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","_b","pack","conversion","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","getKeys","gOPS","$assign","assign","A","K","k","getSymbols","isEnum","args","un","count","$defineProperty","addToUnscopables","iterated","_i","_k","Arguments","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","navigator","userAgent","wksExt","$Symbol","names","defineProperties","windowNames","getWindowNames","y","factories","partArgs","bound","construct","$parseInt","parseInt","$trim","ws","hex","radix","$parseFloat","parseFloat","msg","isFinite","log1p","ret","original","memo","isRight","to","inc","forced","flags","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","standalone","then","toggle","node","createTextNode","observe","characterData","task","strong","entry","getEntry","$iterDefine","SIZE","_f","_l","delete","prev","add","InternalMap","each","weak","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","$has","UncaughtFrozenStore","findUncaughtFrozen","splice","number","Reflect","ownKeys","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","newPromiseCapability","promiseCapability","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","symbols","$getPrototypeOf","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","aNumberValue","repeat","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","point","codePointAt","context","$endsWith","endsWith","endPosition","search","$startsWith","startsWith","color","size","url","Date","getTime","toJSON","toISOString","pv","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","hint","createProperty","upTo","cloned","$sort","$forEach","STRICT","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","define","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","capture","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","all","remaining","$index","alreadyCalled","race","$isView","isView","fin","viewS","viewT","init","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","ordinaryGetMetadata","getMetadata","Set","ordinaryOwnMetadataKeys","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","Element","matches","msMatchesSelector","performance","mark","performanceMeasure","label","checkDuplicate","__symbol__","Error","nativeMicroTaskQueuePromise","Zone","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","zone","current","_currentZoneFrame","_currentTask","__load_patch","perfName","_api","getZoneWith","fork","callback","_callback","intercept","runGuarded","applyThis","applyArgs","handleError","runTask","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","DELEGATE_ZS","onHasTask","delegate","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","returnTask","scheduleFn","isEmpty","counts","change","options","_state","useG","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","handleId","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeThen","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","setNativePromise","NativePromise","__values","api","ObjectGetOwnPropertyDescriptor","ObjectDefineProperty","_uncaughtPromiseErrors","creationTrace","rejection","message","stack","_loop_1","uncaughtPromiseError","shift","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","forwardResolution","forwardRejection","ZoneAwarePromise","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","resolvePromise","once","wasCalled","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","clearRejectedNoCatch","trace","currentTask","scheduleResolveOrReject","obj","className","readableObjectToString","error_1","REJECTION_HANDLED_HANDLER","chainPromise","promiseState","parentPromiseValue","isFinallyPromise","e_1","rej","onResolve","onReject","values_1","values_1_1","e_1_1","return","e_2","unresolvedCount","valueIndex","resolvedValues","_loop_2","this_1","curValueIndex","values_2","values_2_1","e_2_1","finally","onFinally","ZONE_AWARE_PROMISE","NewNativePromise","symbolThenPatched","Ctor","prop","originalThen","_this","fetch","fetchTaskScheduling","fetchTaskAborting","OriginalAbortController","supportAbort","abortNative","abortController","signal","placeholder","fetchPromise","ctor","resource","aborted","abort","ObjectGetPrototypeOf","ObjectCreate","ArraySlice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","wrapWithCurrentZone","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","NULL_ON_PROP_VALUE","isPropertyWritable","isWebWorker","WorkerGlobalScope","isBrowser","isMix","zoneSymbolEventNames","wrapFn","eventNameSymbol","errorEvent","filename","lineno","colno","preventDefault","patchProperty","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","substr","newValue","removeEventListener","removeAttribute","onProperties","originalInstanceKey","patchClass","OriginalClass","attachOriginToPatched","shouldCopySymbolProperties","patchFn","dest","delegateName","patchDelegate_1","patched","isDetectedIEOrEdge","ieOrEdge","isIE","ua","isIEOrEdge","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","apis","patchOptions","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","delegate_1","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","nativePrependEventListener","eventNameToString","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","checkIsPassive","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","allRemoved","compare","diff","typeOfDelegate","blackListedEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","isHandleEvent","falseEventName","trueEventName","symbolCapture","constructorName","targetSource","unshift","existingTask","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","evtName","foundTasks","taskSymbol","patchTimer","setName","cancelName","nameSuffix","setNative","clearNative","tasksByHandleId","delay","handle","ref","unref","_defineProperty","_getOwnPropertyDescriptor","unconfigurablesKey","isUnconfigurable","rewriteDescriptor","isFrozen","_tryDefineProperty","originalConfigurableFlag","descJson","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","patchFilteredProperties","ignoreProperties","tip","ip","targetIgnoreProperties","op","filterProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","HTMLElement","XMLHttpRequestPrototype","XMLHttpRequest","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","canPatchViaPropertyDescriptor","ignoreErrorProperties","Document","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequestEventTarget_1","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","onproperty","elt","unboundKey","parentElement","patchViaCapturingAllTheEvents","WS","EventTarget","proxySocket","proxySocketProto","socket","onmessageDesc","propName","propertySymbol","globalWebSocket","patchEvent","Event","patchEventPrototype","patchCallbacks","targetName","callbacks","nativeDelegate","opts","blockingMethods","SYMBOL_BLACK_LISTED_EVENTS","WTF_ISSUE_555","NO_EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","isDisableIECheck","isEnableCrossContextCheck","BROWSER_TOOLS","targets","apiTypes","testString","eventTargetPatch","XMLHttpRequestEventTarget","props","customElements","patchCustomElements","HTMLCanvasElement","toBlob","funcName","metaCreator","cbIdx","patchMacroTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","XHR_SCHEDULED","XHR_ERROR_BEFORE_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","loadTasks","oriInvoke_1","storedTask","XHR_TASK","sendNative","placeholderCallback","openNative","XHR_SYNC","XHR_URL","patchXHR","geolocation","fnNames","name_1","patchPrototype","findPromiseRejectionHandler","evt","factory","__webpack_exports__","Headers","Request","Response","DOMException","support","searchParams","blob","Blob","formData","arrayBuffer","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","headers","append","header","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","buf","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","decode","json","parse","oldValue","thisArg","input","upcased","credentials","toUpperCase","referrer","form","decodeURIComponent","bodyInit","status","statusText","clone","response","redirectStatuses","redirect","location","request","xhr","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","send","polyfill","__WEBPACK_AMD_DEFINE_RESULT__","_crypto","crypto","msCrypto","_subtle","subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isWebkit","oid2str","KoZIhvcNAQEB","str2oid","1.2.840.113549.1.1.1","_fn","ka","kx","ku","jwk","alg","b2jwk","jwkAlg","key_ops","kty","isPrvKeyUse","isPubKeyUse","ext","s2b","unescape","encodeURIComponent","_key","hash","SHA-1","SHA-256","SHA-384","SHA-512","importKey","getRandomValues","modulusLength","generateKey","exportKey","publicKey","privateKey","a2s","info","b2der","prv","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","oncomplete","algorithm","publicExponent","encrypt","usages","der2b","jwk2pkcs","tl","tagLength","AesGcmEncryptResult","ciphertext","_digest","digest","btoa","atob","SyntaxError","HMAC","RSASSA-PKCS1-v1_5","RSAES-PKCS1-v1_5","","RSA-OAEP","AES-KW","128","192","256","AES-GCM","AES-CBC","escape","extractable","rv","xlen","oid","use","u"],"mappings":"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,IAAA,4BAAAotB,EAAA,sBAAA2K,EAAA,gBAAA5M,EAAA,+BAAA5P;;;;;;;;;;;;;;;AA0EA,IAwGAyc,GAAA,CACA,4BACA,aACA,aACA,eACA,sBACA,cACA,eACA,cACA,eACA,oBACA,4BACA,kBACA,aACA,iBACA,UACA,iBACA,UACA,SACA,QACA,WACA,WACA,WACA,mBACA,UACA,qBACA,SACA,gBACA,oBACA,wBACA,0BAOAC,GAAA,gFA6DAC,GAAA,SACAC,GAAA,iEACAC,GAAA,4BACAC,GAAA,CACA,6EACA,oBAEAC,GAAA,yFACAC,GAAA,mCACAC,GAAA,oBACAC,GApNA,CACA,QACA,kBACA,eACA,qBACA,WACA,cACA,OACA,SACA,UACA,iBACA,SACA,mBACA,oBACA,iBACA,YACA,QACA,QACA,cACA,aACA,WACA,OACA,UACA,YACA,WACA,YACA,WACA,OACA,iBACA,UACA,QACA,QACA,QACA,UACA,WACA,oBACA,QACA,UACA,UACA,WACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,OACA,OACA,UACA,SACA,UACA,aACA,eACA,cACA,YACA,aACA,WACA,mBACA,gBACA,UACA,SAoHAnkC,OAbA,wEACA,qCACA,WAvGA,CACA,0FACA,sFACA,oFACA,6BA8GA0jC,GA5EA,CACA,kFACA,iFACA,yEAGA,CACA,WACA,cACA,cACA,iBACA,mBACA,kBACA,eACA,aACA,gBACA,gBACA,iBACA,kBACA,cACA,eACA,iBACA,cACA,OACA,UACA,YACA,iBACA,YACA,cACA,WACA,UACA,aACA,eACA,UACA,0BACA,aACA,OACA,gBACA,6BACA,kBACA,qBACA,eACA,gBACA,iBACA,eACA,sBACA,iBACA,uBACA,kBACA,g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","file":"app/polyfills.33e2182b1c2757a22f9b.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 678);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var core = module.exports = { version: '2.6.2' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = false;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = {};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","exports.f = {}.propertyIsEnumerable;\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\n\n// eslint-disable-next-line no-empty\nvar SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })();\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? 0xffffffff : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","/* tslint:disable */\nimport 'core-js/es6';\nimport 'core-js/es7/reflect';\nrequire('zone.js/dist/zone');\n\n// IE11 fix, ref: https://github.com/angular/angular/issues/24769\nif (!Element.prototype.matches && (Element.prototype as any).msMatchesSelector) {\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector;\n}\n\nif (process.env.ENV === 'production') {\n // Production\n} else {\n // Development and test\n Error['stackTraceLimit'] = Infinity;\n require('zone.js/dist/long-stack-trace-zone');\n}\n\n// Other polyfills\nrequire('whatwg-fetch');\nrequire('webcrypto-shim');\n/* tslint:enable */\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var e_1, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var e_2, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n value.then(function (value) {\n resolvedValues[curValueIndex] = value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, reject);\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n _loop_2(value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n if (NativePromise) {\n patchThen(NativePromise);\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('fetch', function (global, Zone, api) {\n var fetch = global['fetch'];\n var ZoneAwarePromise = global.Promise;\n var symbolThenPatched = api.symbol('thenPatched');\n var fetchTaskScheduling = api.symbol('fetchTaskScheduling');\n var fetchTaskAborting = api.symbol('fetchTaskAborting');\n if (typeof fetch !== 'function') {\n return;\n }\n var OriginalAbortController = global['AbortController'];\n var supportAbort = typeof OriginalAbortController === 'function';\n var abortNative = null;\n if (supportAbort) {\n global['AbortController'] = function () {\n var abortController = new OriginalAbortController();\n var signal = abortController.signal;\n signal.abortController = abortController;\n return abortController;\n };\n abortNative = api.patchMethod(OriginalAbortController.prototype, 'abort', function (delegate) { return function (self, args) {\n if (self.task) {\n return self.task.zone.cancelTask(self.task);\n }\n return delegate.apply(self, args);\n }; });\n }\n var placeholder = function () { };\n global['fetch'] = function () {\n var _this = this;\n var args = Array.prototype.slice.call(arguments);\n var options = args.length > 1 ? args[1] : null;\n var signal = options && options.signal;\n return new Promise(function (res, rej) {\n var task = Zone.current.scheduleMacroTask('fetch', placeholder, args, function () {\n var fetchPromise;\n var zone = Zone.current;\n try {\n zone[fetchTaskScheduling] = true;\n fetchPromise = fetch.apply(_this, args);\n }\n catch (error) {\n rej(error);\n return;\n }\n finally {\n zone[fetchTaskScheduling] = false;\n }\n if (!(fetchPromise instanceof ZoneAwarePromise)) {\n var ctor = fetchPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n api.patchThen(ctor);\n }\n }\n fetchPromise.then(function (resource) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n res(resource);\n }, function (error) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n rej(error);\n });\n }, function () {\n if (!supportAbort) {\n rej('No AbortController supported, can not cancel fetch');\n return;\n }\n if (signal && signal.abortController && !signal.aborted &&\n typeof signal.abortController.abort === 'function' && abortNative) {\n try {\n Zone.current[fetchTaskAborting] = true;\n abortNative.call(signal.abortController);\n }\n finally {\n Zone.current[fetchTaskAborting] = false;\n }\n }\n else {\n rej('cancel fetch need a AbortController.signal');\n }\n });\n if (signal && signal.abortController) {\n signal.abortController.task = task;\n }\n });\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () {\n return src[symbol];\n },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nvar shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget_1 = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n patchFilteredProperties(XMLHttpRequestEventTarget_1 && XMLHttpRequestEventTarget_1.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake');\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = wrapWithCurrentZone(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n attachOriginToPatched(target[method], nativeDelegate);\n}\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n patchCallbacks(document, 'Document', 'registerElement', callbacks);\n}\nfunction patchCustomElements(_global) {\n if ((!isBrowser && !isMix) || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n patchCallbacks(_global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n});\nZone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n});\nZone.__load_patch('customElements', function (global, Zone, api) {\n registerElementPatch(global);\n patchCustomElements(global);\n});\nZone.__load_patch('canvas', function (global) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target['__zone_symbol__loadfalse'];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target['__zone_symbol__loadfalse'];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./src/app/polyfills.ts","webpack:///./node_modules/core-js/es6/index.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/webcrypto-shim/webcrypto-shim.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","isObject","it","TypeError","window","Math","self","__g","exec","e","store","uid","USE_SYMBOL","toInteger","min","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","a","defined","fails","quot","createHTML","string","tag","attribute","String","p1","replace","NAME","test","toLowerCase","split","length","has","SRC","$toString","TPL","inspectSource","val","safe","isFunction","join","this","IObject","version","__e","createDesc","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","pIE","toIObject","gOPD","getOwnPropertyDescriptor","method","arg","aFunction","fn","that","b","apply","arguments","ceil","floor","isNaN","toString","slice","KEY","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","res","index","result","push","valueOf","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","keys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","set","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","configurable","writable","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","data","v","round","setter","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","from","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","_","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","bitmap","px","random","$keys","max","hiddenKeys","getOwnPropertyNames","cof","ARG","T","tryGet","callee","UNSCOPABLES","DESCRIPTORS","SPECIES","Constructor","forbiddenField","BREAK","RETURN","iterable","def","stat","_t","g","propertyIsEnumerable","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","ignoreCase","multiline","unicode","sticky","D","copyright","getOwnPropertySymbols","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","Typed","TypedArrayConstructors","IS_INCLUDES","el","fromIndex","isArray","TO_STRING","pos","charCodeAt","charAt","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","MATCH","isRegExp","is","createElement","documentElement","check","setPrototypeOf","buggy","__proto__","sign","x","$expm1","expm1","descriptor","searchString","endPos","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","lastIndex","reCopy","match","at","PROTOTYPE","WRONG_INDEX","Infinity","BaseBuffer","abs","pow","log","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","_b","pack","conversion","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","getKeys","gOPS","$assign","assign","A","K","k","getSymbols","isEnum","args","un","count","$defineProperty","addToUnscopables","iterated","_i","_k","Arguments","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","navigator","userAgent","wksExt","$Symbol","names","defineProperties","windowNames","getWindowNames","y","factories","partArgs","bound","construct","$parseInt","parseInt","$trim","ws","hex","radix","$parseFloat","parseFloat","msg","isFinite","log1p","ret","original","memo","isRight","to","inc","forced","flags","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","standalone","then","toggle","node","createTextNode","observe","characterData","task","strong","entry","getEntry","$iterDefine","SIZE","_f","_l","delete","prev","add","InternalMap","each","weak","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","$has","UncaughtFrozenStore","findUncaughtFrozen","splice","number","Reflect","ownKeys","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","newPromiseCapability","promiseCapability","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","symbols","$getPrototypeOf","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","aNumberValue","repeat","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","point","codePointAt","context","$endsWith","endsWith","endPosition","search","$startsWith","startsWith","color","size","url","Date","getTime","toJSON","toISOString","pv","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","hint","createProperty","upTo","cloned","$sort","$forEach","STRICT","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","define","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","capture","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","all","remaining","$index","alreadyCalled","race","$isView","isView","fin","viewS","viewT","init","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","ordinaryGetMetadata","getMetadata","Set","ordinaryOwnMetadataKeys","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","Element","matches","msMatchesSelector","performance","mark","performanceMeasure","label","checkDuplicate","__symbol__","Error","nativeMicroTaskQueuePromise","Zone","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","zone","current","_currentZoneFrame","_currentTask","__load_patch","perfName","_api","getZoneWith","fork","callback","_callback","intercept","runGuarded","applyThis","applyArgs","handleError","runTask","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","DELEGATE_ZS","onHasTask","delegate","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","returnTask","scheduleFn","isEmpty","counts","change","options","_state","useG","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","handleId","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeThen","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","setNativePromise","NativePromise","__values","api","ObjectGetOwnPropertyDescriptor","ObjectDefineProperty","_uncaughtPromiseErrors","creationTrace","rejection","message","stack","_loop_1","uncaughtPromiseError","shift","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","forwardResolution","forwardRejection","ZoneAwarePromise","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","resolvePromise","once","wasCalled","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","clearRejectedNoCatch","trace","currentTask","scheduleResolveOrReject","obj","className","readableObjectToString","error_1","REJECTION_HANDLED_HANDLER","chainPromise","promiseState","parentPromiseValue","isFinallyPromise","e_1","rej","onResolve","onReject","values_1","values_1_1","e_1_1","return","e_2","unresolvedCount","valueIndex","resolvedValues","_loop_2","this_1","curValueIndex","values_2","values_2_1","e_2_1","finally","onFinally","ZONE_AWARE_PROMISE","NewNativePromise","symbolThenPatched","Ctor","prop","originalThen","_this","fetch","fetchTaskScheduling","fetchTaskAborting","OriginalAbortController","supportAbort","abortNative","abortController","signal","placeholder","fetchPromise","ctor","resource","aborted","abort","ObjectGetPrototypeOf","ObjectCreate","ArraySlice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","wrapWithCurrentZone","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","NULL_ON_PROP_VALUE","isPropertyWritable","isWebWorker","WorkerGlobalScope","isBrowser","isMix","zoneSymbolEventNames","wrapFn","eventNameSymbol","errorEvent","filename","lineno","colno","preventDefault","patchProperty","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","substr","newValue","removeEventListener","removeAttribute","onProperties","originalInstanceKey","patchClass","OriginalClass","attachOriginToPatched","shouldCopySymbolProperties","patchFn","dest","delegateName","patchDelegate_1","patched","isDetectedIEOrEdge","ieOrEdge","isIE","ua","isIEOrEdge","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","apis","patchOptions","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","delegate_1","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","nativePrependEventListener","eventNameToString","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","checkIsPassive","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","allRemoved","compare","diff","typeOfDelegate","blackListedEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","isHandleEvent","falseEventName","trueEventName","symbolCapture","constructorName","targetSource","unshift","existingTask","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","evtName","foundTasks","taskSymbol","patchTimer","setName","cancelName","nameSuffix","setNative","clearNative","tasksByHandleId","delay","handle","ref","unref","_defineProperty","_getOwnPropertyDescriptor","unconfigurablesKey","isUnconfigurable","rewriteDescriptor","isFrozen","_tryDefineProperty","originalConfigurableFlag","descJson","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","patchFilteredProperties","ignoreProperties","tip","ip","targetIgnoreProperties","op","filterProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","HTMLElement","XMLHttpRequestPrototype","XMLHttpRequest","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","canPatchViaPropertyDescriptor","ignoreErrorProperties","Document","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequestEventTarget_1","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","onproperty","elt","unboundKey","parentElement","patchViaCapturingAllTheEvents","WS","EventTarget","proxySocket","proxySocketProto","socket","onmessageDesc","propName","propertySymbol","globalWebSocket","patchEvent","Event","patchEventPrototype","patchCallbacks","targetName","callbacks","nativeDelegate","opts","blockingMethods","SYMBOL_BLACK_LISTED_EVENTS","WTF_ISSUE_555","NO_EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","isDisableIECheck","isEnableCrossContextCheck","BROWSER_TOOLS","targets","apiTypes","testString","eventTargetPatch","XMLHttpRequestEventTarget","props","customElements","patchCustomElements","HTMLCanvasElement","toBlob","funcName","metaCreator","cbIdx","patchMacroTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","XHR_SCHEDULED","XHR_ERROR_BEFORE_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","loadTasks","oriInvoke_1","storedTask","XHR_TASK","sendNative","placeholderCallback","openNative","XHR_SYNC","XHR_URL","patchXHR","geolocation","fnNames","name_1","patchPrototype","findPromiseRejectionHandler","evt","factory","__webpack_exports__","Headers","Request","Response","DOMException","support","searchParams","blob","Blob","formData","arrayBuffer","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","headers","append","header","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","buf","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","decode","json","parse","oldValue","thisArg","input","upcased","credentials","toUpperCase","referrer","form","decodeURIComponent","bodyInit","status","statusText","clone","response","redirectStatuses","redirect","location","request","xhr","abortXhr","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","send","polyfill","__WEBPACK_AMD_DEFINE_RESULT__","_crypto","crypto","msCrypto","_subtle","subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isWebkit","oid2str","KoZIhvcNAQEB","str2oid","1.2.840.113549.1.1.1","_fn","ka","kx","ku","jwk","alg","b2jwk","jwkAlg","key_ops","kty","isPrvKeyUse","isPubKeyUse","ext","s2b","unescape","encodeURIComponent","_key","hash","SHA-1","SHA-256","SHA-384","SHA-512","importKey","getRandomValues","modulusLength","generateKey","exportKey","publicKey","privateKey","a2s","info","b2der","prv","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","oncomplete","algorithm","publicExponent","encrypt","usages","der2b","jwk2pkcs","tl","tagLength","AesGcmEncryptResult","ciphertext","_digest","digest","btoa","atob","SyntaxError","HMAC","RSASSA-PKCS1-v1_5","RSAES-PKCS1-v1_5","","RSA-OAEP","AES-KW","128","192","256","AES-GCM","AES-CBC","escape","extractable","rv","xlen","oid","use","u"],"mappings":"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,IAAA,4BAAAotB,EAAA,sBAAA2K,EAAA,gBAAA5M,EAAA,+BAAA5P;;;;;;;;;;;;;;;AA0EA,IAwGAyc,GAAA,CACA,4BACA,aACA,aACA,eACA,sBACA,cACA,eACA,cACA,eACA,oBACA,4BACA,kBACA,aACA,iBACA,UACA,iBACA,UACA,SACA,QACA,WACA,WACA,WACA,mBACA,UACA,qBACA,SACA,gBACA,oBACA,wBACA,0BAOAC,GAAA,gFA6DAC,GAAA,SACAC,GAAA,iEACAC,GAAA,4BACAC,GAAA,CACA,6EACA,oBAEAC,GAAA,yFACAC,GAAA,mCACAC,GAAA,oBACAC,GApNA,CACA,QACA,kBACA,eACA,qBACA,WACA,cACA,OACA,SACA,UACA,iBACA,SACA,mBACA,oBACA,iBACA,YACA,QACA,QACA,cACA,aACA,WACA,OACA,UACA,YACA,WACA,YACA,WACA,OACA,iBACA,UACA,QACA,QACA,QACA,UACA,WACA,oBACA,QACA,UACA,UACA,WACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,OACA,OACA,UACA,SACA,UACA,aACA,eACA,cACA,YACA,aACA,WACA,mBACA,gBACA,UACA,SAoHAnkC,OAbA,wEACA,qCACA,WAvGA,CACA,0FACA,sFACA,oFACA,6BA8GA0jC,GA5EA,CACA,kFACA,iFACA,yEAGA,CACA,WACA,cACA,cACA,iBACA,mBACA,kBACA,eACA,aACA,gBACA,gBACA,iBACA,kBACA,cACA,eACA,iBACA,cACA,OACA,UACA,YACA,iBACA,YACA,cACA,WACA,UACA,aACA,eACA,UACA,0BACA,aACA,OACA,gBACA,6BACA,kBACA,qBACA,eACA,gBACA,iBACA,eACA,sBACA,iBACA,uBACA,kBACA,g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","file":"app/polyfills.ada879e2fa1c013188d7.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 680);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var core = module.exports = { version: '2.6.2' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = false;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = {};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","exports.f = {}.propertyIsEnumerable;\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\n\n// eslint-disable-next-line no-empty\nvar SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })();\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? 0xffffffff : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","/* tslint:disable */\nimport 'core-js/es6';\nimport 'core-js/es7/reflect';\nrequire('zone.js/dist/zone');\n\n// IE11 fix, ref: https://github.com/angular/angular/issues/24769\nif (!Element.prototype.matches && (Element.prototype as any).msMatchesSelector) {\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector;\n}\n\nif (process.env.ENV === 'production') {\n // Production\n} else {\n // Development and test\n Error['stackTraceLimit'] = Infinity;\n require('zone.js/dist/long-stack-trace-zone');\n}\n\n// Other polyfills\nrequire('whatwg-fetch');\nrequire('webcrypto-shim');\n/* tslint:enable */\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var e_1, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var e_2, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n value.then(function (value) {\n resolvedValues[curValueIndex] = value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, reject);\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n _loop_2(value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n if (NativePromise) {\n patchThen(NativePromise);\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('fetch', function (global, Zone, api) {\n var fetch = global['fetch'];\n var ZoneAwarePromise = global.Promise;\n var symbolThenPatched = api.symbol('thenPatched');\n var fetchTaskScheduling = api.symbol('fetchTaskScheduling');\n var fetchTaskAborting = api.symbol('fetchTaskAborting');\n if (typeof fetch !== 'function') {\n return;\n }\n var OriginalAbortController = global['AbortController'];\n var supportAbort = typeof OriginalAbortController === 'function';\n var abortNative = null;\n if (supportAbort) {\n global['AbortController'] = function () {\n var abortController = new OriginalAbortController();\n var signal = abortController.signal;\n signal.abortController = abortController;\n return abortController;\n };\n abortNative = api.patchMethod(OriginalAbortController.prototype, 'abort', function (delegate) { return function (self, args) {\n if (self.task) {\n return self.task.zone.cancelTask(self.task);\n }\n return delegate.apply(self, args);\n }; });\n }\n var placeholder = function () { };\n global['fetch'] = function () {\n var _this = this;\n var args = Array.prototype.slice.call(arguments);\n var options = args.length > 1 ? args[1] : null;\n var signal = options && options.signal;\n return new Promise(function (res, rej) {\n var task = Zone.current.scheduleMacroTask('fetch', placeholder, args, function () {\n var fetchPromise;\n var zone = Zone.current;\n try {\n zone[fetchTaskScheduling] = true;\n fetchPromise = fetch.apply(_this, args);\n }\n catch (error) {\n rej(error);\n return;\n }\n finally {\n zone[fetchTaskScheduling] = false;\n }\n if (!(fetchPromise instanceof ZoneAwarePromise)) {\n var ctor = fetchPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n api.patchThen(ctor);\n }\n }\n fetchPromise.then(function (resource) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n res(resource);\n }, function (error) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n rej(error);\n });\n }, function () {\n if (!supportAbort) {\n rej('No AbortController supported, can not cancel fetch');\n return;\n }\n if (signal && signal.abortController && !signal.aborted &&\n typeof signal.abortController.abort === 'function' && abortNative) {\n try {\n Zone.current[fetchTaskAborting] = true;\n abortNative.call(signal.abortController);\n }\n finally {\n Zone.current[fetchTaskAborting] = false;\n }\n }\n else {\n rej('cancel fetch need a AbortController.signal');\n }\n });\n if (signal && signal.abortController) {\n signal.abortController.task = task;\n }\n });\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () {\n return src[symbol];\n },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nvar shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget_1 = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n patchFilteredProperties(XMLHttpRequestEventTarget_1 && XMLHttpRequestEventTarget_1.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake');\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = wrapWithCurrentZone(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n attachOriginToPatched(target[method], nativeDelegate);\n}\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n patchCallbacks(document, 'Document', 'registerElement', callbacks);\n}\nfunction patchCustomElements(_global) {\n if ((!isBrowser && !isMix) || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n patchCallbacks(_global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n});\nZone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n});\nZone.__load_patch('customElements', function (global, Zone, api) {\n registerElementPatch(global);\n patchCustomElements(global);\n});\nZone.__load_patch('canvas', function (global) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target['__zone_symbol__loadfalse'];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target['__zone_symbol__loadfalse'];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/vendor.33e2182b1c2757a22f9b.js b/app/vendor.ada879e2fa1c013188d7.js similarity index 65% rename from app/vendor.33e2182b1c2757a22f9b.js rename to app/vendor.ada879e2fa1c013188d7.js index ccd70e6a..8612d429 100644 --- a/app/vendor.33e2182b1c2757a22f9b.js +++ b/app/vendor.ada879e2fa1c013188d7.js @@ -1,4 +1,4 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],[function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"ɵangular_packages_core_core_s",function(){return Dm}),n.d(t,"ɵangular_packages_core_core_p",function(){return zm}),n.d(t,"ɵangular_packages_core_core_q",function(){return Am}),n.d(t,"ɵangular_packages_core_core_r",function(){return Im}),n.d(t,"ɵangular_packages_core_core_g",function(){return Op}),n.d(t,"ɵangular_packages_core_core_n",function(){return cm}),n.d(t,"ɵangular_packages_core_core_o",function(){return gm}),n.d(t,"ɵangular_packages_core_core_m",function(){return Yf}),n.d(t,"ɵangular_packages_core_core_l",function(){return $f}),n.d(t,"ɵangular_packages_core_core_c",function(){return Ht}),n.d(t,"ɵangular_packages_core_core_d",function(){return jp}),n.d(t,"ɵangular_packages_core_core_e",function(){return dp}),n.d(t,"ɵangular_packages_core_core_f",function(){return yp}),n.d(t,"ɵangular_packages_core_core_k",function(){return Id}),n.d(t,"ɵangular_packages_core_core_t",function(){return rf}),n.d(t,"ɵangular_packages_core_core_v",function(){return Xp}),n.d(t,"ɵangular_packages_core_core_u",function(){return Jp}),n.d(t,"ɵangular_packages_core_core_y",function(){return nf}),n.d(t,"ɵangular_packages_core_core_w",function(){return ef}),n.d(t,"ɵangular_packages_core_core_x",function(){return tf}),n.d(t,"ɵangular_packages_core_core_bb",function(){return Kn}),n.d(t,"ɵangular_packages_core_core_bi",function(){return p}),n.d(t,"ɵangular_packages_core_core_bc",function(){return fn}),n.d(t,"ɵangular_packages_core_core_bd",function(){return gn}),n.d(t,"ɵangular_packages_core_core_be",function(){return Nn}),n.d(t,"ɵangular_packages_core_core_bh",function(){return ja}),n.d(t,"ɵangular_packages_core_core_bl",function(){return ct}),n.d(t,"ɵangular_packages_core_core_h",function(){return Ml}),n.d(t,"ɵangular_packages_core_core_i",function(){return ql}),n.d(t,"ɵangular_packages_core_core_j",function(){return Bl}),n.d(t,"ɵangular_packages_core_core_a",function(){return O}),n.d(t,"ɵangular_packages_core_core_b",function(){return z}),n.d(t,"ɵangular_packages_core_core_bj",function(){return c}),n.d(t,"ɵangular_packages_core_core_z",function(){return Oy}),n.d(t,"ɵangular_packages_core_core_ba",function(){return Hm}),n.d(t,"createPlatform",function(){return Cf}),n.d(t,"assertPlatform",function(){return Tf}),n.d(t,"destroyPlatform",function(){return Of}),n.d(t,"getPlatform",function(){return zf}),n.d(t,"PlatformRef",function(){return Af}),n.d(t,"ApplicationRef",function(){return Df}),n.d(t,"createPlatformFactory",function(){return Sf}),n.d(t,"NgProbeToken",function(){return Ef}),n.d(t,"enableProdMode",function(){return hc}),n.d(t,"isDevMode",function(){return dc}),n.d(t,"APP_ID",function(){return Tp}),n.d(t,"PACKAGE_ROOT_URL",function(){return Rp}),n.d(t,"PLATFORM_INITIALIZER",function(){return Ip}),n.d(t,"PLATFORM_ID",function(){return Dp}),n.d(t,"APP_BOOTSTRAP_LISTENER",function(){return Np}),n.d(t,"APP_INITIALIZER",function(){return Cp}),n.d(t,"ApplicationInitStatus",function(){return Sp}),n.d(t,"DebugElement",function(){return lm}),n.d(t,"DebugNode",function(){return sm}),n.d(t,"asNativeElements",function(){return Zf}),n.d(t,"getDebugNode",function(){return im}),n.d(t,"Testability",function(){return yf}),n.d(t,"TestabilityRegistry",function(){return bf}),n.d(t,"setTestabilityGetter",function(){return vf}),n.d(t,"TRANSLATIONS",function(){return Tm}),n.d(t,"TRANSLATIONS_FORMAT",function(){return Om}),n.d(t,"LOCALE_ID",function(){return Sm}),n.d(t,"MissingTranslationStrategy",function(){return km}),n.d(t,"ApplicationModule",function(){return Nm}),n.d(t,"wtfCreateScope",function(){return of}),n.d(t,"wtfLeave",function(){return sf}),n.d(t,"wtfStartTimeRange",function(){return lf}),n.d(t,"wtfEndTimeRange",function(){return cf}),n.d(t,"Type",function(){return Pd}),n.d(t,"EventEmitter",function(){return Hu}),n.d(t,"ErrorHandler",function(){return rp}),n.d(t,"Sanitizer",function(){return Xl}),n.d(t,"SecurityContext",function(){return $l}),n.d(t,"ANALYZE_FOR_ENTRY_COMPONENTS",function(){return D}),n.d(t,"Attribute",function(){return N}),n.d(t,"ContentChild",function(){return M}),n.d(t,"ContentChildren",function(){return P}),n.d(t,"Query",function(){return R}),n.d(t,"ViewChild",function(){return B}),n.d(t,"ViewChildren",function(){return q}),n.d(t,"Component",function(){return _h}),n.d(t,"Directive",function(){return wh}),n.d(t,"HostBinding",function(){return Sh}),n.d(t,"HostListener",function(){return Th}),n.d(t,"Input",function(){return Eh}),n.d(t,"Output",function(){return Ch}),n.d(t,"Pipe",function(){return jh}),n.d(t,"CUSTOM_ELEMENTS_SCHEMA",function(){return qh}),n.d(t,"NO_ERRORS_SCHEMA",function(){return Bh}),n.d(t,"NgModule",function(){return Lh}),n.d(t,"ViewEncapsulation",function(){return ee}),n.d(t,"Version",function(){return ec}),n.d(t,"VERSION",function(){return tc}),n.d(t,"defineInjectable",function(){return v}),n.d(t,"defineInjector",function(){return k}),n.d(t,"forwardRef",function(){return Z}),n.d(t,"resolveForwardRef",function(){return J}),n.d(t,"Injectable",function(){return Qh}),n.d(t,"INJECTOR",function(){return Ps}),n.d(t,"Injector",function(){return qs}),n.d(t,"inject",function(){return Kt}),n.d(t,"ɵinject",function(){return Kt}),n.d(t,"InjectFlags",function(){return Dt}),n.d(t,"ReflectiveInjector",function(){return _p}),n.d(t,"createInjector",function(){return sl}),n.d(t,"ResolvedReflectiveFactory",function(){return fp}),n.d(t,"ReflectiveKey",function(){return lp}),n.d(t,"InjectionToken",function(){return j}),n.d(t,"Inject",function(){return Nt}),n.d(t,"Optional",function(){return Rt}),n.d(t,"Self",function(){return Pt}),n.d(t,"SkipSelf",function(){return Mt}),n.d(t,"Host",function(){return qt}),n.d(t,"NgZone",function(){return uf}),n.d(t,"ɵNoopNgZone",function(){return gf}),n.d(t,"RenderComponentType",function(){return Hl}),n.d(t,"Renderer",function(){return Wl}),n.d(t,"Renderer2",function(){return Yl}),n.d(t,"RendererFactory2",function(){return Ql}),n.d(t,"RendererStyleFlags2",function(){return Ll}),n.d(t,"RootRenderer",function(){return Gl}),n.d(t,"COMPILER_OPTIONS",function(){return Yp}),n.d(t,"Compiler",function(){return $p}),n.d(t,"CompilerFactory",function(){return Zp}),n.d(t,"ModuleWithComponentFactories",function(){return Mp}),n.d(t,"ComponentFactory",function(){return jl}),n.d(t,"ɵComponentFactory",function(){return jl}),n.d(t,"ComponentRef",function(){return _l}),n.d(t,"ComponentFactoryResolver",function(){return zl}),n.d(t,"ElementRef",function(){return Fl}),n.d(t,"NgModuleFactory",function(){return Nl}),n.d(t,"NgModuleRef",function(){return Dl}),n.d(t,"NgModuleFactoryLoader",function(){return Td}),n.d(t,"getModuleFactory",function(){return Nd}),n.d(t,"QueryList",function(){return Rf}),n.d(t,"SystemJsNgModuleLoader",function(){return qf}),n.d(t,"SystemJsNgModuleLoaderConfig",function(){return Pf}),n.d(t,"TemplateRef",function(){return Ku}),n.d(t,"ViewContainerRef",function(){return Lf}),n.d(t,"EmbeddedViewRef",function(){return Gf}),n.d(t,"ViewRef",function(){return Wf}),n.d(t,"ChangeDetectionStrategy",function(){return A}),n.d(t,"ChangeDetectorRef",function(){return Vf}),n.d(t,"DefaultIterableDiffer",function(){return dm}),n.d(t,"IterableDiffers",function(){return vm}),n.d(t,"KeyValueDiffers",function(){return wm}),n.d(t,"SimpleChange",function(){return Or}),n.d(t,"WrappedValue",function(){return Tr}),n.d(t,"platformCore",function(){return Cm}),n.d(t,"ɵALLOW_MULTIPLE_PLATFORMS",function(){return xf}),n.d(t,"ɵAPP_ID_RANDOM_PROVIDER",function(){return zp}),n.d(t,"ɵdefaultIterableDiffers",function(){return xm}),n.d(t,"ɵdefaultKeyValueDiffers",function(){return Em}),n.d(t,"ɵdevModeEqual",function(){return Sr}),n.d(t,"ɵisListLikeIterable",function(){return zr}),n.d(t,"ɵChangeDetectorStatus",function(){return I}),n.d(t,"ɵisDefaultChangeDetectionStrategy",function(){return L}),n.d(t,"ɵConsole",function(){return Pp}),n.d(t,"ɵgetInjectableDef",function(){return w}),n.d(t,"ɵsetCurrentInjector",function(){return Ut}),n.d(t,"ɵAPP_ROOT",function(){return tl}),n.d(t,"ɵivyEnabled",function(){return Pm}),n.d(t,"ɵCodegenComponentFactoryResolver",function(){return Al}),n.d(t,"ɵresolveComponentResources",function(){return X}),n.d(t,"ɵReflectionCapabilities",function(){return Fd}),n.d(t,"ɵRenderDebugInfo",function(){return Kl}),n.d(t,"ɵ_sanitizeHtml",function(){return Pc}),n.d(t,"ɵ_sanitizeStyle",function(){return wd}),n.d(t,"ɵ_sanitizeUrl",function(){return gc}),n.d(t,"ɵglobal",function(){return V}),n.d(t,"ɵlooseIdentical",function(){return Q}),n.d(t,"ɵstringify",function(){return $}),n.d(t,"ɵmakeDecorator",function(){return S}),n.d(t,"ɵisObservable",function(){return Ep}),n.d(t,"ɵisPromise",function(){return xp}),n.d(t,"ɵclearOverrides",function(){return dv}),n.d(t,"ɵinitServicesIfNeeded",function(){return Cb}),n.d(t,"ɵoverrideComponentView",function(){return uv}),n.d(t,"ɵoverrideProvider",function(){return cv}),n.d(t,"ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR",function(){return My}),n.d(t,"ɵdefineBase",function(){return pe}),n.d(t,"ɵdefineComponent",function(){return le}),n.d(t,"ɵdefineDirective",function(){return fe}),n.d(t,"ɵdefinePipe",function(){return me}),n.d(t,"ɵdefineNgModule",function(){return de}),n.d(t,"ɵdetectChanges",function(){return Lo}),n.d(t,"ɵrenderComponent",function(){return ks}),n.d(t,"ɵRender3ComponentFactory",function(){return sc}),n.d(t,"ɵRender3ComponentRef",function(){return lc}),n.d(t,"ɵdirectiveInject",function(){return os}),n.d(t,"ɵinjectAttribute",function(){return ss}),n.d(t,"ɵgetFactoryOf",function(){return er}),n.d(t,"ɵgetInheritedFactory",function(){return tr}),n.d(t,"ɵtemplateRefExtractor",function(){return ud}),n.d(t,"ɵProvidersFeature",function(){return wl}),n.d(t,"ɵInheritDefinitionFeature",function(){return Ss}),n.d(t,"ɵNgOnChangesFeature",function(){return zs}),n.d(t,"ɵLifecycleHooksFeature",function(){return xs}),n.d(t,"ɵRender3NgModuleRef",function(){return ju}),n.d(t,"ɵmarkDirty",function(){return Ho}),n.d(t,"ɵNgModuleFactory",function(){return xu}),n.d(t,"ɵNO_CHANGE",function(){return Dr}),n.d(t,"ɵcontainer",function(){return Co}),n.d(t,"ɵnextContext",function(){return Di}),n.d(t,"ɵelementStart",function(){return Vi}),n.d(t,"ɵnamespaceHTML",function(){return Bi}),n.d(t,"ɵnamespaceMathML",function(){return qi}),n.d(t,"ɵnamespaceSVG",function(){return Mi}),n.d(t,"ɵelement",function(){return Li}),n.d(t,"ɵlistener",function(){return Zi}),n.d(t,"ɵtext",function(){return fo}),n.d(t,"ɵembeddedViewStart",function(){return zo}),n.d(t,"ɵquery",function(){return ld}),n.d(t,"ɵregisterContentQuery",function(){return ls}),n.d(t,"ɵprojection",function(){return Ro}),n.d(t,"ɵbind",function(){return Ko}),n.d(t,"ɵinterpolation1",function(){return Qo}),n.d(t,"ɵinterpolation2",function(){return $o}),n.d(t,"ɵinterpolation3",function(){return Yo}),n.d(t,"ɵinterpolation4",function(){return Zo}),n.d(t,"ɵinterpolation5",function(){return Jo}),n.d(t,"ɵinterpolation6",function(){return Xo}),n.d(t,"ɵinterpolation7",function(){return es}),n.d(t,"ɵinterpolation8",function(){return ts}),n.d(t,"ɵinterpolationV",function(){return Go}),n.d(t,"ɵpipeBind1",function(){return Mu}),n.d(t,"ɵpipeBind2",function(){return qu}),n.d(t,"ɵpipeBind3",function(){return Bu}),n.d(t,"ɵpipeBind4",function(){return Lu}),n.d(t,"ɵpipeBindV",function(){return Fu}),n.d(t,"ɵpureFunction0",function(){return Cu}),n.d(t,"ɵpureFunction1",function(){return Su}),n.d(t,"ɵpureFunction2",function(){return Tu}),n.d(t,"ɵpureFunction3",function(){return Ou}),n.d(t,"ɵpureFunction4",function(){return zu}),n.d(t,"ɵpureFunction5",function(){return Au}),n.d(t,"ɵpureFunction6",function(){return Iu}),n.d(t,"ɵpureFunction7",function(){return Du}),n.d(t,"ɵpureFunction8",function(){return Nu}),n.d(t,"ɵpureFunctionV",function(){return Ru}),n.d(t,"ɵgetCurrentView",function(){return ds}),n.d(t,"ɵgetHostElement",function(){return vr}),n.d(t,"ɵrestoreView",function(){return mn}),n.d(t,"ɵcontainerRefreshStart",function(){return To}),n.d(t,"ɵcontainerRefreshEnd",function(){return Oo}),n.d(t,"ɵqueryRefresh",function(){return cd}),n.d(t,"ɵloadQueryList",function(){return as}),n.d(t,"ɵelementEnd",function(){return Ji}),n.d(t,"ɵelementProperty",function(){return eo}),n.d(t,"ɵcomponentHostSyntheticProperty",function(){return to}),n.d(t,"ɵprojectionDef",function(){return Do}),n.d(t,"ɵreference",function(){return rs}),n.d(t,"ɵenableBindings",function(){return hn}),n.d(t,"ɵdisableBindings",function(){return pn}),n.d(t,"ɵallocHostVars",function(){return Wo}),n.d(t,"ɵelementAttribute",function(){return Xi}),n.d(t,"ɵelementContainerStart",function(){return Fi}),n.d(t,"ɵelementContainerEnd",function(){return Ui}),n.d(t,"ɵelementStyling",function(){return so}),n.d(t,"ɵelementHostAttrs",function(){return lo}),n.d(t,"ɵelementStylingMap",function(){return po}),n.d(t,"ɵelementStyleProp",function(){return uo}),n.d(t,"ɵelementStylingApply",function(){return co}),n.d(t,"ɵelementClassProp",function(){return ho}),n.d(t,"ɵtextBinding",function(){return mo}),n.d(t,"ɵtemplate",function(){return Eo}),n.d(t,"ɵembeddedViewEnd",function(){return Ao}),n.d(t,"ɵstore",function(){return ns}),n.d(t,"ɵload",function(){return is}),n.d(t,"ɵpipe",function(){return Pu}),n.d(t,"ɵwhenRendered",function(){return Es}),n.d(t,"ɵi18n",function(){return uu}),n.d(t,"ɵi18nAttributes",function(){return du}),n.d(t,"ɵi18nExp",function(){return mu}),n.d(t,"ɵi18nStart",function(){return au}),n.d(t,"ɵi18nEnd",function(){return su}),n.d(t,"ɵi18nApply",function(){return gu}),n.d(t,"ɵi18nPostprocess",function(){return ou}),n.d(t,"ɵsetClassMetadata",function(){return Eu}),n.d(t,"ɵcompileComponent",function(){return ph}),n.d(t,"ɵcompileDirective",function(){return fh}),n.d(t,"ɵcompileNgModule",function(){return Jd}),n.d(t,"ɵcompileNgModuleDefs",function(){return Xd}),n.d(t,"ɵpatchComponentDefWithScope",function(){return lh}),n.d(t,"ɵresetCompiledComponents",function(){return ih}),n.d(t,"ɵcompilePipe",function(){return kh}),n.d(t,"ɵsanitizeHtml",function(){return _d}),n.d(t,"ɵsanitizeStyle",function(){return jd}),n.d(t,"ɵsanitizeUrl",function(){return xd}),n.d(t,"ɵsanitizeResourceUrl",function(){return Ed}),n.d(t,"ɵbypassSanitizationTrustHtml",function(){return pd}),n.d(t,"ɵbypassSanitizationTrustStyle",function(){return fd}),n.d(t,"ɵbypassSanitizationTrustScript",function(){return md}),n.d(t,"ɵbypassSanitizationTrustUrl",function(){return gd}),n.d(t,"ɵbypassSanitizationTrustResourceUrl",function(){return yd}),n.d(t,"ɵgetLContext",function(){return nr}),n.d(t,"ɵbindPlayerFactory",function(){return _a}),n.d(t,"ɵaddPlayer",function(){return fs}),n.d(t,"ɵgetPlayers",function(){return ms}),n.d(t,"ɵcompileNgModuleFactory__POST_R3__",function(){return jf}),n.d(t,"ɵSWITCH_COMPILE_COMPONENT__POST_R3__",function(){return Oh}),n.d(t,"ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__",function(){return zh}),n.d(t,"ɵSWITCH_COMPILE_PIPE__POST_R3__",function(){return Ah}),n.d(t,"ɵSWITCH_COMPILE_NGMODULE__POST_R3__",function(){return Fh}),n.d(t,"ɵgetDebugNode__POST_R3__",function(){return am}),n.d(t,"ɵSWITCH_COMPILE_INJECTABLE__POST_R3__",function(){return $h}),n.d(t,"ɵSWITCH_IVY_ENABLED__POST_R3__",function(){return Rm}),n.d(t,"ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__",function(){return Hf}),n.d(t,"ɵCompiler_compileModuleSync__POST_R3__",function(){return Fp}),n.d(t,"ɵCompiler_compileModuleAsync__POST_R3__",function(){return Vp}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__",function(){return Kp}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__",function(){return Gp}),n.d(t,"ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__",function(){return Ul}),n.d(t,"ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__",function(){return Wu}),n.d(t,"ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__",function(){return Ff}),n.d(t,"ɵSWITCH_RENDERER2_FACTORY__POST_R3__",function(){return Zl}),n.d(t,"ɵgetModuleFactory__POST_R3__",function(){return Dd}),n.d(t,"ɵpublishGlobalUtil",function(){return vs}),n.d(t,"ɵpublishDefaultGlobalUtils",function(){return bs}),n.d(t,"ɵSWITCH_INJECTOR_FACTORY__POST_R3__",function(){return Bs}),n.d(t,"ɵregisterModuleFactory",function(){return zd}),n.d(t,"ɵEMPTY_ARRAY",function(){return Ig}),n.d(t,"ɵEMPTY_MAP",function(){return Dg}),n.d(t,"ɵand",function(){return Ng}),n.d(t,"ɵccf",function(){return ty}),n.d(t,"ɵcmf",function(){return hv}),n.d(t,"ɵcrt",function(){return tg}),n.d(t,"ɵdid",function(){return Cy}),n.d(t,"ɵeld",function(){return Rg}),n.d(t,"ɵelementEventFullName",function(){return hg}),n.d(t,"ɵgetComponentViewDefinitionFactory",function(){return ny}),n.d(t,"ɵinlineInterpolate",function(){return zg}),n.d(t,"ɵinterpolate",function(){return Og}),n.d(t,"ɵmod",function(){return Kg}),n.d(t,"ɵmpd",function(){return Hg}),n.d(t,"ɵncd",function(){return $y}),n.d(t,"ɵnov",function(){return py}),n.d(t,"ɵpid",function(){return Sy}),n.d(t,"ɵprd",function(){return Ty}),n.d(t,"ɵpad",function(){return Jy}),n.d(t,"ɵpod",function(){return Xy}),n.d(t,"ɵppd",function(){return Zy}),n.d(t,"ɵqud",function(){return Hy}),n.d(t,"ɵted",function(){return tb}),n.d(t,"ɵunv",function(){return Jm}),n.d(t,"ɵvid",function(){return ab});var r=n(1),a=n(49),i=n(123),o=n(32),s=n(1082),l=n(299); +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],[function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"ɵangular_packages_core_core_s",function(){return Dm}),n.d(t,"ɵangular_packages_core_core_p",function(){return zm}),n.d(t,"ɵangular_packages_core_core_q",function(){return Am}),n.d(t,"ɵangular_packages_core_core_r",function(){return Im}),n.d(t,"ɵangular_packages_core_core_g",function(){return Op}),n.d(t,"ɵangular_packages_core_core_n",function(){return cm}),n.d(t,"ɵangular_packages_core_core_o",function(){return gm}),n.d(t,"ɵangular_packages_core_core_m",function(){return Yf}),n.d(t,"ɵangular_packages_core_core_l",function(){return $f}),n.d(t,"ɵangular_packages_core_core_c",function(){return Ht}),n.d(t,"ɵangular_packages_core_core_d",function(){return jp}),n.d(t,"ɵangular_packages_core_core_e",function(){return dp}),n.d(t,"ɵangular_packages_core_core_f",function(){return yp}),n.d(t,"ɵangular_packages_core_core_k",function(){return Id}),n.d(t,"ɵangular_packages_core_core_t",function(){return rf}),n.d(t,"ɵangular_packages_core_core_v",function(){return Xp}),n.d(t,"ɵangular_packages_core_core_u",function(){return Jp}),n.d(t,"ɵangular_packages_core_core_y",function(){return nf}),n.d(t,"ɵangular_packages_core_core_w",function(){return ef}),n.d(t,"ɵangular_packages_core_core_x",function(){return tf}),n.d(t,"ɵangular_packages_core_core_bb",function(){return Kn}),n.d(t,"ɵangular_packages_core_core_bi",function(){return p}),n.d(t,"ɵangular_packages_core_core_bc",function(){return fn}),n.d(t,"ɵangular_packages_core_core_bd",function(){return gn}),n.d(t,"ɵangular_packages_core_core_be",function(){return Nn}),n.d(t,"ɵangular_packages_core_core_bh",function(){return ja}),n.d(t,"ɵangular_packages_core_core_bl",function(){return ct}),n.d(t,"ɵangular_packages_core_core_h",function(){return Ml}),n.d(t,"ɵangular_packages_core_core_i",function(){return ql}),n.d(t,"ɵangular_packages_core_core_j",function(){return Bl}),n.d(t,"ɵangular_packages_core_core_a",function(){return O}),n.d(t,"ɵangular_packages_core_core_b",function(){return z}),n.d(t,"ɵangular_packages_core_core_bj",function(){return c}),n.d(t,"ɵangular_packages_core_core_z",function(){return Oy}),n.d(t,"ɵangular_packages_core_core_ba",function(){return Hm}),n.d(t,"createPlatform",function(){return Cf}),n.d(t,"assertPlatform",function(){return Tf}),n.d(t,"destroyPlatform",function(){return Of}),n.d(t,"getPlatform",function(){return zf}),n.d(t,"PlatformRef",function(){return Af}),n.d(t,"ApplicationRef",function(){return Df}),n.d(t,"createPlatformFactory",function(){return Sf}),n.d(t,"NgProbeToken",function(){return Ef}),n.d(t,"enableProdMode",function(){return hc}),n.d(t,"isDevMode",function(){return dc}),n.d(t,"APP_ID",function(){return Tp}),n.d(t,"PACKAGE_ROOT_URL",function(){return Rp}),n.d(t,"PLATFORM_INITIALIZER",function(){return Ip}),n.d(t,"PLATFORM_ID",function(){return Dp}),n.d(t,"APP_BOOTSTRAP_LISTENER",function(){return Np}),n.d(t,"APP_INITIALIZER",function(){return Cp}),n.d(t,"ApplicationInitStatus",function(){return Sp}),n.d(t,"DebugElement",function(){return lm}),n.d(t,"DebugNode",function(){return sm}),n.d(t,"asNativeElements",function(){return Zf}),n.d(t,"getDebugNode",function(){return im}),n.d(t,"Testability",function(){return yf}),n.d(t,"TestabilityRegistry",function(){return bf}),n.d(t,"setTestabilityGetter",function(){return vf}),n.d(t,"TRANSLATIONS",function(){return Tm}),n.d(t,"TRANSLATIONS_FORMAT",function(){return Om}),n.d(t,"LOCALE_ID",function(){return Sm}),n.d(t,"MissingTranslationStrategy",function(){return km}),n.d(t,"ApplicationModule",function(){return Nm}),n.d(t,"wtfCreateScope",function(){return of}),n.d(t,"wtfLeave",function(){return sf}),n.d(t,"wtfStartTimeRange",function(){return lf}),n.d(t,"wtfEndTimeRange",function(){return cf}),n.d(t,"Type",function(){return Pd}),n.d(t,"EventEmitter",function(){return Hu}),n.d(t,"ErrorHandler",function(){return rp}),n.d(t,"Sanitizer",function(){return Xl}),n.d(t,"SecurityContext",function(){return $l}),n.d(t,"ANALYZE_FOR_ENTRY_COMPONENTS",function(){return D}),n.d(t,"Attribute",function(){return N}),n.d(t,"ContentChild",function(){return M}),n.d(t,"ContentChildren",function(){return P}),n.d(t,"Query",function(){return R}),n.d(t,"ViewChild",function(){return B}),n.d(t,"ViewChildren",function(){return q}),n.d(t,"Component",function(){return _h}),n.d(t,"Directive",function(){return wh}),n.d(t,"HostBinding",function(){return Sh}),n.d(t,"HostListener",function(){return Th}),n.d(t,"Input",function(){return Eh}),n.d(t,"Output",function(){return Ch}),n.d(t,"Pipe",function(){return jh}),n.d(t,"CUSTOM_ELEMENTS_SCHEMA",function(){return qh}),n.d(t,"NO_ERRORS_SCHEMA",function(){return Bh}),n.d(t,"NgModule",function(){return Lh}),n.d(t,"ViewEncapsulation",function(){return ee}),n.d(t,"Version",function(){return ec}),n.d(t,"VERSION",function(){return tc}),n.d(t,"defineInjectable",function(){return v}),n.d(t,"defineInjector",function(){return k}),n.d(t,"forwardRef",function(){return Z}),n.d(t,"resolveForwardRef",function(){return J}),n.d(t,"Injectable",function(){return Qh}),n.d(t,"INJECTOR",function(){return Ps}),n.d(t,"Injector",function(){return qs}),n.d(t,"inject",function(){return Kt}),n.d(t,"ɵinject",function(){return Kt}),n.d(t,"InjectFlags",function(){return Dt}),n.d(t,"ReflectiveInjector",function(){return _p}),n.d(t,"createInjector",function(){return sl}),n.d(t,"ResolvedReflectiveFactory",function(){return fp}),n.d(t,"ReflectiveKey",function(){return lp}),n.d(t,"InjectionToken",function(){return j}),n.d(t,"Inject",function(){return Nt}),n.d(t,"Optional",function(){return Rt}),n.d(t,"Self",function(){return Pt}),n.d(t,"SkipSelf",function(){return Mt}),n.d(t,"Host",function(){return qt}),n.d(t,"NgZone",function(){return uf}),n.d(t,"ɵNoopNgZone",function(){return gf}),n.d(t,"RenderComponentType",function(){return Hl}),n.d(t,"Renderer",function(){return Wl}),n.d(t,"Renderer2",function(){return Yl}),n.d(t,"RendererFactory2",function(){return Ql}),n.d(t,"RendererStyleFlags2",function(){return Ll}),n.d(t,"RootRenderer",function(){return Gl}),n.d(t,"COMPILER_OPTIONS",function(){return Yp}),n.d(t,"Compiler",function(){return $p}),n.d(t,"CompilerFactory",function(){return Zp}),n.d(t,"ModuleWithComponentFactories",function(){return Mp}),n.d(t,"ComponentFactory",function(){return jl}),n.d(t,"ɵComponentFactory",function(){return jl}),n.d(t,"ComponentRef",function(){return _l}),n.d(t,"ComponentFactoryResolver",function(){return zl}),n.d(t,"ElementRef",function(){return Fl}),n.d(t,"NgModuleFactory",function(){return Nl}),n.d(t,"NgModuleRef",function(){return Dl}),n.d(t,"NgModuleFactoryLoader",function(){return Td}),n.d(t,"getModuleFactory",function(){return Nd}),n.d(t,"QueryList",function(){return Rf}),n.d(t,"SystemJsNgModuleLoader",function(){return qf}),n.d(t,"SystemJsNgModuleLoaderConfig",function(){return Pf}),n.d(t,"TemplateRef",function(){return Ku}),n.d(t,"ViewContainerRef",function(){return Lf}),n.d(t,"EmbeddedViewRef",function(){return Gf}),n.d(t,"ViewRef",function(){return Wf}),n.d(t,"ChangeDetectionStrategy",function(){return A}),n.d(t,"ChangeDetectorRef",function(){return Vf}),n.d(t,"DefaultIterableDiffer",function(){return dm}),n.d(t,"IterableDiffers",function(){return vm}),n.d(t,"KeyValueDiffers",function(){return wm}),n.d(t,"SimpleChange",function(){return Or}),n.d(t,"WrappedValue",function(){return Tr}),n.d(t,"platformCore",function(){return Cm}),n.d(t,"ɵALLOW_MULTIPLE_PLATFORMS",function(){return xf}),n.d(t,"ɵAPP_ID_RANDOM_PROVIDER",function(){return zp}),n.d(t,"ɵdefaultIterableDiffers",function(){return xm}),n.d(t,"ɵdefaultKeyValueDiffers",function(){return Em}),n.d(t,"ɵdevModeEqual",function(){return Sr}),n.d(t,"ɵisListLikeIterable",function(){return zr}),n.d(t,"ɵChangeDetectorStatus",function(){return I}),n.d(t,"ɵisDefaultChangeDetectionStrategy",function(){return L}),n.d(t,"ɵConsole",function(){return Pp}),n.d(t,"ɵgetInjectableDef",function(){return w}),n.d(t,"ɵsetCurrentInjector",function(){return Ut}),n.d(t,"ɵAPP_ROOT",function(){return tl}),n.d(t,"ɵivyEnabled",function(){return Pm}),n.d(t,"ɵCodegenComponentFactoryResolver",function(){return Al}),n.d(t,"ɵresolveComponentResources",function(){return X}),n.d(t,"ɵReflectionCapabilities",function(){return Fd}),n.d(t,"ɵRenderDebugInfo",function(){return Kl}),n.d(t,"ɵ_sanitizeHtml",function(){return Pc}),n.d(t,"ɵ_sanitizeStyle",function(){return wd}),n.d(t,"ɵ_sanitizeUrl",function(){return gc}),n.d(t,"ɵglobal",function(){return V}),n.d(t,"ɵlooseIdentical",function(){return Q}),n.d(t,"ɵstringify",function(){return $}),n.d(t,"ɵmakeDecorator",function(){return S}),n.d(t,"ɵisObservable",function(){return Ep}),n.d(t,"ɵisPromise",function(){return xp}),n.d(t,"ɵclearOverrides",function(){return dv}),n.d(t,"ɵinitServicesIfNeeded",function(){return Cb}),n.d(t,"ɵoverrideComponentView",function(){return uv}),n.d(t,"ɵoverrideProvider",function(){return cv}),n.d(t,"ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR",function(){return My}),n.d(t,"ɵdefineBase",function(){return pe}),n.d(t,"ɵdefineComponent",function(){return le}),n.d(t,"ɵdefineDirective",function(){return fe}),n.d(t,"ɵdefinePipe",function(){return me}),n.d(t,"ɵdefineNgModule",function(){return de}),n.d(t,"ɵdetectChanges",function(){return Lo}),n.d(t,"ɵrenderComponent",function(){return ks}),n.d(t,"ɵRender3ComponentFactory",function(){return sc}),n.d(t,"ɵRender3ComponentRef",function(){return lc}),n.d(t,"ɵdirectiveInject",function(){return os}),n.d(t,"ɵinjectAttribute",function(){return ss}),n.d(t,"ɵgetFactoryOf",function(){return er}),n.d(t,"ɵgetInheritedFactory",function(){return tr}),n.d(t,"ɵtemplateRefExtractor",function(){return ud}),n.d(t,"ɵProvidersFeature",function(){return wl}),n.d(t,"ɵInheritDefinitionFeature",function(){return Ss}),n.d(t,"ɵNgOnChangesFeature",function(){return zs}),n.d(t,"ɵLifecycleHooksFeature",function(){return xs}),n.d(t,"ɵRender3NgModuleRef",function(){return ju}),n.d(t,"ɵmarkDirty",function(){return Ho}),n.d(t,"ɵNgModuleFactory",function(){return xu}),n.d(t,"ɵNO_CHANGE",function(){return Dr}),n.d(t,"ɵcontainer",function(){return Co}),n.d(t,"ɵnextContext",function(){return Di}),n.d(t,"ɵelementStart",function(){return Vi}),n.d(t,"ɵnamespaceHTML",function(){return Bi}),n.d(t,"ɵnamespaceMathML",function(){return qi}),n.d(t,"ɵnamespaceSVG",function(){return Mi}),n.d(t,"ɵelement",function(){return Li}),n.d(t,"ɵlistener",function(){return Zi}),n.d(t,"ɵtext",function(){return fo}),n.d(t,"ɵembeddedViewStart",function(){return zo}),n.d(t,"ɵquery",function(){return ld}),n.d(t,"ɵregisterContentQuery",function(){return ls}),n.d(t,"ɵprojection",function(){return Ro}),n.d(t,"ɵbind",function(){return Ko}),n.d(t,"ɵinterpolation1",function(){return Qo}),n.d(t,"ɵinterpolation2",function(){return $o}),n.d(t,"ɵinterpolation3",function(){return Yo}),n.d(t,"ɵinterpolation4",function(){return Zo}),n.d(t,"ɵinterpolation5",function(){return Jo}),n.d(t,"ɵinterpolation6",function(){return Xo}),n.d(t,"ɵinterpolation7",function(){return es}),n.d(t,"ɵinterpolation8",function(){return ts}),n.d(t,"ɵinterpolationV",function(){return Go}),n.d(t,"ɵpipeBind1",function(){return Mu}),n.d(t,"ɵpipeBind2",function(){return qu}),n.d(t,"ɵpipeBind3",function(){return Bu}),n.d(t,"ɵpipeBind4",function(){return Lu}),n.d(t,"ɵpipeBindV",function(){return Fu}),n.d(t,"ɵpureFunction0",function(){return Cu}),n.d(t,"ɵpureFunction1",function(){return Su}),n.d(t,"ɵpureFunction2",function(){return Tu}),n.d(t,"ɵpureFunction3",function(){return Ou}),n.d(t,"ɵpureFunction4",function(){return zu}),n.d(t,"ɵpureFunction5",function(){return Au}),n.d(t,"ɵpureFunction6",function(){return Iu}),n.d(t,"ɵpureFunction7",function(){return Du}),n.d(t,"ɵpureFunction8",function(){return Nu}),n.d(t,"ɵpureFunctionV",function(){return Ru}),n.d(t,"ɵgetCurrentView",function(){return ds}),n.d(t,"ɵgetHostElement",function(){return vr}),n.d(t,"ɵrestoreView",function(){return mn}),n.d(t,"ɵcontainerRefreshStart",function(){return To}),n.d(t,"ɵcontainerRefreshEnd",function(){return Oo}),n.d(t,"ɵqueryRefresh",function(){return cd}),n.d(t,"ɵloadQueryList",function(){return as}),n.d(t,"ɵelementEnd",function(){return Ji}),n.d(t,"ɵelementProperty",function(){return eo}),n.d(t,"ɵcomponentHostSyntheticProperty",function(){return to}),n.d(t,"ɵprojectionDef",function(){return Do}),n.d(t,"ɵreference",function(){return rs}),n.d(t,"ɵenableBindings",function(){return hn}),n.d(t,"ɵdisableBindings",function(){return pn}),n.d(t,"ɵallocHostVars",function(){return Wo}),n.d(t,"ɵelementAttribute",function(){return Xi}),n.d(t,"ɵelementContainerStart",function(){return Fi}),n.d(t,"ɵelementContainerEnd",function(){return Ui}),n.d(t,"ɵelementStyling",function(){return so}),n.d(t,"ɵelementHostAttrs",function(){return lo}),n.d(t,"ɵelementStylingMap",function(){return po}),n.d(t,"ɵelementStyleProp",function(){return uo}),n.d(t,"ɵelementStylingApply",function(){return co}),n.d(t,"ɵelementClassProp",function(){return ho}),n.d(t,"ɵtextBinding",function(){return mo}),n.d(t,"ɵtemplate",function(){return Eo}),n.d(t,"ɵembeddedViewEnd",function(){return Ao}),n.d(t,"ɵstore",function(){return ns}),n.d(t,"ɵload",function(){return is}),n.d(t,"ɵpipe",function(){return Pu}),n.d(t,"ɵwhenRendered",function(){return Es}),n.d(t,"ɵi18n",function(){return uu}),n.d(t,"ɵi18nAttributes",function(){return du}),n.d(t,"ɵi18nExp",function(){return mu}),n.d(t,"ɵi18nStart",function(){return au}),n.d(t,"ɵi18nEnd",function(){return su}),n.d(t,"ɵi18nApply",function(){return gu}),n.d(t,"ɵi18nPostprocess",function(){return ou}),n.d(t,"ɵsetClassMetadata",function(){return Eu}),n.d(t,"ɵcompileComponent",function(){return ph}),n.d(t,"ɵcompileDirective",function(){return fh}),n.d(t,"ɵcompileNgModule",function(){return Jd}),n.d(t,"ɵcompileNgModuleDefs",function(){return Xd}),n.d(t,"ɵpatchComponentDefWithScope",function(){return lh}),n.d(t,"ɵresetCompiledComponents",function(){return ih}),n.d(t,"ɵcompilePipe",function(){return kh}),n.d(t,"ɵsanitizeHtml",function(){return _d}),n.d(t,"ɵsanitizeStyle",function(){return jd}),n.d(t,"ɵsanitizeUrl",function(){return xd}),n.d(t,"ɵsanitizeResourceUrl",function(){return Ed}),n.d(t,"ɵbypassSanitizationTrustHtml",function(){return pd}),n.d(t,"ɵbypassSanitizationTrustStyle",function(){return fd}),n.d(t,"ɵbypassSanitizationTrustScript",function(){return md}),n.d(t,"ɵbypassSanitizationTrustUrl",function(){return gd}),n.d(t,"ɵbypassSanitizationTrustResourceUrl",function(){return yd}),n.d(t,"ɵgetLContext",function(){return nr}),n.d(t,"ɵbindPlayerFactory",function(){return _a}),n.d(t,"ɵaddPlayer",function(){return fs}),n.d(t,"ɵgetPlayers",function(){return ms}),n.d(t,"ɵcompileNgModuleFactory__POST_R3__",function(){return jf}),n.d(t,"ɵSWITCH_COMPILE_COMPONENT__POST_R3__",function(){return Oh}),n.d(t,"ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__",function(){return zh}),n.d(t,"ɵSWITCH_COMPILE_PIPE__POST_R3__",function(){return Ah}),n.d(t,"ɵSWITCH_COMPILE_NGMODULE__POST_R3__",function(){return Fh}),n.d(t,"ɵgetDebugNode__POST_R3__",function(){return am}),n.d(t,"ɵSWITCH_COMPILE_INJECTABLE__POST_R3__",function(){return $h}),n.d(t,"ɵSWITCH_IVY_ENABLED__POST_R3__",function(){return Rm}),n.d(t,"ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__",function(){return Hf}),n.d(t,"ɵCompiler_compileModuleSync__POST_R3__",function(){return Fp}),n.d(t,"ɵCompiler_compileModuleAsync__POST_R3__",function(){return Vp}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__",function(){return Kp}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__",function(){return Gp}),n.d(t,"ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__",function(){return Ul}),n.d(t,"ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__",function(){return Wu}),n.d(t,"ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__",function(){return Ff}),n.d(t,"ɵSWITCH_RENDERER2_FACTORY__POST_R3__",function(){return Zl}),n.d(t,"ɵgetModuleFactory__POST_R3__",function(){return Dd}),n.d(t,"ɵpublishGlobalUtil",function(){return vs}),n.d(t,"ɵpublishDefaultGlobalUtils",function(){return bs}),n.d(t,"ɵSWITCH_INJECTOR_FACTORY__POST_R3__",function(){return Bs}),n.d(t,"ɵregisterModuleFactory",function(){return zd}),n.d(t,"ɵEMPTY_ARRAY",function(){return Ig}),n.d(t,"ɵEMPTY_MAP",function(){return Dg}),n.d(t,"ɵand",function(){return Ng}),n.d(t,"ɵccf",function(){return ty}),n.d(t,"ɵcmf",function(){return hv}),n.d(t,"ɵcrt",function(){return tg}),n.d(t,"ɵdid",function(){return Cy}),n.d(t,"ɵeld",function(){return Rg}),n.d(t,"ɵelementEventFullName",function(){return hg}),n.d(t,"ɵgetComponentViewDefinitionFactory",function(){return ny}),n.d(t,"ɵinlineInterpolate",function(){return zg}),n.d(t,"ɵinterpolate",function(){return Og}),n.d(t,"ɵmod",function(){return Kg}),n.d(t,"ɵmpd",function(){return Hg}),n.d(t,"ɵncd",function(){return $y}),n.d(t,"ɵnov",function(){return py}),n.d(t,"ɵpid",function(){return Sy}),n.d(t,"ɵprd",function(){return Ty}),n.d(t,"ɵpad",function(){return Jy}),n.d(t,"ɵpod",function(){return Xy}),n.d(t,"ɵppd",function(){return Zy}),n.d(t,"ɵqud",function(){return Hy}),n.d(t,"ɵted",function(){return tb}),n.d(t,"ɵunv",function(){return Jm}),n.d(t,"ɵvid",function(){return ab});var r=n(1),a=n(50),i=n(123),o=n(33),s=n(1087),l=n(299); /** * @license Angular v7.2.1 * (c) 2010-2018 Google, Inc. https://angular.io/ @@ -860,7 +860,7 @@ function cv(e){return Cb(),Km.overrideProvider(e)}function uv(e,t){return Cb(),K * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - */}.call(this,n(96))},function(e,t,n){"use strict";n.d(t,"c",function(){return a}),n.d(t,"a",function(){return i}),n.d(t,"b",function(){return o}),n.d(t,"e",function(){return s}),n.d(t,"d",function(){return l}),n.d(t,"h",function(){return c}),n.d(t,"f",function(){return u}),n.d(t,"g",function(){return d}); + */}.call(this,n(97))},function(e,t,n){"use strict";n.d(t,"c",function(){return a}),n.d(t,"a",function(){return i}),n.d(t,"b",function(){return o}),n.d(t,"e",function(){return s}),n.d(t,"d",function(){return l}),n.d(t,"h",function(){return c}),n.d(t,"f",function(){return u}),n.d(t,"g",function(){return d}); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use @@ -875,7 +875,7 @@ MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ -var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function a(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return(i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0;s--)(a=e[s])&&(o=(i<3?a(o):i>3?a(t,n,o):a(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o}function s(e,t){return function(n,r){t(n,r,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function c(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,i=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return o}function d(){for(var e=[],t=0;t=0;s--)(a=e[s])&&(o=(i<3?a(o):i>3?a(t,n,o):a(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o}function s(e,t){return function(n,r){t(n,r,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function c(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,i=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return o}function d(){for(var e=[],t=0;t0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,r):t.flush(this)},t}(l),u=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}(),d=function(e){function t(n,r){void 0===r&&(r=u.now);var a=e.call(this,n,function(){return t.delegate&&t.delegate!==a?t.delegate.now():r()})||this;return a.actions=[],a.active=!1,a.scheduled=void 0,a}return i.c(t,e),t.prototype.schedule=function(n,r,a){return void 0===r&&(r=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,r,a):e.prototype.schedule.call(this,n,r,a)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(u),h=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.c(t,e),t}(d))(c),p=n(36),f=n(91),m=n(295),g=n(32);function y(e){var t=e.error;e.subscriber.error(t)}var b=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e,t;switch(this.kind){case"N":return Object(m.a)(this.value);case"E":return e=this.error,t?new g.a(function(n){return t.schedule(y,0,{error:e,subscriber:n})}):new g.a(function(t){return t.error(e)});case"C":return Object(f.b)()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}();var v=function(e){function t(t,n,r){void 0===r&&(r=0);var a=e.call(this,t)||this;return a.scheduler=n,a.delay=r,a}return i.c(t,e),t.dispatch=function(e){var t=e.notification,n=e.destination;t.observe(n),this.unsubscribe()},t.prototype.scheduleMessage=function(e){this.destination.add(this.scheduler.schedule(t.dispatch,this.delay,new k(e,this.destination)))},t.prototype._next=function(e){this.scheduleMessage(b.createNext(e))},t.prototype._error=function(e){this.scheduleMessage(b.createError(e)),this.unsubscribe()},t.prototype._complete=function(){this.scheduleMessage(b.createComplete()),this.unsubscribe()},t}(p.a),k=function(){return function(e,t){this.notification=e,this.destination=t}}(),w=n(124),_=n(285),j=function(e){function t(t,n,r){void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY);var a=e.call(this)||this;return a.scheduler=r,a._events=[],a._infiniteTimeWindow=!1,a._bufferSize=t<1?1:t,a._windowTime=n<1?1:n,n===Number.POSITIVE_INFINITY?(a._infiniteTimeWindow=!0,a.next=a.nextInfiniteTimeWindow):a.next=a.nextTimeWindow,a}return i.c(t,e),t.prototype.nextInfiniteTimeWindow=function(t){var n=this._events;n.push(t),n.length>this._bufferSize&&n.shift(),e.prototype.next.call(this,t)},t.prototype.nextTimeWindow=function(t){this._events.push(new x(this._getNow(),t)),this._trimBufferThenGetEvents(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){var t,n=this._infiniteTimeWindow,r=n?this._events:this._trimBufferThenGetEvents(),a=this.scheduler,i=r.length;if(this.closed)throw new w.a;if(this.isStopped||this.hasError?t=s.a.EMPTY:(this.observers.push(e),t=new _.a(this,e)),a&&e.add(e=new v(e,a)),n)for(var o=0;ot&&(i=Math.max(i,a-t)),i>0&&r.splice(0,i),r},t}(o.a),x=function(){return function(e,t){this.time=e,this.value=t}}(),E=n(297),C=n(201),S=new d(l);function T(e,t){void 0===t&&(t=S);var n,r=(n=e)instanceof Date&&!isNaN(+n)?+e-t.now():Math.abs(e);return function(e){return e.lift(new O(r,t))}}var O=function(){function e(e,t){this.delay=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new z(e,this.delay,this.scheduler))},e}(),z=function(e){function t(t,n,r){var a=e.call(this,t)||this;return a.delay=n,a.scheduler=r,a.queue=[],a.active=!1,a.errored=!1,a}return i.c(t,e),t.dispatch=function(e){for(var t=e.source,n=t.queue,r=e.scheduler,a=e.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(a);if(n.length>0){var i=Math.max(0,n[0].time-r.now());this.schedule(e,i)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new A(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(b.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(b.createComplete()),this.unsubscribe()},t}(p.a),A=function(){return function(e,t){this.time=e,this.notification=t}}(),I=n(5),D=n(10);n.d(t,"Angulartics2",function(){return M}),n.d(t,"Angulartics2Module",function(){return F}),n.d(t,"ANGULARTICS2_TOKEN",function(){return R}),n.d(t,"Angulartics2On",function(){return B}),n.d(t,"Angulartics2OnModule",function(){return L}),n.d(t,"RouterlessTracking",function(){return P}),n.d(t,"AngularRouterTracking",function(){return q}),n.d(t,"DefaultConfig",function(){return N});var N=function(){return function(){this.pageTracking={autoTrackVirtualPages:!0,basePath:"",excludedRoutes:[],clearIds:!1,clearHash:!1,clearQueryParams:!1,idsRegExp:/^\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/},this.developerMode=!1,this.ga={},this.appInsights={},this.gtm={},this.gst={}}}(),R=new r.InjectionToken("ANGULARTICS2"),P=function(){function e(){}return e.prototype.trackLocation=function(e){return new a.a({url:"/"})},e.prototype.prepareExternalUrl=function(e){return e},e}(),M=function(){function e(e,t){var n=this;this.tracker=e,this.pageTrack=new j(10),this.eventTrack=new j(10),this.exceptionTrack=new j(10),this.setAlias=new j(10),this.setUsername=new j(10),this.setUserProperties=new j(10),this.setUserPropertiesOnce=new j(10),this.setSuperProperties=new j(10),this.setSuperPropertiesOnce=new j(10),this.userTimings=new j(10);var r=new N;this.settings=Object(i.a)({},r,t.settings),this.settings.pageTracking=Object(i.a)({},r.pageTracking,t.settings.pageTracking),this.tracker.trackLocation(this.settings).subscribe(function(e){return n.trackUrlChange(e.url)})}return e.prototype.filterDeveloperMode=function(){var e=this;return Object(E.a)(function(t,n){return!e.settings.developerMode})},e.prototype.trackUrlChange=function(e){if(this.settings.pageTracking.autoTrackVirtualPages&&!this.matchesExcludedRoute(e)){var t=this.clearUrl(e),n=void 0;n=this.settings.pageTracking.basePath.length?this.settings.pageTracking.basePath+t:this.tracker.prepareExternalUrl(t),this.pageTrack.next({path:n})}},e.prototype.matchesExcludedRoute=function(e){try{for(var t=Object(i.h)(this.settings.pageTracking.excludedRoutes),n=t.next();!n.done;n=t.next()){var r=n.value;if(r instanceof RegExp&&r.test(e)||-1!==e.indexOf(r))return!0}}catch(e){a={error:e}}finally{try{n&&!n.done&&(o=t.return)&&o.call(t)}finally{if(a)throw a.error}}return!1;var a,o},e.prototype.clearUrl=function(e){var t=this;return this.settings.pageTracking.clearIds||this.settings.pageTracking.clearQueryParams||this.settings.pageTracking.clearHash?e.split("/").map(function(e){return t.settings.pageTracking.clearQueryParams?e.split("?")[0]:e}).map(function(e){return t.settings.pageTracking.clearHash?e.split("#")[0]:e}).filter(function(e){return!t.settings.pageTracking.clearIds||!e.match(t.settings.pageTracking.idsRegExp)}).join("/"):e},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[{type:P},{type:void 0,decorators:[{type:r.Inject,args:[R]}]}]},e}(),q=function(){function e(e,t){this.router=e,this.location=t}return e.prototype.trackLocation=function(e){return this.router.events.pipe(Object(E.a)(function(e){return e instanceof D.NavigationEnd}),Object(E.a)(function(){return!e.developerMode}),Object(C.a)(function(e){return{url:e.urlAfterRedirects}}),T(0))},e.prototype.prepareExternalUrl=function(e){return this.location.prepareExternalUrl(e)},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[{type:D.Router},{type:I.Location}]},e}(),B=function(){function e(e,t,n){this.elRef=e,this.angulartics2=t,this.renderer=n,this.angularticsProperties={}}return e.prototype.ngAfterContentInit=function(){var e=this;this.renderer.listen(this.elRef.nativeElement,this.angulartics2On||"click",function(t){return e.eventTrack(t)})},e.prototype.eventTrack=function(e){var t=this.angularticsAction,n=Object(i.a)({},this.angularticsProperties,{eventType:e.type});this.angularticsCategory&&(n.category=this.angularticsCategory),this.angularticsLabel&&(n.label=this.angularticsLabel),this.angularticsValue&&(n.value=this.angularticsValue),this.angulartics2.eventTrack.next({action:t,properties:n})},e.decorators=[{type:r.Injectable},{type:r.Directive,args:[{selector:"[angulartics2On]"}]}],e.ctorParameters=function(){return[{type:r.ElementRef},{type:M},{type:r.Renderer2}]},e.propDecorators={angulartics2On:[{type:r.Input,args:["angulartics2On"]}],angularticsAction:[{type:r.Input}],angularticsCategory:[{type:r.Input}],angularticsLabel:[{type:r.Input}],angularticsValue:[{type:r.Input}],angularticsProperties:[{type:r.Input}]},e}(),L=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{declarations:[B],exports:[B]}]}],e}(),F=function(){function e(){}return e.forRoot=function(t,n){return void 0===n&&(n={}),{ngModule:e,providers:Object(i.g)([{provide:R,useValue:{providers:t,settings:n}},M,{provide:P,useClass:q}],t)}},e.decorators=[{type:r.NgModule,args:[{imports:[L],exports:[B]}]}],e}()},,,,function(e,t,n){"use strict";n.r(t);var r=n(1),a=n(5),i=n(0),o=n(295),s=n(152),l=n(1083),c=n(32);function u(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}u.prototype=Object.create(Error.prototype);var d=u,h=n(120),p=n(200),f=n(122),m=n(121),g=n(112),y={};var b=function(){function e(e){this.resultSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new v(e,this.resultSelector))},e}(),v=function(e){function t(t,n){var r=e.call(this,t)||this;return r.resultSelector=n,r.active=0,r.values=[],r.observables=[],r}return r.c(t,e),t.prototype._next=function(e){this.values.push(y),this.observables.push(e)},t.prototype._complete=function(){var e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(var n=0;n0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,a=0;a=2;return function(r){return r.pipe(e?Object(C.a)(function(t,n){return e(t,n,r)}):V.a,z(1),n?L(t):q(function(){return new d}))}}var K=n(151);function W(e){return function(t){var n=new G(e),r=t.lift(n);return n.caught=r}}var G=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new Q(e,this.selector,this.caught))},e}(),Q=function(e){function t(t,n,r){var a=e.call(this,t)||this;return a.selector=n,a.caught=r,a}return r.c(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(t){return void e.prototype.error.call(this,t)}this._unsubscribeAndRecycle();var r=new K.a(this,void 0,void 0);this.add(r),Object(m.a)(this,n,void 0,void 0,r)}},t}(f.a);function $(e){return function(t){return 0===e?Object(k.b)():t.lift(new Y(e))}}var Y=function(){function e(e){if(this.total=e,this.total<0)throw new O}return e.prototype.call=function(e,t){return t.subscribe(new Z(e,this.total))},e}(),Z=function(e){function t(t,n){var r=e.call(this,t)||this;return r.total=n,r.count=0,r}return r.c(t,e),t.prototype._next=function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))},t}(S.a);function J(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Object(C.a)(function(t,n){return e(t,n,r)}):V.a,$(1),n?L(t):q(function(){return new d}))}}var X=n(287);var ee=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new te(e,this.predicate,this.thisArg,this.source))},e}(),te=function(e){function t(t,n,r,a){var i=e.call(this,t)||this;return i.predicate=n,i.thisArg=r,i.source=a,i.index=0,i.thisArg=r||i,i}return r.c(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(e){return void this.destination.error(e)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(S.a);function ne(e,t){return"function"==typeof t?function(n){return n.pipe(ne(function(n,r){return Object(s.a)(e(n,r)).pipe(Object(j.a)(function(e,a){return t(n,e,r,a)}))}))}:function(t){return t.lift(new re(e))}}var re=function(){function e(e){this.project=e}return e.prototype.call=function(e,t){return t.subscribe(new ae(e,this.project))},e}(),ae=function(e){function t(t,n){var r=e.call(this,t)||this;return r.project=n,r.index=0,r}return r.c(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(e){return void this.destination.error(e)}this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var r=this.innerSubscription;r&&r.unsubscribe();var a=new K.a(this,void 0,void 0);this.destination.add(a),this.innerSubscription=Object(m.a)(this,e,t,n,a)},t.prototype._complete=function(){var t=this.innerSubscription;t&&!t.closed||e.prototype._complete.call(this),this.unsubscribe()},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.destination.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,r,a){this.destination.next(t)},t}(f.a),ie=n(296);function oe(){for(var e=[],t=0;t=2&&(n=!0),function(r){return r.lift(new le(e,t,n))}}var le=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new ce(e,this.accumulator,this.seed,this.hasSeed))},e}(),ce=function(e){function t(t,n,r,a){var i=e.call(this,t)||this;return i.accumulator=n,i._seed=r,i.hasSeed=a,i.index=0,i}return r.c(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(e){this.destination.error(e)}this.seed=t,this.destination.next(t)},t}(S.a);function ue(e,t){return Object(X.a)(e,t,1)}var de=n(247);var he=n(49);var pe=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new fe(e,this.callback))},e}(),fe=function(e){function t(t,n){var r=e.call(this,t)||this;return r.add(new he.a(n)),r}return r.c(t,e),t}(S.a),me=n(43);n.d(t,"ɵangular_packages_router_router_a",function(){return ar}),n.d(t,"ɵangular_packages_router_router_h",function(){return fr}),n.d(t,"ɵangular_packages_router_router_c",function(){return lr}),n.d(t,"ɵangular_packages_router_router_i",function(){return mr}),n.d(t,"ɵangular_packages_router_router_j",function(){return gr}),n.d(t,"ɵangular_packages_router_router_e",function(){return ur}),n.d(t,"ɵangular_packages_router_router_d",function(){return cr}),n.d(t,"ɵangular_packages_router_router_k",function(){return br}),n.d(t,"ɵangular_packages_router_router_g",function(){return pr}),n.d(t,"ɵangular_packages_router_router_b",function(){return or}),n.d(t,"ɵangular_packages_router_router_f",function(){return hr}),n.d(t,"ɵangular_packages_router_router_n",function(){return tr}),n.d(t,"ɵangular_packages_router_router_l",function(){return bt}),n.d(t,"ɵangular_packages_router_router_m",function(){return wt}),n.d(t,"RouterLink",function(){return Vn}),n.d(t,"RouterLinkWithHref",function(){return Hn}),n.d(t,"RouterLinkActive",function(){return Wn}),n.d(t,"RouterOutlet",function(){return $n}),n.d(t,"ActivationEnd",function(){return Ae}),n.d(t,"ActivationStart",function(){return ze}),n.d(t,"ChildActivationEnd",function(){return Oe}),n.d(t,"ChildActivationStart",function(){return Te}),n.d(t,"GuardsCheckEnd",function(){return je}),n.d(t,"GuardsCheckStart",function(){return _e}),n.d(t,"NavigationCancel",function(){return ve}),n.d(t,"NavigationEnd",function(){return be}),n.d(t,"NavigationError",function(){return ke}),n.d(t,"NavigationStart",function(){return ye}),n.d(t,"ResolveEnd",function(){return Ee}),n.d(t,"ResolveStart",function(){return xe}),n.d(t,"RouteConfigLoadEnd",function(){return Se}),n.d(t,"RouteConfigLoadStart",function(){return Ce}),n.d(t,"RouterEvent",function(){return ge}),n.d(t,"RoutesRecognized",function(){return we}),n.d(t,"Scroll",function(){return Ie}),n.d(t,"RouteReuseStrategy",function(){return Dn}),n.d(t,"Router",function(){return Un}),n.d(t,"ROUTES",function(){return Rn}),n.d(t,"ROUTER_CONFIGURATION",function(){return rr}),n.d(t,"ROUTER_INITIALIZER",function(){return yr}),n.d(t,"RouterModule",function(){return sr}),n.d(t,"provideRoutes",function(){return dr}),n.d(t,"ChildrenOutletContexts",function(){return Qn}),n.d(t,"OutletContext",function(){return Gn}),n.d(t,"NoPreloading",function(){return Xn}),n.d(t,"PreloadAllModules",function(){return Jn}),n.d(t,"PreloadingStrategy",function(){return Zn}),n.d(t,"RouterPreloader",function(){return er}),n.d(t,"ActivatedRoute",function(){return Et}),n.d(t,"ActivatedRouteSnapshot",function(){return St}),n.d(t,"RouterState",function(){return jt}),n.d(t,"RouterStateSnapshot",function(){return Tt}),n.d(t,"PRIMARY_OUTLET",function(){return Ne}),n.d(t,"convertToParamMap",function(){return Pe}),n.d(t,"UrlHandlingStrategy",function(){return Mn}),n.d(t,"DefaultUrlSerializer",function(){return at}),n.d(t,"UrlSegment",function(){return et}),n.d(t,"UrlSegmentGroup",function(){return Xe}),n.d(t,"UrlSerializer",function(){return rt}),n.d(t,"UrlTree",function(){return Je}),n.d(t,"VERSION",function(){return vr}),n.d(t,"ɵEmptyOutletComponent",function(){return De}),n.d(t,"ɵROUTER_PROVIDERS",function(){return ir}),n.d(t,"ɵflatten",function(){return We}); + */},function(e,t,n){"use strict";n.r(t);var r=n(0),a=n(1088),i=n(1),o=n(123),s=n(50),l=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return i.c(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n=!1,r=void 0;try{this.work(e)}catch(e){n=!0,r=!!e&&e||new Error(e)}if(n)return this.unsubscribe(),r},t.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},t}(function(e){function t(t,n){return e.call(this)||this}return i.c(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(s.a)),c=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return i.c(t,e),t.prototype.schedule=function(t,n){return void 0===n&&(n=0),n>0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,r):t.flush(this)},t}(l),u=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}(),d=function(e){function t(n,r){void 0===r&&(r=u.now);var a=e.call(this,n,function(){return t.delegate&&t.delegate!==a?t.delegate.now():r()})||this;return a.actions=[],a.active=!1,a.scheduled=void 0,a}return i.c(t,e),t.prototype.schedule=function(n,r,a){return void 0===r&&(r=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,r,a):e.prototype.schedule.call(this,n,r,a)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(u),h=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.c(t,e),t}(d))(c),p=n(36),f=n(92),m=n(295),g=n(33);function y(e){var t=e.error;e.subscriber.error(t)}var b=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e,t;switch(this.kind){case"N":return Object(m.a)(this.value);case"E":return e=this.error,t?new g.a(function(n){return t.schedule(y,0,{error:e,subscriber:n})}):new g.a(function(t){return t.error(e)});case"C":return Object(f.b)()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}();var v=function(e){function t(t,n,r){void 0===r&&(r=0);var a=e.call(this,t)||this;return a.scheduler=n,a.delay=r,a}return i.c(t,e),t.dispatch=function(e){var t=e.notification,n=e.destination;t.observe(n),this.unsubscribe()},t.prototype.scheduleMessage=function(e){this.destination.add(this.scheduler.schedule(t.dispatch,this.delay,new k(e,this.destination)))},t.prototype._next=function(e){this.scheduleMessage(b.createNext(e))},t.prototype._error=function(e){this.scheduleMessage(b.createError(e)),this.unsubscribe()},t.prototype._complete=function(){this.scheduleMessage(b.createComplete()),this.unsubscribe()},t}(p.a),k=function(){return function(e,t){this.notification=e,this.destination=t}}(),w=n(124),_=n(285),j=function(e){function t(t,n,r){void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY);var a=e.call(this)||this;return a.scheduler=r,a._events=[],a._infiniteTimeWindow=!1,a._bufferSize=t<1?1:t,a._windowTime=n<1?1:n,n===Number.POSITIVE_INFINITY?(a._infiniteTimeWindow=!0,a.next=a.nextInfiniteTimeWindow):a.next=a.nextTimeWindow,a}return i.c(t,e),t.prototype.nextInfiniteTimeWindow=function(t){var n=this._events;n.push(t),n.length>this._bufferSize&&n.shift(),e.prototype.next.call(this,t)},t.prototype.nextTimeWindow=function(t){this._events.push(new x(this._getNow(),t)),this._trimBufferThenGetEvents(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){var t,n=this._infiniteTimeWindow,r=n?this._events:this._trimBufferThenGetEvents(),a=this.scheduler,i=r.length;if(this.closed)throw new w.a;if(this.isStopped||this.hasError?t=s.a.EMPTY:(this.observers.push(e),t=new _.a(this,e)),a&&e.add(e=new v(e,a)),n)for(var o=0;ot&&(i=Math.max(i,a-t)),i>0&&r.splice(0,i),r},t}(o.a),x=function(){return function(e,t){this.time=e,this.value=t}}(),E=n(297),C=n(201),S=new d(l);function T(e,t){void 0===t&&(t=S);var n,r=(n=e)instanceof Date&&!isNaN(+n)?+e-t.now():Math.abs(e);return function(e){return e.lift(new O(r,t))}}var O=function(){function e(e,t){this.delay=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new z(e,this.delay,this.scheduler))},e}(),z=function(e){function t(t,n,r){var a=e.call(this,t)||this;return a.delay=n,a.scheduler=r,a.queue=[],a.active=!1,a.errored=!1,a}return i.c(t,e),t.dispatch=function(e){for(var t=e.source,n=t.queue,r=e.scheduler,a=e.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(a);if(n.length>0){var i=Math.max(0,n[0].time-r.now());this.schedule(e,i)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new A(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(b.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(b.createComplete()),this.unsubscribe()},t}(p.a),A=function(){return function(e,t){this.time=e,this.notification=t}}(),I=n(5),D=n(10);n.d(t,"Angulartics2",function(){return M}),n.d(t,"Angulartics2Module",function(){return F}),n.d(t,"ANGULARTICS2_TOKEN",function(){return R}),n.d(t,"Angulartics2On",function(){return B}),n.d(t,"Angulartics2OnModule",function(){return L}),n.d(t,"RouterlessTracking",function(){return P}),n.d(t,"AngularRouterTracking",function(){return q}),n.d(t,"DefaultConfig",function(){return N});var N=function(){return function(){this.pageTracking={autoTrackVirtualPages:!0,basePath:"",excludedRoutes:[],clearIds:!1,clearHash:!1,clearQueryParams:!1,idsRegExp:/^\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/},this.developerMode=!1,this.ga={},this.appInsights={},this.gtm={},this.gst={}}}(),R=new r.InjectionToken("ANGULARTICS2"),P=function(){function e(){}return e.prototype.trackLocation=function(e){return new a.a({url:"/"})},e.prototype.prepareExternalUrl=function(e){return e},e}(),M=function(){function e(e,t){var n=this;this.tracker=e,this.pageTrack=new j(10),this.eventTrack=new j(10),this.exceptionTrack=new j(10),this.setAlias=new j(10),this.setUsername=new j(10),this.setUserProperties=new j(10),this.setUserPropertiesOnce=new j(10),this.setSuperProperties=new j(10),this.setSuperPropertiesOnce=new j(10),this.userTimings=new j(10);var r=new N;this.settings=Object(i.a)({},r,t.settings),this.settings.pageTracking=Object(i.a)({},r.pageTracking,t.settings.pageTracking),this.tracker.trackLocation(this.settings).subscribe(function(e){return n.trackUrlChange(e.url)})}return e.prototype.filterDeveloperMode=function(){var e=this;return Object(E.a)(function(t,n){return!e.settings.developerMode})},e.prototype.trackUrlChange=function(e){if(this.settings.pageTracking.autoTrackVirtualPages&&!this.matchesExcludedRoute(e)){var t=this.clearUrl(e),n=void 0;n=this.settings.pageTracking.basePath.length?this.settings.pageTracking.basePath+t:this.tracker.prepareExternalUrl(t),this.pageTrack.next({path:n})}},e.prototype.matchesExcludedRoute=function(e){try{for(var t=Object(i.h)(this.settings.pageTracking.excludedRoutes),n=t.next();!n.done;n=t.next()){var r=n.value;if(r instanceof RegExp&&r.test(e)||-1!==e.indexOf(r))return!0}}catch(e){a={error:e}}finally{try{n&&!n.done&&(o=t.return)&&o.call(t)}finally{if(a)throw a.error}}return!1;var a,o},e.prototype.clearUrl=function(e){var t=this;return this.settings.pageTracking.clearIds||this.settings.pageTracking.clearQueryParams||this.settings.pageTracking.clearHash?e.split("/").map(function(e){return t.settings.pageTracking.clearQueryParams?e.split("?")[0]:e}).map(function(e){return t.settings.pageTracking.clearHash?e.split("#")[0]:e}).filter(function(e){return!t.settings.pageTracking.clearIds||!e.match(t.settings.pageTracking.idsRegExp)}).join("/"):e},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[{type:P},{type:void 0,decorators:[{type:r.Inject,args:[R]}]}]},e}(),q=function(){function e(e,t){this.router=e,this.location=t}return e.prototype.trackLocation=function(e){return this.router.events.pipe(Object(E.a)(function(e){return e instanceof D.NavigationEnd}),Object(E.a)(function(){return!e.developerMode}),Object(C.a)(function(e){return{url:e.urlAfterRedirects}}),T(0))},e.prototype.prepareExternalUrl=function(e){return this.location.prepareExternalUrl(e)},e.decorators=[{type:r.Injectable}],e.ctorParameters=function(){return[{type:D.Router},{type:I.Location}]},e}(),B=function(){function e(e,t,n){this.elRef=e,this.angulartics2=t,this.renderer=n,this.angularticsProperties={}}return e.prototype.ngAfterContentInit=function(){var e=this;this.renderer.listen(this.elRef.nativeElement,this.angulartics2On||"click",function(t){return e.eventTrack(t)})},e.prototype.eventTrack=function(e){var t=this.angularticsAction,n=Object(i.a)({},this.angularticsProperties,{eventType:e.type});this.angularticsCategory&&(n.category=this.angularticsCategory),this.angularticsLabel&&(n.label=this.angularticsLabel),this.angularticsValue&&(n.value=this.angularticsValue),this.angulartics2.eventTrack.next({action:t,properties:n})},e.decorators=[{type:r.Injectable},{type:r.Directive,args:[{selector:"[angulartics2On]"}]}],e.ctorParameters=function(){return[{type:r.ElementRef},{type:M},{type:r.Renderer2}]},e.propDecorators={angulartics2On:[{type:r.Input,args:["angulartics2On"]}],angularticsAction:[{type:r.Input}],angularticsCategory:[{type:r.Input}],angularticsLabel:[{type:r.Input}],angularticsValue:[{type:r.Input}],angularticsProperties:[{type:r.Input}]},e}(),L=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{declarations:[B],exports:[B]}]}],e}(),F=function(){function e(){}return e.forRoot=function(t,n){return void 0===n&&(n={}),{ngModule:e,providers:Object(i.g)([{provide:R,useValue:{providers:t,settings:n}},M,{provide:P,useClass:q}],t)}},e.decorators=[{type:r.NgModule,args:[{imports:[L],exports:[B]}]}],e}()},,,,function(e,t,n){"use strict";n.r(t);var r=n(1),a=n(5),i=n(0),o=n(295),s=n(152),l=n(1088),c=n(33);function u(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}u.prototype=Object.create(Error.prototype);var d=u,h=n(120),p=n(200),f=n(122),m=n(121),g=n(112),y={};var b=function(){function e(e){this.resultSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new v(e,this.resultSelector))},e}(),v=function(e){function t(t,n){var r=e.call(this,t)||this;return r.resultSelector=n,r.active=0,r.values=[],r.observables=[],r}return r.c(t,e),t.prototype._next=function(e){this.values.push(y),this.observables.push(e)},t.prototype._complete=function(){var e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(var n=0;n0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,a=0;a=2;return function(r){return r.pipe(e?Object(C.a)(function(t,n){return e(t,n,r)}):V.a,z(1),n?L(t):q(function(){return new d}))}}var K=n(151);function W(e){return function(t){var n=new G(e),r=t.lift(n);return n.caught=r}}var G=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new Q(e,this.selector,this.caught))},e}(),Q=function(e){function t(t,n,r){var a=e.call(this,t)||this;return a.selector=n,a.caught=r,a}return r.c(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(t){return void e.prototype.error.call(this,t)}this._unsubscribeAndRecycle();var r=new K.a(this,void 0,void 0);this.add(r),Object(m.a)(this,n,void 0,void 0,r)}},t}(f.a);function $(e){return function(t){return 0===e?Object(k.b)():t.lift(new Y(e))}}var Y=function(){function e(e){if(this.total=e,this.total<0)throw new O}return e.prototype.call=function(e,t){return t.subscribe(new Z(e,this.total))},e}(),Z=function(e){function t(t,n){var r=e.call(this,t)||this;return r.total=n,r.count=0,r}return r.c(t,e),t.prototype._next=function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))},t}(S.a);function J(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Object(C.a)(function(t,n){return e(t,n,r)}):V.a,$(1),n?L(t):q(function(){return new d}))}}var X=n(287);var ee=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new te(e,this.predicate,this.thisArg,this.source))},e}(),te=function(e){function t(t,n,r,a){var i=e.call(this,t)||this;return i.predicate=n,i.thisArg=r,i.source=a,i.index=0,i.thisArg=r||i,i}return r.c(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(e){return void this.destination.error(e)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(S.a);function ne(e,t){return"function"==typeof t?function(n){return n.pipe(ne(function(n,r){return Object(s.a)(e(n,r)).pipe(Object(j.a)(function(e,a){return t(n,e,r,a)}))}))}:function(t){return t.lift(new re(e))}}var re=function(){function e(e){this.project=e}return e.prototype.call=function(e,t){return t.subscribe(new ae(e,this.project))},e}(),ae=function(e){function t(t,n){var r=e.call(this,t)||this;return r.project=n,r.index=0,r}return r.c(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(e){return void this.destination.error(e)}this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var r=this.innerSubscription;r&&r.unsubscribe();var a=new K.a(this,void 0,void 0);this.destination.add(a),this.innerSubscription=Object(m.a)(this,e,t,n,a)},t.prototype._complete=function(){var t=this.innerSubscription;t&&!t.closed||e.prototype._complete.call(this),this.unsubscribe()},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.destination.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,r,a){this.destination.next(t)},t}(f.a),ie=n(296);function oe(){for(var e=[],t=0;t=2&&(n=!0),function(r){return r.lift(new le(e,t,n))}}var le=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new ce(e,this.accumulator,this.seed,this.hasSeed))},e}(),ce=function(e){function t(t,n,r,a){var i=e.call(this,t)||this;return i.accumulator=n,i._seed=r,i.hasSeed=a,i.index=0,i}return r.c(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(e){this.destination.error(e)}this.seed=t,this.destination.next(t)},t}(S.a);function ue(e,t){return Object(X.a)(e,t,1)}var de=n(247);var he=n(50);var pe=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new fe(e,this.callback))},e}(),fe=function(e){function t(t,n){var r=e.call(this,t)||this;return r.add(new he.a(n)),r}return r.c(t,e),t}(S.a),me=n(43);n.d(t,"ɵangular_packages_router_router_a",function(){return ar}),n.d(t,"ɵangular_packages_router_router_h",function(){return fr}),n.d(t,"ɵangular_packages_router_router_c",function(){return lr}),n.d(t,"ɵangular_packages_router_router_i",function(){return mr}),n.d(t,"ɵangular_packages_router_router_j",function(){return gr}),n.d(t,"ɵangular_packages_router_router_e",function(){return ur}),n.d(t,"ɵangular_packages_router_router_d",function(){return cr}),n.d(t,"ɵangular_packages_router_router_k",function(){return br}),n.d(t,"ɵangular_packages_router_router_g",function(){return pr}),n.d(t,"ɵangular_packages_router_router_b",function(){return or}),n.d(t,"ɵangular_packages_router_router_f",function(){return hr}),n.d(t,"ɵangular_packages_router_router_n",function(){return tr}),n.d(t,"ɵangular_packages_router_router_l",function(){return bt}),n.d(t,"ɵangular_packages_router_router_m",function(){return wt}),n.d(t,"RouterLink",function(){return Vn}),n.d(t,"RouterLinkWithHref",function(){return Hn}),n.d(t,"RouterLinkActive",function(){return Wn}),n.d(t,"RouterOutlet",function(){return $n}),n.d(t,"ActivationEnd",function(){return Ae}),n.d(t,"ActivationStart",function(){return ze}),n.d(t,"ChildActivationEnd",function(){return Oe}),n.d(t,"ChildActivationStart",function(){return Te}),n.d(t,"GuardsCheckEnd",function(){return je}),n.d(t,"GuardsCheckStart",function(){return _e}),n.d(t,"NavigationCancel",function(){return ve}),n.d(t,"NavigationEnd",function(){return be}),n.d(t,"NavigationError",function(){return ke}),n.d(t,"NavigationStart",function(){return ye}),n.d(t,"ResolveEnd",function(){return Ee}),n.d(t,"ResolveStart",function(){return xe}),n.d(t,"RouteConfigLoadEnd",function(){return Se}),n.d(t,"RouteConfigLoadStart",function(){return Ce}),n.d(t,"RouterEvent",function(){return ge}),n.d(t,"RoutesRecognized",function(){return we}),n.d(t,"Scroll",function(){return Ie}),n.d(t,"RouteReuseStrategy",function(){return Dn}),n.d(t,"Router",function(){return Un}),n.d(t,"ROUTES",function(){return Rn}),n.d(t,"ROUTER_CONFIGURATION",function(){return rr}),n.d(t,"ROUTER_INITIALIZER",function(){return yr}),n.d(t,"RouterModule",function(){return sr}),n.d(t,"provideRoutes",function(){return dr}),n.d(t,"ChildrenOutletContexts",function(){return Qn}),n.d(t,"OutletContext",function(){return Gn}),n.d(t,"NoPreloading",function(){return Xn}),n.d(t,"PreloadAllModules",function(){return Jn}),n.d(t,"PreloadingStrategy",function(){return Zn}),n.d(t,"RouterPreloader",function(){return er}),n.d(t,"ActivatedRoute",function(){return Et}),n.d(t,"ActivatedRouteSnapshot",function(){return St}),n.d(t,"RouterState",function(){return jt}),n.d(t,"RouterStateSnapshot",function(){return Tt}),n.d(t,"PRIMARY_OUTLET",function(){return Ne}),n.d(t,"convertToParamMap",function(){return Pe}),n.d(t,"UrlHandlingStrategy",function(){return Mn}),n.d(t,"DefaultUrlSerializer",function(){return at}),n.d(t,"UrlSegment",function(){return et}),n.d(t,"UrlSegmentGroup",function(){return Xe}),n.d(t,"UrlSerializer",function(){return rt}),n.d(t,"UrlTree",function(){return Je}),n.d(t,"VERSION",function(){return vr}),n.d(t,"ɵEmptyOutletComponent",function(){return De}),n.d(t,"ɵROUTER_PROVIDERS",function(){return ir}),n.d(t,"ɵflatten",function(){return We}); /** * @license Angular v7.2.1 * (c) 2010-2018 Google, Inc. https://angular.io/ @@ -1243,7 +1243,7 @@ function Bn(e){throw e}function Ln(e,t,n){return t.parse("/")}function Fn(e,t){r * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - */},function(e,t,n){var r=n(19);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){"use strict";n.r(t);var r=n(1),a=n(0),i=n(32),o=n(200),s=n(91),l=n(121),c=n(122),u=n(201);var d=function(e){function t(t,n){var r=e.call(this,t)||this;r.sources=n,r.completed=0,r.haveValues=0;var a=n.length;r.values=new Array(a);for(var i=0;i0?a(r(e),9007199254740991):0}},function(e,t,n){var r=n(11),a=n(204),i=n(66),o=Object.defineProperty;t.f=n(27)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),a)try{return o(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(18)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,function(e,t){e.exports={options:{usePureJavaScript:!1}}},function(e,t,n){"use strict";var r=n(36);var a=n(183),i=n(203);var o=n(119),s=n(247),l=n(92);n.d(t,"a",function(){return c});var c=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var o=this.operator,s=function(e,t,n){if(e){if(e instanceof r.a)return e;if(e[a.a])return e[a.a]()}return e||t||n?new r.a(e,t,n):new r.a(i.a)}(e,t,n);if(o?o.call(s,this.source):s.add(this.source||l.a.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),l.a.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){l.a.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),!function(e){for(;e;){var t=e,n=t.closed,a=t.destination,i=t.isStopped;if(n||i)return!1;e=a&&a instanceof r.a?a:null}return!0}(e)?console.warn(t):e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=u(t))(function(t,r){var a;a=n.subscribe(function(t){try{e(t)}catch(e){r(e),a&&a.unsubscribe()}},r,t)})},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[o.a]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t15?(a=Date.now(),l(e)):(n.push(e),1===n.length&&o.setAttribute("a",i=!i))}}s.nextTick=s.setImmediate}(),s.isNodejs=void 0!==t&&t.versions&&t.versions.node,s.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},s.isArrayBufferView=function(e){return e&&s.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},s.ByteBuffer=c,s.ByteStringBuffer=c;s.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},s.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},s.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},s.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},s.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var n=this.data;t>0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return this.data=n,this._optimizeConstructedString(t),this},s.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},s.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(s.encodeUtf8(e))},s.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},s.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},s.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},s.ByteStringBuffer.prototype.putInt=function(e,t){l(t);var n="";do{t-=8,n+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(n)},s.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},s.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},s.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},s.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},s.ByteStringBuffer.prototype.copy=function(){var e=s.createBuffer(this.data);return e.read=this.read,e},s.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},s.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},s.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},s.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var n=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),r=new Uint8Array(this.length()+t);return r.set(n),this.data=new DataView(r.buffer),this},s.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},s.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var n=0;n>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},s.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},s.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},s.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},s.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},s.DataBuffer.prototype.putInt=function(e,t){l(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},s.DataBuffer.prototype.putSignedInt=function(e,t){return l(t),this.accommodate(t/8),e<0&&(e+=2<0);return t},s.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},s.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},s.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},s.DataBuffer.prototype.copy=function(){return new s.DataBuffer(this)},s.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},s.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},s.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},s.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return n},s.xorBytes=function(e,t,n){for(var r="",a="",i="",o=0,s=0;n>0;--n,++o)a=e.charCodeAt(o)^t.charCodeAt(o),s>=10&&(r+=i,i="",s=0),i+=String.fromCharCode(a),++s;return r+=i},s.hexToBytes=function(e){var t="",n=0;for(!0&e.length&&(n=1,t+=String.fromCharCode(parseInt(e[0],16)));n>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],h="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";s.encode64=function(e,t){for(var n,r,a,i="",o="",s=0;s>2),i+=u.charAt((3&n)<<4|r>>4),isNaN(r)?i+="==":(i+=u.charAt((15&r)<<2|a>>6),i+=isNaN(a)?"=":u.charAt(63&a)),t&&i.length>t&&(o+=i.substr(0,t)+"\r\n",i=i.substr(t));return o+=i},s.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,n,r,a,i="",o=0;o>4),64!==r&&(i+=String.fromCharCode((15&n)<<4|r>>2),64!==a&&(i+=String.fromCharCode((3&r)<<6|a)));return i},s.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},s.decodeUtf8=function(e){return decodeURIComponent(escape(e))},s.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:o.encode,decode:o.decode}},s.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},s.binary.raw.decode=function(e,t,n){var r=t;r||(r=new Uint8Array(e.length));for(var a=n=n||0,i=0;i>2),i+=u.charAt((3&n)<<4|r>>4),isNaN(r)?i+="==":(i+=u.charAt((15&r)<<2|a>>6),i+=isNaN(a)?"=":u.charAt(63&a)),t&&i.length>t&&(o+=i.substr(0,t)+"\r\n",i=i.substr(t));return o+=i},s.binary.base64.decode=function(e,t,n){var r,a,i,o,s=t;s||(s=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var l=0,c=n=n||0;l>4,64!==i&&(s[c++]=(15&a)<<4|i>>2,64!==o&&(s[c++]=(3&i)<<6|o));return t?c-n:s.subarray(0,c)},s.binary.base58.encode=function(e,t){return s.binary.baseN.encode(e,h,t)},s.binary.base58.decode=function(e,t){return s.binary.baseN.decode(e,h,t)},s.text={utf8:{},utf16:{}},s.text.utf8.encode=function(e,t,n){e=s.encodeUtf8(e);var r=t;r||(r=new Uint8Array(e.length));for(var a=n=n||0,i=0;i0?(a=n[r].substring(0,o),i=n[r].substring(o+1)):(a=n[r],i=null),a in t||(t[a]=[]),a in Object.prototype||null===i||t[a].push(unescape(i))}return t};return void 0===e?(null===k&&(k="undefined"!=typeof window&&window.location&&window.location.search?n(window.location.search.substring(1)):{}),t=k):t=n(e),t},s.parseFragment=function(e){var t=e,n="",r=e.indexOf("?");r>0&&(t=e.substring(0,r),n=e.substring(r+1));var a=t.split("/");return a.length>0&&""===a[0]&&a.shift(),{pathString:t,queryString:n,path:a,query:""===n?{}:s.getQueryVariables(n)}},s.makeRequest=function(e){var t=s.parseFragment(e),n={path:t.pathString,query:t.queryString,getPath:function(e){return void 0===e?t.path:t.path[e]},getQuery:function(e,n){var r;return void 0===e?r=t.query:(r=t.query[e])&&void 0!==n&&(r=r[n]),r},getQueryLast:function(e,t){var r=n.getQuery(e);return r?r[r.length-1]:t}};return n},s.makeLink=function(e,t,n){e=jQuery.isArray(e)?e.join("/"):e;var r=jQuery.param(t||{});return n=n||"",e+(r.length>0?"?"+r:"")+(n.length>0?"#"+n:"")},s.setPath=function(e,t,n){if("object"==typeof e&&null!==e)for(var r=0,a=t.length;r0&&i.push(n),o=r.lastIndex;var s=t[0][1];switch(s){case"s":case"o":a");break;case"%":i.push("%");break;default:i.push("<%"+s+"?>")}}return i.push(e.substring(o)),i.join("")},s.formatNumber=function(e,t,n,r){var a=e,i=isNaN(t=Math.abs(t))?2:t,o=void 0===n?",":n,s=void 0===r?".":r,l=a<0?"-":"",c=parseInt(a=Math.abs(+a||0).toFixed(i),10)+"",u=c.length>3?c.length%3:0;return l+(u?c.substr(0,u)+s:"")+c.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+s)+(i?o+Math.abs(a-c).toFixed(i).slice(2):"")},s.formatSize=function(e){return e=e>=1073741824?s.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?s.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?s.formatNumber(e/1024,0)+" KiB":s.formatNumber(e,0)+" bytes"},s.bytesFromIP=function(e){return-1!==e.indexOf(".")?s.bytesFromIPv4(e):-1!==e.indexOf(":")?s.bytesFromIPv6(e):null},s.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var t=s.createBuffer(),n=0;nn[r].end-n[r].start&&(r=n.length-1)):n.push({start:l,end:l})}t.push(i)}if(n.length>0){var c=n[r];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),0===c.start&&t.unshift(""),7===c.end&&t.push(""))}return t.join(":")},s.estimateCores=function(e,t){if("function"==typeof e&&(t=e,e={}),e=e||{},"cores"in s&&!e.update)return t(null,s.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return s.cores=navigator.hardwareConcurrency,t(null,s.cores);if("undefined"==typeof Worker)return s.cores=1,t(null,s.cores);if("undefined"==typeof Blob)return s.cores=2,t(null,s.cores);var n=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){for(var t=Date.now(),n=t+4;Date.now()s.st&&a.sta.st&&s.st0?a(r(e),9007199254740991):0}},function(e,t,n){var r=n(11),a=n(204),i=n(66),o=Object.defineProperty;t.f=n(29)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),a)try{return o(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},,,function(e,t,n){e.exports=!n(18)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,function(e,t){e.exports={options:{usePureJavaScript:!1}}},function(e,t,n){"use strict";var r=n(36);var a=n(183),i=n(203);var o=n(119),s=n(247),l=n(93);n.d(t,"a",function(){return c});var c=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var o=this.operator,s=function(e,t,n){if(e){if(e instanceof r.a)return e;if(e[a.a])return e[a.a]()}return e||t||n?new r.a(e,t,n):new r.a(i.a)}(e,t,n);if(o?o.call(s,this.source):s.add(this.source||l.a.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),l.a.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){l.a.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),!function(e){for(;e;){var t=e,n=t.closed,a=t.destination,i=t.isStopped;if(n||i)return!1;e=a&&a instanceof r.a?a:null}return!0}(e)?console.warn(t):e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=u(t))(function(t,r){var a;a=n.subscribe(function(t){try{e(t)}catch(e){r(e),a&&a.unsubscribe()}},r,t)})},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[o.a]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t15?(a=Date.now(),l(e)):(n.push(e),1===n.length&&o.setAttribute("a",i=!i))}}s.nextTick=s.setImmediate}(),s.isNodejs=void 0!==t&&t.versions&&t.versions.node,s.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},s.isArrayBufferView=function(e){return e&&s.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},s.ByteBuffer=c,s.ByteStringBuffer=c;s.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},s.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},s.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},s.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},s.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var n=this.data;t>0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return this.data=n,this._optimizeConstructedString(t),this},s.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},s.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(s.encodeUtf8(e))},s.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},s.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},s.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},s.ByteStringBuffer.prototype.putInt=function(e,t){l(t);var n="";do{t-=8,n+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(n)},s.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},s.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},s.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},s.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},s.ByteStringBuffer.prototype.copy=function(){var e=s.createBuffer(this.data);return e.read=this.read,e},s.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},s.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},s.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},s.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var n=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),r=new Uint8Array(this.length()+t);return r.set(n),this.data=new DataView(r.buffer),this},s.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},s.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var n=0;n>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},s.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},s.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},s.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},s.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},s.DataBuffer.prototype.putInt=function(e,t){l(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},s.DataBuffer.prototype.putSignedInt=function(e,t){return l(t),this.accommodate(t/8),e<0&&(e+=2<0);return t},s.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},s.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},s.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},s.DataBuffer.prototype.copy=function(){return new s.DataBuffer(this)},s.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},s.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},s.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},s.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return n},s.xorBytes=function(e,t,n){for(var r="",a="",i="",o=0,s=0;n>0;--n,++o)a=e.charCodeAt(o)^t.charCodeAt(o),s>=10&&(r+=i,i="",s=0),i+=String.fromCharCode(a),++s;return r+=i},s.hexToBytes=function(e){var t="",n=0;for(!0&e.length&&(n=1,t+=String.fromCharCode(parseInt(e[0],16)));n>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],h="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";s.encode64=function(e,t){for(var n,r,a,i="",o="",s=0;s>2),i+=u.charAt((3&n)<<4|r>>4),isNaN(r)?i+="==":(i+=u.charAt((15&r)<<2|a>>6),i+=isNaN(a)?"=":u.charAt(63&a)),t&&i.length>t&&(o+=i.substr(0,t)+"\r\n",i=i.substr(t));return o+=i},s.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,n,r,a,i="",o=0;o>4),64!==r&&(i+=String.fromCharCode((15&n)<<4|r>>2),64!==a&&(i+=String.fromCharCode((3&r)<<6|a)));return i},s.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},s.decodeUtf8=function(e){return decodeURIComponent(escape(e))},s.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:o.encode,decode:o.decode}},s.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},s.binary.raw.decode=function(e,t,n){var r=t;r||(r=new Uint8Array(e.length));for(var a=n=n||0,i=0;i>2),i+=u.charAt((3&n)<<4|r>>4),isNaN(r)?i+="==":(i+=u.charAt((15&r)<<2|a>>6),i+=isNaN(a)?"=":u.charAt(63&a)),t&&i.length>t&&(o+=i.substr(0,t)+"\r\n",i=i.substr(t));return o+=i},s.binary.base64.decode=function(e,t,n){var r,a,i,o,s=t;s||(s=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var l=0,c=n=n||0;l>4,64!==i&&(s[c++]=(15&a)<<4|i>>2,64!==o&&(s[c++]=(3&i)<<6|o));return t?c-n:s.subarray(0,c)},s.binary.base58.encode=function(e,t){return s.binary.baseN.encode(e,h,t)},s.binary.base58.decode=function(e,t){return s.binary.baseN.decode(e,h,t)},s.text={utf8:{},utf16:{}},s.text.utf8.encode=function(e,t,n){e=s.encodeUtf8(e);var r=t;r||(r=new Uint8Array(e.length));for(var a=n=n||0,i=0;i0?(a=n[r].substring(0,o),i=n[r].substring(o+1)):(a=n[r],i=null),a in t||(t[a]=[]),a in Object.prototype||null===i||t[a].push(unescape(i))}return t};return void 0===e?(null===k&&(k="undefined"!=typeof window&&window.location&&window.location.search?n(window.location.search.substring(1)):{}),t=k):t=n(e),t},s.parseFragment=function(e){var t=e,n="",r=e.indexOf("?");r>0&&(t=e.substring(0,r),n=e.substring(r+1));var a=t.split("/");return a.length>0&&""===a[0]&&a.shift(),{pathString:t,queryString:n,path:a,query:""===n?{}:s.getQueryVariables(n)}},s.makeRequest=function(e){var t=s.parseFragment(e),n={path:t.pathString,query:t.queryString,getPath:function(e){return void 0===e?t.path:t.path[e]},getQuery:function(e,n){var r;return void 0===e?r=t.query:(r=t.query[e])&&void 0!==n&&(r=r[n]),r},getQueryLast:function(e,t){var r=n.getQuery(e);return r?r[r.length-1]:t}};return n},s.makeLink=function(e,t,n){e=jQuery.isArray(e)?e.join("/"):e;var r=jQuery.param(t||{});return n=n||"",e+(r.length>0?"?"+r:"")+(n.length>0?"#"+n:"")},s.setPath=function(e,t,n){if("object"==typeof e&&null!==e)for(var r=0,a=t.length;r0&&i.push(n),o=r.lastIndex;var s=t[0][1];switch(s){case"s":case"o":a");break;case"%":i.push("%");break;default:i.push("<%"+s+"?>")}}return i.push(e.substring(o)),i.join("")},s.formatNumber=function(e,t,n,r){var a=e,i=isNaN(t=Math.abs(t))?2:t,o=void 0===n?",":n,s=void 0===r?".":r,l=a<0?"-":"",c=parseInt(a=Math.abs(+a||0).toFixed(i),10)+"",u=c.length>3?c.length%3:0;return l+(u?c.substr(0,u)+s:"")+c.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+s)+(i?o+Math.abs(a-c).toFixed(i).slice(2):"")},s.formatSize=function(e){return e=e>=1073741824?s.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?s.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?s.formatNumber(e/1024,0)+" KiB":s.formatNumber(e,0)+" bytes"},s.bytesFromIP=function(e){return-1!==e.indexOf(".")?s.bytesFromIPv4(e):-1!==e.indexOf(":")?s.bytesFromIPv6(e):null},s.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var t=s.createBuffer(),n=0;nn[r].end-n[r].start&&(r=n.length-1)):n.push({start:l,end:l})}t.push(i)}if(n.length>0){var c=n[r];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),0===c.start&&t.unshift(""),7===c.end&&t.push(""))}return t.join(":")},s.estimateCores=function(e,t){if("function"==typeof e&&(t=e,e={}),e=e||{},"cores"in s&&!e.update)return t(null,s.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return s.cores=navigator.hardwareConcurrency,t(null,s.cores);if("undefined"==typeof Worker)return s.cores=1,t(null,s.cores);if("undefined"==typeof Blob)return s.cores=2,t(null,s.cores);var n=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){for(var t=Date.now(),n=t+4;Date.now()s.st&&a.sta.st&&s.st"+a+""};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*a(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},,function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(16),a=n(51),i=n(46),o=n(78)("src"),s=Function.toString,l=(""+s).split("toString");n(50).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var c="function"==typeof n;c&&(i(n,"name")||a(n,"name",t)),e[t]!==n&&(c&&(i(n,o)||a(n,o,e[t]?""+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:a(e,t,n):(delete e[t],a(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||s.call(this)})},function(e,t,n){var r=n(105),a=n(67);e.exports=function(e){return r(a(e))}},function(e,t,n){"use strict";var r,a=n(200),i=n(284),o=n(182),s={e:{}};function l(){try{return r.apply(this,arguments)}catch(e){return s.e=e,s}}function c(e){return r=e,l}function u(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}u.prototype=Object.create(Error.prototype);var d=u;n.d(t,"a",function(){return h});var h=function(){function e(e){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,e&&(this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var e,t=!1;if(!this.closed){var n=this._parent,r=this._parents,l=this._unsubscribe,u=this._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;for(var h=-1,f=r?r.length:0;n;)n.remove(this),n=++h0?r:n)(e)}},,function(e,t,n){"use strict";n.r(t);var r,a,i=(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=function(e){function t(t,n){var r=this,a=this.constructor.prototype;return(r=e.call(this,t)||this).statusCode=n,r.__proto__=a,r}return i(t,e),t}(Error),s=function(e){function t(t){void 0===t&&(t="A timeout occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error);!function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(a||(a={}));var l,c=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),u=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=200&&i.status<300?n(new d(i.status,i.statusText,i.response||i.responseText)):r(new o(i.statusText,i.status))},i.onerror=function(){t.logger.log(a.Warning,"Error from HTTP request. "+i.status+": "+i.statusText),r(new o(i.statusText,i.status))},i.ontimeout=function(){t.logger.log(a.Warning,"Timeout from HTTP request."),r(new s)},i.send(e.content||"")})},t}(h),f=function(){function e(){}return e.write=function(t){return""+t+e.RecordSeparator},e.parse=function(t){if(t[t.length-1]!==e.RecordSeparator)throw new Error("Message is incomplete.");var n=t.split(e.RecordSeparator);return n.pop(),n},e.RecordSeparatorCode=30,e.RecordSeparator=String.fromCharCode(e.RecordSeparatorCode),e}(),m=function(){function e(){}return e.prototype.writeHandshakeRequest=function(e){return f.write(JSON.stringify(e))},e.prototype.parseHandshakeResponse=function(e){var t,n;if(e instanceof ArrayBuffer){var r=new Uint8Array(e);if(-1===(i=r.indexOf(f.RecordSeparatorCode)))throw new Error("Message is incomplete.");var a=i+1;t=String.fromCharCode.apply(null,r.slice(0,a)),n=r.byteLength>a?r.slice(a).buffer:null}else{var i,o=e;if(-1===(i=o.indexOf(f.RecordSeparator)))throw new Error("Message is incomplete.");a=i+1;t=o.substring(0,a),n=o.length>a?o.substring(a):null}var s=f.parse(t);return[n,JSON.parse(s[0])]},e}();!function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close"}(l||(l={}));var g=function(){function e(){}return e.prototype.log=function(e,t){},e.instance=new e,e}(),y=function(e,t,n,r){return new(n||(n=Promise))(function(a,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){e.done?a(e.value):new n(function(t){t(e.value)}).then(o,s)}l((r=r.apply(e,t||[])).next())})},b=function(e,t){var n,r,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]-1&&this.subject.observers.splice(e,1),0===this.subject.observers.length&&this.subject.cancelCallback().catch(function(e){})},e}(),C=function(){function e(e){this.minimumLogLevel=e}return e.prototype.log=function(e,t){if(e>=this.minimumLogLevel)switch(e){case a.Critical:case a.Error:console.error(a[e]+": "+t);break;case a.Warning:console.warn(a[e]+": "+t);break;case a.Information:console.info(a[e]+": "+t);break;default:console.log(a[e]+": "+t)}},e}(),S=function(e,t,n,r){return new(n||(n=Promise))(function(a,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){e.done?a(e.value):new n(function(t){t(e.value)}).then(o,s)}l((r=r.apply(e,t||[])).next())})},T=function(e,t){var n,r,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]")),this.onclose(n)),this.logger.log(a.Trace,"(LongPolling transport) Transport finished."),[7];case 9:return[2]}})})},e.prototype.send=function(e){return I(this,void 0,void 0,function(){return D(this,function(t){return this.running?[2,w(this.logger,"LongPolling",this.httpClient,this.url,this.accessTokenFactory,e,this.logMessageContent)]:[2,Promise.reject(new Error("Cannot send until the transport is connected"))]})})},e.prototype.stop=function(){return I(this,void 0,void 0,function(){var e,t,n=this;return D(this,function(r){switch(r.label){case 0:return r.trys.push([0,,3,4]),this.running=!1,this.logger.log(a.Trace,"(LongPolling transport) sending DELETE request to "+this.url+"."),e={headers:{}},[4,this.accessTokenFactory()];case 1:return t=r.sent(),this.updateHeaderToken(e,t),[4,this.httpClient.delete(this.url,e)];case 2:return r.sent(),this.logger.log(a.Trace,"(LongPolling transport) DELETE request accepted."),[3,4];case 3:return this.stopped||(this.shutdownTimer=setTimeout(function(){n.logger.log(a.Warning,"(LongPolling transport) server did not terminate after DELETE request, canceling poll."),n.pollAbort.abort()},this.shutdownTimeout)),[7];case 4:return[2]}})})},e}(),P=function(e,t,n,r){return new(n||(n=Promise))(function(a,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){e.done?a(e.value):new n(function(t){t(e.value)}).then(o,s)}l((r=r.apply(e,t||[])).next())})},M=function(e,t){var n,r,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]=0){if(!(r===_.WebSockets&&"undefined"==typeof WebSocket||r===_.ServerSentEvents&&"undefined"==typeof EventSource))return this.logger.log(a.Debug,"Selecting transport '"+_[r]+"'"),r;this.logger.log(a.Debug,"Skipping transport '"+_[r]+"' because it is not supported in your environment.'")}else this.logger.log(a.Debug,"Skipping transport '"+_[r]+"' because it does not support the requested transfer format '"+j[n]+"'.");else this.logger.log(a.Debug,"Skipping transport '"+_[r]+"' because it was disabled by the client.")}return null},e.prototype.isITransport=function(e){return e&&"object"==typeof e&&"connect"in e},e.prototype.changeState=function(e,t){return this.connectionState===e&&(this.connectionState=t,!0)},e.prototype.stopConnection=function(e){return U(this,void 0,void 0,function(){return V(this,function(t){return this.transport=null,(e=this.stopError||e)?this.logger.log(a.Error,"Connection disconnected with error '"+e+"'."):this.logger.log(a.Information,"Connection disconnected."),this.connectionState=2,this.onclose&&this.onclose(e),[2]})})},e.prototype.resolveUrl=function(e){if(0===e.lastIndexOf("https://",0)||0===e.lastIndexOf("http://",0))return e;if("undefined"==typeof window||!window||!window.document)throw new Error("Cannot resolve '"+e+"'.");var t=window.document.createElement("a");return t.href=e,this.logger.log(a.Information,"Normalizing '"+e+"' to '"+t.href+"'."),t.href},e.prototype.resolveNegotiateUrl=function(e){var t=e.indexOf("?"),n=e.substring(0,-1===t?e.length:t);return"/"!==n[n.length-1]&&(n+="/"),n+="negotiate",n+=-1===t?"":e.substring(t)},e}();var K="json",W=function(){function e(){this.name=K,this.version=1,this.transferFormat=j.Text}return e.prototype.parseMessages=function(e,t){if("string"!=typeof e)throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!e)return[];null===t&&(t=g.instance);for(var n=[],r=0,i=f.parse(e);rw;w++)if((h||w in b)&&(g=v(m=b[w],w,y),e))if(n)_[w]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(u)return!1;return d?-1:c||u?u:_}}},,,,function(e,t,n){var r=n(19);e.exports=function(e,t){if(!r(e))return e;var n,a;if(t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;if("function"==typeof(n=e.valueOf)&&!r(a=n.call(e)))return a;if(!t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";if(n(27)){var r=n(76),a=n(16),i=n(18),o=n(2),s=n(132),l=n(169),c=n(56),u=n(86),d=n(75),h=n(51),p=n(88),f=n(57),m=n(25),g=n(229),y=n(80),b=n(66),v=n(46),k=n(83),w=n(19),_=n(37),j=n(165),x=n(71),E=n(53),C=n(81).f,S=n(127),T=n(78),O=n(24),z=n(62),A=n(140),I=n(116),D=n(188),N=n(94),R=n(128),P=n(85),M=n(166),q=n(220),B=n(26),L=n(54),F=B.f,U=L.f,V=a.RangeError,H=a.TypeError,K=a.Uint8Array,W=Array.prototype,G=l.ArrayBuffer,Q=l.DataView,$=z(0),Y=z(2),Z=z(3),J=z(4),X=z(5),ee=z(6),te=A(!0),ne=A(!1),re=D.values,ae=D.keys,ie=D.entries,oe=W.lastIndexOf,se=W.reduce,le=W.reduceRight,ce=W.join,ue=W.sort,de=W.slice,he=W.toString,pe=W.toLocaleString,fe=O("iterator"),me=O("toStringTag"),ge=T("typed_constructor"),ye=T("def_constructor"),be=s.CONSTR,ve=s.TYPED,ke=s.VIEW,we=z(1,function(e,t){return Ce(I(e,e[ye]),t)}),_e=i(function(){return 1===new K(new Uint16Array([1]).buffer)[0]}),je=!!K&&!!K.prototype.set&&i(function(){new K(1).set({})}),xe=function(e,t){var n=f(e);if(n<0||n%t)throw V("Wrong offset!");return n},Ee=function(e){if(w(e)&&ve in e)return e;throw H(e+" is not a typed array!")},Ce=function(e,t){if(!(w(e)&&ge in e))throw H("It is not a typed array constructor!");return new e(t)},Se=function(e,t){return Te(I(e,e[ye]),t)},Te=function(e,t){for(var n=0,r=t.length,a=Ce(e,r);r>n;)a[n]=t[n++];return a},Oe=function(e,t,n){F(e,t,{get:function(){return this._d[n]}})},ze=function(e){var t,n,r,a,i,o,s=_(e),l=arguments.length,u=l>1?arguments[1]:void 0,d=void 0!==u,h=S(s);if(null!=h&&!j(h)){for(o=h.call(s),r=[],t=0;!(i=o.next()).done;t++)r.push(i.value);s=r}for(d&&l>2&&(u=c(u,arguments[2],2)),t=0,n=m(s.length),a=Ce(this,n);n>t;t++)a[t]=d?u(s[t],t):s[t];return a},Ae=function(){for(var e=0,t=arguments.length,n=Ce(this,t);t>e;)n[e]=arguments[e++];return n},Ie=!!K&&i(function(){pe.call(new K(1))}),De=function(){return pe.apply(Ie?de.call(Ee(this)):Ee(this),arguments)},Ne={copyWithin:function(e,t){return q.call(Ee(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return J(Ee(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return M.apply(Ee(this),arguments)},filter:function(e){return Se(this,Y(Ee(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return X(Ee(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(Ee(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){$(Ee(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(Ee(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(Ee(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return ce.apply(Ee(this),arguments)},lastIndexOf:function(e){return oe.apply(Ee(this),arguments)},map:function(e){return we(Ee(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return se.apply(Ee(this),arguments)},reduceRight:function(e){return le.apply(Ee(this),arguments)},reverse:function(){for(var e,t=Ee(this).length,n=Math.floor(t/2),r=0;r1?arguments[1]:void 0)},sort:function(e){return ue.call(Ee(this),e)},subarray:function(e,t){var n=Ee(this),r=n.length,a=y(e,r);return new(I(n,n[ye]))(n.buffer,n.byteOffset+a*n.BYTES_PER_ELEMENT,m((void 0===t?r:y(t,r))-a))}},Re=function(e,t){return Se(this,de.call(Ee(this),e,t))},Pe=function(e){Ee(this);var t=xe(arguments[1],1),n=this.length,r=_(e),a=m(r.length),i=0;if(a+t>n)throw V("Wrong length!");for(;i255?255:255&r),a.v[p](n*t+a.o,r,_e)}(this,n,e)},enumerable:!0})};v?(f=n(function(e,n,r,a){u(e,f,c,"_d");var i,o,s,l,d=0,p=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(l=k(n))||"SharedArrayBuffer"==l))return ve in n?Te(f,n):ze.call(f,n);i=n,p=xe(r,t);var y=n.byteLength;if(void 0===a){if(y%t)throw V("Wrong length!");if((o=y-p)<0)throw V("Wrong length!")}else if((o=m(a)*t)+p>y)throw V("Wrong length!");s=o/t}else s=g(n),i=new G(o=s*t);for(h(e,"_d",{b:i,o:p,l:o,e:s,v:new Q(i)});ddocument.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[i[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[o]=e):n=l(),void 0===t?n:a(n,t)}},,,,function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){e.exports=!1},function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"AnimationDriver",function(){return T}),n.d(t,"ɵAnimationDriver",function(){return T}),n.d(t,"ɵAnimation",function(){return Ee}),n.d(t,"ɵAnimationStyleNormalizer",function(){return Ce}),n.d(t,"ɵNoopAnimationStyleNormalizer",function(){return Se}),n.d(t,"ɵWebAnimationsStyleNormalizer",function(){return Te}),n.d(t,"ɵNoopAnimationDriver",function(){return S}),n.d(t,"ɵAnimationEngine",function(){return nt}),n.d(t,"ɵCssKeyframesDriver",function(){return mt}),n.d(t,"ɵCssKeyframesPlayer",function(){return pt}),n.d(t,"ɵcontainsElement",function(){return x}),n.d(t,"ɵinvokeQuery",function(){return E}),n.d(t,"ɵmatchesElement",function(){return j}),n.d(t,"ɵvalidateStyleProperty",function(){return _}),n.d(t,"ɵWebAnimationsDriver",function(){return yt}),n.d(t,"ɵsupportsWebAnimations",function(){return bt}),n.d(t,"ɵWebAnimationsPlayer",function(){return gt}),n.d(t,"ɵallowPreviousPlayerStylesMerge",function(){return $});var r=n(1),a=n(15),i=n(0);function o(){return void 0!==e}function s(e){switch(e.length){case 0:return new a.NoopAnimationPlayer;case 1:return e[0];default:return new a["ɵAnimationGroupPlayer"](e)}}function l(e,t,n,r,i,o){void 0===i&&(i={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach(function(e){var n=e.offset,r=n==c,d=r&&u||{};Object.keys(e).forEach(function(n){var r=n,l=e[n];if("offset"!==n)switch(r=t.normalizePropertyName(r,s),l){case a["ɵPRE_STYLE"]:l=i[n];break;case a.AUTO_STYLE:l=o[n];break;default:l=t.normalizeStyleValue(n,r,l,s)}d[r]=l}),r||l.push(d),u=d,c=n}),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function c(e,t,n,r){switch(t){case"start":e.onStart(function(){return r(n&&u(n,"start",e))});break;case"done":e.onDone(function(){return r(n&&u(n,"done",e))});break;case"destroy":e.onDestroy(function(){return r(n&&u(n,"destroy",e))})}}function u(e,t,n){var r=n.totalTime,a=!!n.disabled,i=d(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==r?e.totalTime:r,a),o=e._data;return null!=o&&(i._data=o),i}function d(e,t,n,r,a,i,o){return void 0===a&&(a=""),void 0===i&&(i=0),{element:e,triggerName:t,fromState:n,toState:r,phaseName:a,totalTime:i,disabled:!!o}}function h(e,t,n){var r;return e instanceof Map?(r=e.get(t))||e.set(t,r=n):(r=e[t])||(r=e[t]=n),r}function p(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var f=function(e,t){return!1},m=function(e,t){return!1},g=function(e,t,n){return[]},y=o();if(y||"undefined"!=typeof Element){if(f=function(e,t){return e.contains(t)},y||Element.prototype.matches)m=function(e,t){return e.matches(t)};else{var b=Element.prototype,v=b.matchesSelector||b.mozMatchesSelector||b.msMatchesSelector||b.oMatchesSelector||b.webkitMatchesSelector;v&&(m=function(e,t){return v.apply(e,[t])})}g=function(e,t,n){var a=[];if(n)a.push.apply(a,Object(r.g)(e.querySelectorAll(t)));else{var i=e.querySelector(t);i&&a.push(i)}return a}}var k=null,w=!1;function _(e){k||(k=function(){if("undefined"!=typeof document)return document.body;return null}()||{},w=!!k.style&&"WebkitAppearance"in k.style);var t=!0;k.style&&!function(e){return"ebkit"==e.substring(1,6)}(e)&&(!(t=e in k.style)&&w&&(t="Webkit"+e.charAt(0).toUpperCase()+e.substr(1)in k.style));return t}var j=m,x=f,E=g;function C(e){var t={};return Object.keys(e).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");t[r]=e[n]}),t}var S=function(){function e(){}return e.prototype.validateStyleProperty=function(e){return _(e)},e.prototype.matchesElement=function(e,t){return j(e,t)},e.prototype.containsElement=function(e,t){return x(e,t)},e.prototype.query=function(e,t,n){return E(e,t,n)},e.prototype.computeStyle=function(e,t,n){return n||""},e.prototype.animate=function(e,t,n,r,i,o,s){return void 0===o&&(o=[]),new a.NoopAnimationPlayer(n,r)},e=Object(r.b)([Object(i.Injectable)()],e)}(),T=function(){function e(){}return e.NOOP=new S,e}(),O=1e3,z=".ng-trigger",A=".ng-animating";function I(e){if("number"==typeof e)return e;var t=e.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:D(parseFloat(t[1]),t[2])}function D(e,t){switch(t){case"s":return e*O;default:return e}}function N(e,t,n){return e.hasOwnProperty("duration")?e:function(e,t,n){var r,a=0,i="";if("string"==typeof e){var o=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===o)return t.push('The provided timing value "'+e+'" is invalid.'),{duration:0,delay:0,easing:""};r=D(parseFloat(o[1]),o[2]);var s=o[3];null!=s&&(a=D(parseFloat(s),o[4]));var l=o[5];l&&(i=l)}else r=e;if(!n){var c=!1,u=t.length;r<0&&(t.push("Duration values below 0 are not allowed for this animation step."),c=!0),a<0&&(t.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&t.splice(u,0,'The provided timing value "'+e+'" is invalid.')}return{duration:r,delay:a,easing:i}}(e,t,n)}function R(e,t){return void 0===t&&(t={}),Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function P(e){var t={};return Array.isArray(e)?e.forEach(function(e){return M(e,!1,t)}):M(e,!1,t),t}function M(e,t,n){if(void 0===n&&(n={}),t)for(var r in e)n[r]=e[r];else R(e,n);return n}function q(e,t,n){return n?t+":"+n+";":""}function B(e){for(var t="",n=0;n"+a+""};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*a(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},,,function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(17),a=n(52),i=n(47),o=n(78)("src"),s=Function.toString,l=(""+s).split("toString");n(51).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var c="function"==typeof n;c&&(i(n,"name")||a(n,"name",t)),e[t]!==n&&(c&&(i(n,o)||a(n,o,e[t]?""+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:a(e,t,n):(delete e[t],a(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||s.call(this)})},function(e,t,n){var r=n(105),a=n(67);e.exports=function(e){return r(a(e))}},function(e,t,n){"use strict";var r,a=n(200),i=n(284),o=n(182),s={e:{}};function l(){try{return r.apply(this,arguments)}catch(e){return s.e=e,s}}function c(e){return r=e,l}function u(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}u.prototype=Object.create(Error.prototype);var d=u;n.d(t,"a",function(){return h});var h=function(){function e(e){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,e&&(this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var e,t=!1;if(!this.closed){var n=this._parent,r=this._parents,l=this._unsubscribe,u=this._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;for(var h=-1,f=r?r.length:0;n;)n.remove(this),n=++h0?r:n)(e)}},,function(e,t,n){"use strict";n.r(t);var r,a,i=(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=function(e){function t(t,n){var r=this,a=this.constructor.prototype;return(r=e.call(this,t)||this).statusCode=n,r.__proto__=a,r}return i(t,e),t}(Error),s=function(e){function t(t){void 0===t&&(t="A timeout occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error);!function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(a||(a={}));var l,c=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),u=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=200&&i.status<300?n(new d(i.status,i.statusText,i.response||i.responseText)):r(new o(i.statusText,i.status))},i.onerror=function(){t.logger.log(a.Warning,"Error from HTTP request. "+i.status+": "+i.statusText),r(new o(i.statusText,i.status))},i.ontimeout=function(){t.logger.log(a.Warning,"Timeout from HTTP request."),r(new s)},i.send(e.content||"")})},t}(h),f=function(){function e(){}return e.write=function(t){return""+t+e.RecordSeparator},e.parse=function(t){if(t[t.length-1]!==e.RecordSeparator)throw new Error("Message is incomplete.");var n=t.split(e.RecordSeparator);return n.pop(),n},e.RecordSeparatorCode=30,e.RecordSeparator=String.fromCharCode(e.RecordSeparatorCode),e}(),m=function(){function e(){}return e.prototype.writeHandshakeRequest=function(e){return f.write(JSON.stringify(e))},e.prototype.parseHandshakeResponse=function(e){var t,n;if(e instanceof ArrayBuffer){var r=new Uint8Array(e);if(-1===(i=r.indexOf(f.RecordSeparatorCode)))throw new Error("Message is incomplete.");var a=i+1;t=String.fromCharCode.apply(null,r.slice(0,a)),n=r.byteLength>a?r.slice(a).buffer:null}else{var i,o=e;if(-1===(i=o.indexOf(f.RecordSeparator)))throw new Error("Message is incomplete.");a=i+1;t=o.substring(0,a),n=o.length>a?o.substring(a):null}var s=f.parse(t);return[n,JSON.parse(s[0])]},e}();!function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close"}(l||(l={}));var g=function(){function e(){}return e.prototype.log=function(e,t){},e.instance=new e,e}(),y=function(e,t,n,r){return new(n||(n=Promise))(function(a,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){e.done?a(e.value):new n(function(t){t(e.value)}).then(o,s)}l((r=r.apply(e,t||[])).next())})},b=function(e,t){var n,r,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]-1&&this.subject.observers.splice(e,1),0===this.subject.observers.length&&this.subject.cancelCallback().catch(function(e){})},e}(),C=function(){function e(e){this.minimumLogLevel=e}return e.prototype.log=function(e,t){if(e>=this.minimumLogLevel)switch(e){case a.Critical:case a.Error:console.error(a[e]+": "+t);break;case a.Warning:console.warn(a[e]+": "+t);break;case a.Information:console.info(a[e]+": "+t);break;default:console.log(a[e]+": "+t)}},e}(),S=function(e,t,n,r){return new(n||(n=Promise))(function(a,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){e.done?a(e.value):new n(function(t){t(e.value)}).then(o,s)}l((r=r.apply(e,t||[])).next())})},T=function(e,t){var n,r,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]")),this.onclose(n)),this.logger.log(a.Trace,"(LongPolling transport) Transport finished."),[7];case 9:return[2]}})})},e.prototype.send=function(e){return I(this,void 0,void 0,function(){return D(this,function(t){return this.running?[2,w(this.logger,"LongPolling",this.httpClient,this.url,this.accessTokenFactory,e,this.logMessageContent)]:[2,Promise.reject(new Error("Cannot send until the transport is connected"))]})})},e.prototype.stop=function(){return I(this,void 0,void 0,function(){var e,t,n=this;return D(this,function(r){switch(r.label){case 0:return r.trys.push([0,,3,4]),this.running=!1,this.logger.log(a.Trace,"(LongPolling transport) sending DELETE request to "+this.url+"."),e={headers:{}},[4,this.accessTokenFactory()];case 1:return t=r.sent(),this.updateHeaderToken(e,t),[4,this.httpClient.delete(this.url,e)];case 2:return r.sent(),this.logger.log(a.Trace,"(LongPolling transport) DELETE request accepted."),[3,4];case 3:return this.stopped||(this.shutdownTimer=setTimeout(function(){n.logger.log(a.Warning,"(LongPolling transport) server did not terminate after DELETE request, canceling poll."),n.pollAbort.abort()},this.shutdownTimeout)),[7];case 4:return[2]}})})},e}(),P=function(e,t,n,r){return new(n||(n=Promise))(function(a,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){e.done?a(e.value):new n(function(t){t(e.value)}).then(o,s)}l((r=r.apply(e,t||[])).next())})},M=function(e,t){var n,r,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]=0){if(!(r===_.WebSockets&&"undefined"==typeof WebSocket||r===_.ServerSentEvents&&"undefined"==typeof EventSource))return this.logger.log(a.Debug,"Selecting transport '"+_[r]+"'"),r;this.logger.log(a.Debug,"Skipping transport '"+_[r]+"' because it is not supported in your environment.'")}else this.logger.log(a.Debug,"Skipping transport '"+_[r]+"' because it does not support the requested transfer format '"+j[n]+"'.");else this.logger.log(a.Debug,"Skipping transport '"+_[r]+"' because it was disabled by the client.")}return null},e.prototype.isITransport=function(e){return e&&"object"==typeof e&&"connect"in e},e.prototype.changeState=function(e,t){return this.connectionState===e&&(this.connectionState=t,!0)},e.prototype.stopConnection=function(e){return U(this,void 0,void 0,function(){return V(this,function(t){return this.transport=null,(e=this.stopError||e)?this.logger.log(a.Error,"Connection disconnected with error '"+e+"'."):this.logger.log(a.Information,"Connection disconnected."),this.connectionState=2,this.onclose&&this.onclose(e),[2]})})},e.prototype.resolveUrl=function(e){if(0===e.lastIndexOf("https://",0)||0===e.lastIndexOf("http://",0))return e;if("undefined"==typeof window||!window||!window.document)throw new Error("Cannot resolve '"+e+"'.");var t=window.document.createElement("a");return t.href=e,this.logger.log(a.Information,"Normalizing '"+e+"' to '"+t.href+"'."),t.href},e.prototype.resolveNegotiateUrl=function(e){var t=e.indexOf("?"),n=e.substring(0,-1===t?e.length:t);return"/"!==n[n.length-1]&&(n+="/"),n+="negotiate",n+=-1===t?"":e.substring(t)},e}();var K="json",W=function(){function e(){this.name=K,this.version=1,this.transferFormat=j.Text}return e.prototype.parseMessages=function(e,t){if("string"!=typeof e)throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!e)return[];null===t&&(t=g.instance);for(var n=[],r=0,i=f.parse(e);rw;w++)if((h||w in b)&&(g=v(m=b[w],w,y),e))if(n)_[w]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(u)return!1;return d?-1:c||u?u:_}}},,,,function(e,t,n){var r=n(19);e.exports=function(e,t){if(!r(e))return e;var n,a;if(t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;if("function"==typeof(n=e.valueOf)&&!r(a=n.call(e)))return a;if(!t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";if(n(29)){var r=n(76),a=n(17),i=n(18),o=n(2),s=n(132),l=n(169),c=n(56),u=n(86),d=n(75),h=n(52),p=n(88),f=n(57),m=n(25),g=n(229),y=n(80),b=n(66),v=n(47),k=n(83),w=n(19),_=n(37),j=n(165),x=n(72),E=n(53),C=n(81).f,S=n(127),T=n(78),O=n(24),z=n(62),A=n(140),I=n(116),D=n(188),N=n(95),R=n(128),P=n(85),M=n(166),q=n(220),B=n(26),L=n(54),F=B.f,U=L.f,V=a.RangeError,H=a.TypeError,K=a.Uint8Array,W=Array.prototype,G=l.ArrayBuffer,Q=l.DataView,$=z(0),Y=z(2),Z=z(3),J=z(4),X=z(5),ee=z(6),te=A(!0),ne=A(!1),re=D.values,ae=D.keys,ie=D.entries,oe=W.lastIndexOf,se=W.reduce,le=W.reduceRight,ce=W.join,ue=W.sort,de=W.slice,he=W.toString,pe=W.toLocaleString,fe=O("iterator"),me=O("toStringTag"),ge=T("typed_constructor"),ye=T("def_constructor"),be=s.CONSTR,ve=s.TYPED,ke=s.VIEW,we=z(1,function(e,t){return Ce(I(e,e[ye]),t)}),_e=i(function(){return 1===new K(new Uint16Array([1]).buffer)[0]}),je=!!K&&!!K.prototype.set&&i(function(){new K(1).set({})}),xe=function(e,t){var n=f(e);if(n<0||n%t)throw V("Wrong offset!");return n},Ee=function(e){if(w(e)&&ve in e)return e;throw H(e+" is not a typed array!")},Ce=function(e,t){if(!(w(e)&&ge in e))throw H("It is not a typed array constructor!");return new e(t)},Se=function(e,t){return Te(I(e,e[ye]),t)},Te=function(e,t){for(var n=0,r=t.length,a=Ce(e,r);r>n;)a[n]=t[n++];return a},Oe=function(e,t,n){F(e,t,{get:function(){return this._d[n]}})},ze=function(e){var t,n,r,a,i,o,s=_(e),l=arguments.length,u=l>1?arguments[1]:void 0,d=void 0!==u,h=S(s);if(null!=h&&!j(h)){for(o=h.call(s),r=[],t=0;!(i=o.next()).done;t++)r.push(i.value);s=r}for(d&&l>2&&(u=c(u,arguments[2],2)),t=0,n=m(s.length),a=Ce(this,n);n>t;t++)a[t]=d?u(s[t],t):s[t];return a},Ae=function(){for(var e=0,t=arguments.length,n=Ce(this,t);t>e;)n[e]=arguments[e++];return n},Ie=!!K&&i(function(){pe.call(new K(1))}),De=function(){return pe.apply(Ie?de.call(Ee(this)):Ee(this),arguments)},Ne={copyWithin:function(e,t){return q.call(Ee(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return J(Ee(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return M.apply(Ee(this),arguments)},filter:function(e){return Se(this,Y(Ee(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return X(Ee(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(Ee(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){$(Ee(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(Ee(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(Ee(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return ce.apply(Ee(this),arguments)},lastIndexOf:function(e){return oe.apply(Ee(this),arguments)},map:function(e){return we(Ee(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return se.apply(Ee(this),arguments)},reduceRight:function(e){return le.apply(Ee(this),arguments)},reverse:function(){for(var e,t=Ee(this).length,n=Math.floor(t/2),r=0;r1?arguments[1]:void 0)},sort:function(e){return ue.call(Ee(this),e)},subarray:function(e,t){var n=Ee(this),r=n.length,a=y(e,r);return new(I(n,n[ye]))(n.buffer,n.byteOffset+a*n.BYTES_PER_ELEMENT,m((void 0===t?r:y(t,r))-a))}},Re=function(e,t){return Se(this,de.call(Ee(this),e,t))},Pe=function(e){Ee(this);var t=xe(arguments[1],1),n=this.length,r=_(e),a=m(r.length),i=0;if(a+t>n)throw V("Wrong length!");for(;i255?255:255&r),a.v[p](n*t+a.o,r,_e)}(this,n,e)},enumerable:!0})};v?(f=n(function(e,n,r,a){u(e,f,c,"_d");var i,o,s,l,d=0,p=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(l=k(n))||"SharedArrayBuffer"==l))return ve in n?Te(f,n):ze.call(f,n);i=n,p=xe(r,t);var y=n.byteLength;if(void 0===a){if(y%t)throw V("Wrong length!");if((o=y-p)<0)throw V("Wrong length!")}else if((o=m(a)*t)+p>y)throw V("Wrong length!");s=o/t}else s=g(n),i=new G(o=s*t);for(h(e,"_d",{b:i,o:p,l:o,e:s,v:new Q(i)});ddocument.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[i[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[o]=e):n=l(),void 0===t?n:a(n,t)}},,,function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){e.exports=!1},function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"AnimationDriver",function(){return T}),n.d(t,"ɵAnimationDriver",function(){return T}),n.d(t,"ɵAnimation",function(){return Ee}),n.d(t,"ɵAnimationStyleNormalizer",function(){return Ce}),n.d(t,"ɵNoopAnimationStyleNormalizer",function(){return Se}),n.d(t,"ɵWebAnimationsStyleNormalizer",function(){return Te}),n.d(t,"ɵNoopAnimationDriver",function(){return S}),n.d(t,"ɵAnimationEngine",function(){return nt}),n.d(t,"ɵCssKeyframesDriver",function(){return mt}),n.d(t,"ɵCssKeyframesPlayer",function(){return pt}),n.d(t,"ɵcontainsElement",function(){return x}),n.d(t,"ɵinvokeQuery",function(){return E}),n.d(t,"ɵmatchesElement",function(){return j}),n.d(t,"ɵvalidateStyleProperty",function(){return _}),n.d(t,"ɵWebAnimationsDriver",function(){return yt}),n.d(t,"ɵsupportsWebAnimations",function(){return bt}),n.d(t,"ɵWebAnimationsPlayer",function(){return gt}),n.d(t,"ɵallowPreviousPlayerStylesMerge",function(){return $});var r=n(1),a=n(16),i=n(0);function o(){return void 0!==e}function s(e){switch(e.length){case 0:return new a.NoopAnimationPlayer;case 1:return e[0];default:return new a["ɵAnimationGroupPlayer"](e)}}function l(e,t,n,r,i,o){void 0===i&&(i={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach(function(e){var n=e.offset,r=n==c,d=r&&u||{};Object.keys(e).forEach(function(n){var r=n,l=e[n];if("offset"!==n)switch(r=t.normalizePropertyName(r,s),l){case a["ɵPRE_STYLE"]:l=i[n];break;case a.AUTO_STYLE:l=o[n];break;default:l=t.normalizeStyleValue(n,r,l,s)}d[r]=l}),r||l.push(d),u=d,c=n}),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function c(e,t,n,r){switch(t){case"start":e.onStart(function(){return r(n&&u(n,"start",e))});break;case"done":e.onDone(function(){return r(n&&u(n,"done",e))});break;case"destroy":e.onDestroy(function(){return r(n&&u(n,"destroy",e))})}}function u(e,t,n){var r=n.totalTime,a=!!n.disabled,i=d(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==r?e.totalTime:r,a),o=e._data;return null!=o&&(i._data=o),i}function d(e,t,n,r,a,i,o){return void 0===a&&(a=""),void 0===i&&(i=0),{element:e,triggerName:t,fromState:n,toState:r,phaseName:a,totalTime:i,disabled:!!o}}function h(e,t,n){var r;return e instanceof Map?(r=e.get(t))||e.set(t,r=n):(r=e[t])||(r=e[t]=n),r}function p(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var f=function(e,t){return!1},m=function(e,t){return!1},g=function(e,t,n){return[]},y=o();if(y||"undefined"!=typeof Element){if(f=function(e,t){return e.contains(t)},y||Element.prototype.matches)m=function(e,t){return e.matches(t)};else{var b=Element.prototype,v=b.matchesSelector||b.mozMatchesSelector||b.msMatchesSelector||b.oMatchesSelector||b.webkitMatchesSelector;v&&(m=function(e,t){return v.apply(e,[t])})}g=function(e,t,n){var a=[];if(n)a.push.apply(a,Object(r.g)(e.querySelectorAll(t)));else{var i=e.querySelector(t);i&&a.push(i)}return a}}var k=null,w=!1;function _(e){k||(k=function(){if("undefined"!=typeof document)return document.body;return null}()||{},w=!!k.style&&"WebkitAppearance"in k.style);var t=!0;k.style&&!function(e){return"ebkit"==e.substring(1,6)}(e)&&(!(t=e in k.style)&&w&&(t="Webkit"+e.charAt(0).toUpperCase()+e.substr(1)in k.style));return t}var j=m,x=f,E=g;function C(e){var t={};return Object.keys(e).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");t[r]=e[n]}),t}var S=function(){function e(){}return e.prototype.validateStyleProperty=function(e){return _(e)},e.prototype.matchesElement=function(e,t){return j(e,t)},e.prototype.containsElement=function(e,t){return x(e,t)},e.prototype.query=function(e,t,n){return E(e,t,n)},e.prototype.computeStyle=function(e,t,n){return n||""},e.prototype.animate=function(e,t,n,r,i,o,s){return void 0===o&&(o=[]),new a.NoopAnimationPlayer(n,r)},e=Object(r.b)([Object(i.Injectable)()],e)}(),T=function(){function e(){}return e.NOOP=new S,e}(),O=1e3,z=".ng-trigger",A=".ng-animating";function I(e){if("number"==typeof e)return e;var t=e.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:D(parseFloat(t[1]),t[2])}function D(e,t){switch(t){case"s":return e*O;default:return e}}function N(e,t,n){return e.hasOwnProperty("duration")?e:function(e,t,n){var r,a=0,i="";if("string"==typeof e){var o=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===o)return t.push('The provided timing value "'+e+'" is invalid.'),{duration:0,delay:0,easing:""};r=D(parseFloat(o[1]),o[2]);var s=o[3];null!=s&&(a=D(parseFloat(s),o[4]));var l=o[5];l&&(i=l)}else r=e;if(!n){var c=!1,u=t.length;r<0&&(t.push("Duration values below 0 are not allowed for this animation step."),c=!0),a<0&&(t.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&t.splice(u,0,'The provided timing value "'+e+'" is invalid.')}return{duration:r,delay:a,easing:i}}(e,t,n)}function R(e,t){return void 0===t&&(t={}),Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function P(e){var t={};return Array.isArray(e)?e.forEach(function(e){return M(e,!1,t)}):M(e,!1,t),t}function M(e,t,n){if(void 0===n&&(n={}),t)for(var r in e)n[r]=e[r];else R(e,n);return n}function q(e,t,n){return n?t+":"+n+";":""}function B(e){for(var t="",n=0;nv;v++)if((g=t?b(o(f=e[v])[0],f[1]):b(e[v]))===c||g===u)return g}else for(m=y.call(e);!(f=m.next()).done;)if((g=a(m,b,f.value,t))===c||g===u)return g}).BREAK=c,t.RETURN=u},function(e,t,n){var r=n(47);e.exports=function(e,t,n){for(var a in t)r(e,a,t[a],n);return e}},,,function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return i});var r=n(32),a=new r.a(function(e){return e.complete()});function i(e){return e?function(e){return new r.a(function(t){return e.schedule(function(){return t.complete()})})}(e):a}},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=!1,a={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack;r=e},get useDeprecatedSynchronousErrorHandling(){return r}}},function(e,t,n){var r=n(26).f,a=n(46),i=n(24)("toStringTag");e.exports=function(e,t,n){e&&!a(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t){e.exports={}},function(e,t,n){var r=n(19);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},,,,,,,,,function(e,t,n){var r=n(60);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(2),a=n(67),i=n(18),o=n(158),s="["+o+"]",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),u=function(e,t,n){var a={},s=i(function(){return!!o[e]()||"​…"!="​…"[e]()}),l=a[e]=s?t(d):o[e];n&&(a[n]=l),r(r.P+r.F*s,"String",a)},d=u.trim=function(e,t){return e=String(a(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=u},,,,,function(e,t,n){var r=n(31);n(178),n(663),n(664),n(40),r.random&&r.random.getBytes?e.exports=r.random:function(t){var n={},a=new Array(4),i=r.util.createBuffer();function o(){var e=r.prng.create(n);return e.getBytes=function(t,n){return e.generate(t,n)},e.getBytesSync=function(t){return e.generate(t)},e}n.formatKey=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),r.aes._expandKey(e,!1)},n.formatSeed=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),e},n.cipher=function(e,t){return r.aes._updateBlock(e,t,a,!1),i.putInt32(a[0]),i.putInt32(a[1]),i.putInt32(a[2]),i.putInt32(a[3]),i.getBytes()},n.increment=function(e){return++e[3],e},n.md=r.md.sha256;var s=o(),l=null;if("undefined"!=typeof window){var c=window.crypto||window.msCrypto;c&&c.getRandomValues&&(l=function(e){return c.getRandomValues(e)})}if(r.options.usePureJavaScript||!r.util.isNodejs&&!l){if("undefined"==typeof window||window.document,s.collectInt(+new Date,32),"undefined"!=typeof navigator){var u="";for(var d in navigator)try{"string"==typeof navigator[d]&&(u+=navigator[d])}catch(e){}s.collect(u),u=null}t&&(t().mousemove(function(e){s.collectInt(e.clientX,16),s.collectInt(e.clientY,16)}),t().keypress(function(e){s.collectInt(e.charCode,8)}))}if(r.random)for(var d in s)r.random[d]=s[d];else r.random=s;r.random.createInstance=o,e.exports=r.random}("undefined"!=typeof jQuery?jQuery:null)},function(e,t,n){"use strict";n.d(t,"a",function(){return o});var r=n(32),a=n(49),i=n(291);function o(e,t){return t?new r.a(function(n){var r=new a.a,i=0;return r.add(t.schedule(function(){i!==e.length?(n.next(e[i++]),n.closed||r.add(this.schedule())):n.complete()})),r}):new r.a(Object(i.a)(e))}},function(e,t,n){"use strict";function r(){}n.d(t,"a",function(){return r})},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){"use strict";var r=n(11);e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){var r=n(11),a=n(42),i=n(24)("species");e.exports=function(e,t){var n,o=r(e).constructor;return void 0===o||null==(n=r(o)[i])?t:a(n)}},function(e,t,n){"use strict";(function(e){ + */}.call(this,n(133))},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(207),a=n(155);e.exports=Object.keys||function(e){return r(e,a)}},function(e,t,n){var r=n(57),a=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?a(e+t,0):i(e,t)}},function(e,t,n){var r=n(207),a=n(155).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,a)}},,function(e,t,n){var r=n(60),a=n(24)("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),a))?n:i?r(t):"Object"==(o=r(t))&&"function"==typeof t.callee?"Arguments":o}},function(e,t,n){var r=n(24)("unscopables"),a=Array.prototype;null==a[r]&&n(52)(a,r,{}),e.exports=function(e){a[r][e]=!0}},function(e,t,n){"use strict";var r=n(17),a=n(26),i=n(29),o=n(24)("species");e.exports=function(e){var t=r[e];i&&t&&!t[o]&&a.f(t,o,{configurable:!0,get:function(){return this}})}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(56),a=n(217),i=n(165),o=n(11),s=n(25),l=n(127),c={},u={};(t=e.exports=function(e,t,n,d,h){var p,f,m,g,y=h?function(){return e}:l(e),b=r(n,d,t?2:1),v=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(i(y)){for(p=s(e.length);p>v;v++)if((g=t?b(o(f=e[v])[0],f[1]):b(e[v]))===c||g===u)return g}else for(m=y.call(e);!(f=m.next()).done;)if((g=a(m,b,f.value,t))===c||g===u)return g}).BREAK=c,t.RETURN=u},function(e,t,n){var r=n(48);e.exports=function(e,t,n){for(var a in t)r(e,a,t[a],n);return e}},,,,function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return i});var r=n(33),a=new r.a(function(e){return e.complete()});function i(e){return e?function(e){return new r.a(function(t){return e.schedule(function(){return t.complete()})})}(e):a}},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=!1,a={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack;r=e},get useDeprecatedSynchronousErrorHandling(){return r}}},function(e,t,n){var r=n(26).f,a=n(47),i=n(24)("toStringTag");e.exports=function(e,t,n){e&&!a(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t){e.exports={}},function(e,t,n){var r=n(19);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},,,,,,,,function(e,t,n){var r=n(60);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(2),a=n(67),i=n(18),o=n(158),s="["+o+"]",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),u=function(e,t,n){var a={},s=i(function(){return!!o[e]()||"​…"!="​…"[e]()}),l=a[e]=s?t(d):o[e];n&&(a[n]=l),r(r.P+r.F*s,"String",a)},d=u.trim=function(e,t){return e=String(a(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=u},,,,,function(e,t,n){var r=n(32);n(178),n(665),n(666),n(40),r.random&&r.random.getBytes?e.exports=r.random:function(t){var n={},a=new Array(4),i=r.util.createBuffer();function o(){var e=r.prng.create(n);return e.getBytes=function(t,n){return e.generate(t,n)},e.getBytesSync=function(t){return e.generate(t)},e}n.formatKey=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),r.aes._expandKey(e,!1)},n.formatSeed=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),e},n.cipher=function(e,t){return r.aes._updateBlock(e,t,a,!1),i.putInt32(a[0]),i.putInt32(a[1]),i.putInt32(a[2]),i.putInt32(a[3]),i.getBytes()},n.increment=function(e){return++e[3],e},n.md=r.md.sha256;var s=o(),l=null;if("undefined"!=typeof window){var c=window.crypto||window.msCrypto;c&&c.getRandomValues&&(l=function(e){return c.getRandomValues(e)})}if(r.options.usePureJavaScript||!r.util.isNodejs&&!l){if("undefined"==typeof window||window.document,s.collectInt(+new Date,32),"undefined"!=typeof navigator){var u="";for(var d in navigator)try{"string"==typeof navigator[d]&&(u+=navigator[d])}catch(e){}s.collect(u),u=null}t&&(t().mousemove(function(e){s.collectInt(e.clientX,16),s.collectInt(e.clientY,16)}),t().keypress(function(e){s.collectInt(e.charCode,8)}))}if(r.random)for(var d in s)r.random[d]=s[d];else r.random=s;r.random.createInstance=o,e.exports=r.random}("undefined"!=typeof jQuery?jQuery:null)},function(e,t,n){"use strict";n.d(t,"a",function(){return o});var r=n(33),a=n(50),i=n(291);function o(e,t){return t?new r.a(function(n){var r=new a.a,i=0;return r.add(t.schedule(function(){i!==e.length?(n.next(e[i++]),n.closed||r.add(this.schedule())):n.complete()})),r}):new r.a(Object(i.a)(e))}},function(e,t,n){"use strict";function r(){}n.d(t,"a",function(){return r})},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){"use strict";var r=n(11);e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){var r=n(11),a=n(42),i=n(24)("species");e.exports=function(e,t){var n,o=r(e).constructor;return void 0===o||null==(n=r(o)[i])?t:a(n)}},function(e,t,n){"use strict";(function(e){ /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ -var r=n(781),a=n(782),i=n(538);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return L(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return L(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,a){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=a?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(a)return-1;n=e.length-1}else if(n<0){if(!a)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,a);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,a);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,a){var i,o=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(a){var u=-1;for(i=n;is&&(n=s-l),i=n;i>=0;i--){for(var d=!0,h=0;ha&&(r=a):r=a;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var o=0;o>8,a=n%256,i.push(a),i.push(r);return i}(t,e.length-n),e,n,r)}function x(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function E(e,t,n){n=Math.min(e.length,n);for(var r=[],a=t;a239?4:c>223?3:c>191?2:1;if(a+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(i=e[a+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=e[a+1],o=e[a+2],128==(192&i)&&128==(192&o)&&(l=(15&c)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=e[a+1],o=e[a+2],s=e[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),a+=d}return function(e){var t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return S(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return x(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return z(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},l.prototype.compare=function(e,t,n,r,a){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===a&&(a=this.length),t<0||n>e.length||r<0||a>this.length)throw new RangeError("out of range index");if(r>=a&&t>=n)return 0;if(r>=a)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(a>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),s=Math.min(i,o),c=this.slice(r,a),u=e.slice(t,n),d=0;da)&&(n=a),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return _(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function S(e,t,n){var r="";n=Math.min(e.length,n);for(var a=t;ar)&&(n=r);for(var a="",i=t;in)throw new RangeError("Trying to access beyond buffer length")}function I(e,t,n,r,a,i){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>a||te.length)throw new RangeError("Index out of range")}function D(e,t,n,r){t<0&&(t=65535+t+1);for(var a=0,i=Math.min(e.length-n,2);a>>8*(r?a:1-a)}function N(e,t,n,r){t<0&&(t=4294967295+t+1);for(var a=0,i=Math.min(e.length-n,4);a>>8*(r?a:3-a)&255}function R(e,t,n,r,a,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function P(e,t,n,r,i){return i||R(e,0,n,4),a.write(e,t,n,r,23,4),n+4}function M(e,t,n,r,i){return i||R(e,0,n,8),a.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(a*=256);)r+=this[e+--t]*a;return r},l.prototype.readUInt8=function(e,t){return t||A(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||A(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||A(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||A(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||A(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||A(e,t,this.length);for(var r=this[e],a=1,i=0;++i=(a*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||A(e,t,this.length);for(var r=t,a=1,i=this[e+--r];r>0&&(a*=256);)i+=this[e+--r]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readInt8=function(e,t){return t||A(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||A(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||A(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||A(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||A(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||A(e,4,this.length),a.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||A(e,4,this.length),a.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||A(e,8,this.length),a.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||A(e,8,this.length),a.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||I(this,e,t,n,Math.pow(2,8*n)-1,0);var a=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+a]=e/i&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var a=Math.pow(2,8*n-1);I(this,e,t,n,a-1,-a)}var i=0,o=1,s=0;for(this[t]=255&e;++i>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var a=Math.pow(2,8*n-1);I(this,e,t,n,a-1,-a)}var i=n-1,o=1,s=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return P(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return P(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return M(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return M(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--a)e[a+t]=this[a+n];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(a=0;a>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&n<57344){if(!a){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&i.push(239,191,189);continue}a=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),a=n;continue}n=65536+(a-55296<<10|n-56320)}else a&&(t-=3)>-1&&i.push(239,191,189);if(a=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,n,r){for(var a=0;a=t.length||a>=e.length);++a)t[a+n]=e[a];return a}}).call(this,n(96))},function(e,t,n){"use strict";n.r(t),n.d(t,"ToasterContainerComponent",function(){return s});var r=n(0),a=n(15),i=n(283),o=n(13),s=function(){function e(e,t,n){this.ref=t,this.ngZone=n,this.timeoutIds=new Map,this.toasts=[],this.toasterService=e}return e.prototype.ngOnInit=function(){this.registerSubscribers(),this.isNullOrUndefined(this.toasterconfig)&&(this.toasterconfig=new i.a)},e.prototype.click=function(e,t){if(this.toasterconfig.tapToDismiss||e.showCloseButton&&t){var n=!0;if(e.clickHandler){if("function"!=typeof e.clickHandler)return console.log("The toast click handler is not a callable function."),!1;n=e.clickHandler(e,t)}n&&this.removeToast(e)}},e.prototype.childClick=function(e){this.click(e.value.toast,e.value.isCloseButton)},e.prototype.stopTimer=function(e){if(this.toasterconfig.mouseoverTimerStop){var t=this.toastIdOrDefault(e),n=this.timeoutIds.get(t);n&&(window.clearTimeout(n),this.timeoutIds.delete(t))}},e.prototype.restartTimer=function(e){var t=this.timeoutIds.get(this.toastIdOrDefault(e));this.toasterconfig.mouseoverTimerStop?t||this.configureTimer(e):0!==e.timeout&&!t&&this.toasterconfig.timeout&&this.removeToast(e)},e.prototype.registerSubscribers=function(){var e=this;this.addToastSubscriber=this.toasterService.addToast.subscribe(function(t){e.addToast(t)}),this.clearToastsSubscriber=this.toasterService.clearToasts.subscribe(function(t){e.clearToasts(t)})},e.prototype.addToast=function(e){if(!e.toastContainerId||!this.toasterconfig.toastContainerId||e.toastContainerId===this.toasterconfig.toastContainerId){if(e.type||(e.type=this.toasterconfig.defaultTypeClass),this.toasterconfig.preventDuplicates&&this.toasts.length>0){if(e.toastId&&this.toasts.some(function(t){return t.toastId===e.toastId}))return;if(this.toasts.some(function(t){return t.body===e.body}))return}this.isNullOrUndefined(e.showCloseButton)&&("object"==typeof this.toasterconfig.showCloseButton?e.showCloseButton=this.toasterconfig.showCloseButton[e.type]:"boolean"==typeof this.toasterconfig.showCloseButton&&(e.showCloseButton=this.toasterconfig.showCloseButton)),e.showCloseButton&&(e.closeHtml=e.closeHtml||this.toasterconfig.closeHtml),e.bodyOutputType=e.bodyOutputType||this.toasterconfig.bodyOutputType,this.configureTimer(e),this.toasterconfig.newestOnTop?(this.toasts.unshift(e),this.isLimitExceeded()&&this.toasts.pop()):(this.toasts.push(e),this.isLimitExceeded()&&this.toasts.shift()),e.onShowCallback&&e.onShowCallback(e)}},e.prototype.configureTimer=function(e){var t=this,n="number"==typeof e.timeout?e.timeout:this.toasterconfig.timeout;"object"==typeof n&&(n=n[e.type]),n>0&&this.ngZone.runOutsideAngular(function(){var r=window.setTimeout(function(){t.ngZone.run(function(){t.ref.markForCheck(),t.removeToast(e)})},n);t.timeoutIds.set(t.toastIdOrDefault(e),r)})},e.prototype.isLimitExceeded=function(){return this.toasterconfig.limit&&this.toasts.length>this.toasterconfig.limit},e.prototype.removeToast=function(e){var t=this.toasts.indexOf(e);if(!(t<0)){var n=this.toastIdOrDefault(e),r=this.timeoutIds.get(n);this.toasts.splice(t,1),r&&(window.clearTimeout(r),this.timeoutIds.delete(n)),e.onHideCallback&&e.onHideCallback(e),this.toasterService._removeToastSubject.next({toastId:n,toastContainerId:e.toastContainerId})}},e.prototype.removeAllToasts=function(){for(var e=this.toasts.length-1;e>=0;e--)this.removeToast(this.toasts[e])},e.prototype.clearToasts=function(e){var t=e.toastId,n=e.toastContainerId;this.isNullOrUndefined(n)?this.clearToastsAction(t):n===this.toasterconfig.toastContainerId&&this.clearToastsAction(t)},e.prototype.clearToastsAction=function(e){e?this.removeToast(this.toasts.filter(function(t){return t.toastId===e})[0]):this.removeAllToasts()},e.prototype.toastIdOrDefault=function(e){return e.toastId||""},e.prototype.isNullOrUndefined=function(e){return null==e},e.prototype.ngOnDestroy=function(){this.addToastSubscriber&&this.addToastSubscriber.unsubscribe(),this.clearToastsSubscriber&&this.clearToastsSubscriber.unsubscribe()},e.decorators=[{type:r.Component,args:[{selector:"toaster-container",template:'\n
\n
\n
\n
\n ',animations:[Object(a.trigger)("toastState",[Object(a.state)("flyRight, flyLeft, slideDown, slideUp, fade",Object(a.style)({opacity:1,transform:"translate(0,0)"})),Object(a.transition)("void => flyRight",[Object(a.style)({opacity:0,transform:"translateX(100%)"}),Object(a.animate)("0.25s ease-in")]),Object(a.transition)("flyRight => void",[Object(a.animate)("0.25s 10ms ease-out",Object(a.style)({opacity:0,transform:"translateX(100%)"}))]),Object(a.transition)("void => flyLeft",[Object(a.style)({opacity:0,transform:"translateX(-100%)"}),Object(a.animate)("0.25s ease-in")]),Object(a.transition)("flyLeft => void",[Object(a.animate)("0.25s 10ms ease-out",Object(a.style)({opacity:0,transform:"translateX(-100%)"}))]),Object(a.transition)("void => slideDown",[Object(a.style)({opacity:0,transform:"translateY(-200%)"}),Object(a.animate)("0.3s ease-in")]),Object(a.transition)("slideDown => void",[Object(a.animate)("0.3s 10ms ease-out",Object(a.style)({opacity:0,transform:"translateY(200%)"}))]),Object(a.transition)("void => slideUp",[Object(a.style)({opacity:0,transform:"translateY(200%)"}),Object(a.animate)("0.3s ease-in")]),Object(a.transition)("slideUp => void",[Object(a.animate)("0.3s 10ms ease-out",Object(a.style)({opacity:0,transform:"translateY(-200%)"}))]),Object(a.transition)("void => fade",[Object(a.style)({opacity:0}),Object(a.animate)("0.3s ease-in")]),Object(a.transition)("fade => void",[Object(a.animate)("0.3s 10ms ease-out",Object(a.style)({opacity:0}))])])]}]}],e.ctorParameters=function(){return[{type:o.ToasterService},{type:r.ChangeDetectorRef},{type:r.NgZone}]},e.propDecorators={toasterconfig:[{type:r.Input}]},e}()},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r="function"==typeof Symbol&&Symbol.observable||"@@observable"},function(e,t,n){"use strict";function r(e){return e&&"function"==typeof e.schedule}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n(151),a=n(288);function i(e,t,n,i,o){if(void 0===o&&(o=new r.a(e,n,i)),!o.closed)return Object(a.a)(t)(o)}},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.c(t,e),t.prototype.notifyNext=function(e,t,n,r,a){this.destination.next(t)},t.prototype.notifyError=function(e,t){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.destination.complete()},t}(n(36).a)},function(e,t,n){"use strict";n.d(t,"b",function(){return u}),n.d(t,"a",function(){return d});var r=n(1),a=n(32),i=n(36),o=n(49),s=n(124),l=n(285),c=n(183),u=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return r.c(t,e),t}(i.a),d=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return r.c(t,e),t.prototype[c.a]=function(){return new u(this)},t.prototype.lift=function(e){var t=new h(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.a;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),a=0;a")}),d=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var h=s(e),p=!i(function(){var t={};return t[h]=function(){return 7},7!=""[e](t)}),f=p?!i(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[c]=function(){return n}),n[h](""),!t}):void 0;if(!p||!f||"replace"===e&&!u||"split"===e&&!d){var m=/./[h],g=n(o,h,""[e],function(e,t,n,r,a){return t.exec===l?p&&!a?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),y=g[0],b=g[1];r(String.prototype,e,y),a(RegExp.prototype,h,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)})}}},function(e,t,n){"use strict";var r=n(16),a=n(2),i=n(47),o=n(88),s=n(70),l=n(87),c=n(86),u=n(19),d=n(18),h=n(128),p=n(93),f=n(159);e.exports=function(e,t,n,m,g,y){var b=r[e],v=b,k=g?"set":"add",w=v&&v.prototype,_={},j=function(e){var t=w[e];i(w,e,"delete"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return y&&!u(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof v&&(y||w.forEach&&!d(function(){(new v).entries().next()}))){var x=new v,E=x[k](y?{}:-0,1)!=x,C=d(function(){x.has(1)}),S=h(function(e){new v(e)}),T=!y&&d(function(){for(var e=new v,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((v=t(function(t,n){c(t,v,e);var r=f(new b,t,v);return null!=n&&l(n,g,r[k],r),r})).prototype=w,w.constructor=v),(C||T)&&(j("delete"),j("has"),g&&j("get")),(T||E)&&j(k),y&&w.clear&&delete w.clear}else v=m.getConstructor(t,e,g,k),o(v.prototype,n),s.NEED=!0;return p(v,e),_[e]=v,a(a.G+a.W+a.F*(v!=b),_),y||m.setStrong(v,e,g),v}},function(e,t,n){for(var r,a=n(16),i=n(51),o=n(78),s=o("typed_array"),l=o("view"),c=!(!a.ArrayBuffer||!a.DataView),u=c,d=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");d<9;)(r=a[h[d++]])?(i(r.prototype,s,!0),i(r.prototype,l,!0)):u=!1;e.exports={ABV:c,CONSTR:u,TYPED:s,VIEW:l}},function(e,t){var n,r,a=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var l,c=[],u=!1,d=-1;function h(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&p())}function p(){if(!u){var e=s(h);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d1)for(var n=1;nt){var r=new Error("Too few bytes to parse DER.");throw r.available=e.length(),r.remaining=t,r.requested=n,r}}a.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},a.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},a.create=function(e,t,n,i,o){if(r.util.isArray(i)){for(var s=[],l=0;ln){if(s.strict){var p=new Error("Too few bytes to read ASN.1 value.");throw p.available=t.length(),p.remaining=n,p.requested=h,p}h=n}var f;var m;var g=32==(32&c);if(g)if(f=[],void 0===h)for(;;){if(i(t,n,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),n-=2;break}l=t.length(),f.push(e(t,n,r+1,s)),n-=l-t.length()}else for(;h>0;)l=t.length(),f.push(e(t,h,r+1,s)),n-=l-t.length(),h-=l-t.length();void 0===f&&u===a.Class.UNIVERSAL&&d===a.Type.BITSTRING&&(m=t.bytes(h));if(void 0===f&&s.decodeBitStrings&&u===a.Class.UNIVERSAL&&d===a.Type.BITSTRING&&h>1){var y=t.read,b=n,v=0;if(d===a.Type.BITSTRING&&(i(t,n,1),v=t.getByte(),n--),0===v)try{l=t.length();var k={verbose:s.verbose,strict:!0,decodeBitStrings:!0},w=e(t,n,r+1,k),_=l-t.length();n-=_,d==a.Type.BITSTRING&&_++;var j=w.tagClass;_!==h||j!==a.Class.UNIVERSAL&&j!==a.Class.CONTEXT_SPECIFIC||(f=[w])}catch(e){}void 0===f&&(t.read=y,n=b)}if(void 0===f){if(void 0===h){if(s.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");h=n}if(d===a.Type.BMPSTRING)for(f="";h>0;h-=2)i(t,n,2),f+=String.fromCharCode(t.getInt16()),n-=2;else f=t.getBytes(h)}var x=void 0===m?null:{bitStringContents:m};return a.create(u,d,g,f,x)}(e,e.length(),0,t)},a.toDer=function(e){var t=r.util.createBuffer(),n=e.tagClass|e.type,i=r.util.createBuffer(),o=!1;if("bitStringContents"in e&&(o=!0,e.original&&(o=a.equals(e,e.original))),o)i.putBytes(e.bitStringContents);else if(e.composed){e.constructed?n|=32:i.putByte(0);for(var s=0;s1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?i.putBytes(e.value.substr(1)):i.putBytes(e.value);if(t.putByte(n),i.length()<=127)t.putByte(127&i.length());else{var l=i.length(),c="";do{c+=String.fromCharCode(255&l),l>>>=8}while(l>0);t.putByte(128|c.length);for(s=c.length-1;s>=0;--s)t.putByte(c.charCodeAt(s))}return t.putBuffer(i),t},a.oidToDer=function(e){var t,n,a,i,o=e.split("."),s=r.util.createBuffer();s.putByte(40*parseInt(o[0],10)+parseInt(o[1],10));for(var l=2;l>>=7,t||(i|=128),n.push(i),t=!1}while(a>0);for(var c=n.length-1;c>=0;--c)s.putByte(n[c])}return s},a.derToOid=function(e){var t;"string"==typeof e&&(e=r.util.createBuffer(e));var n=e.getByte();t=Math.floor(n/40)+"."+n%40;for(var a=0;e.length()>0;)a<<=7,128&(n=e.getByte())?a+=127&n:(t+="."+(a+n),a=0);return t},a.utcTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,2),10);n=n>=50?1900+n:2e3+n;var r=parseInt(e.substr(2,2),10)-1,a=parseInt(e.substr(4,2),10),i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=0;if(e.length>11){var l=e.charAt(10),c=10;"+"!==l&&"-"!==l&&(s=parseInt(e.substr(10,2),10),c+=2)}if(t.setUTCFullYear(n,r,a),t.setUTCHours(i,o,s,0),c&&("+"===(l=e.charAt(c))||"-"===l)){var u=60*parseInt(e.substr(c+1,2),10)+parseInt(e.substr(c+4,2),10);u*=6e4,"+"===l?t.setTime(+t-u):t.setTime(+t+u)}return t},a.generalizedTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,4),10),r=parseInt(e.substr(4,2),10)-1,a=parseInt(e.substr(6,2),10),i=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),s=parseInt(e.substr(12,2),10),l=0,c=0,u=!1;"Z"===e.charAt(e.length-1)&&(u=!0);var d=e.length-5,h=e.charAt(d);"+"!==h&&"-"!==h||(c=60*parseInt(e.substr(d+1,2),10)+parseInt(e.substr(d+4,2),10),c*=6e4,"+"===h&&(c*=-1),u=!0);return"."===e.charAt(14)&&(l=1e3*parseFloat(e.substr(14),10)),u?(t.setUTCFullYear(n,r,a),t.setUTCHours(i,o,s,l),t.setTime(+t+c)):(t.setFullYear(n,r,a),t.setHours(i,o,s,l)),t},a.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",n=[];n.push((""+e.getUTCFullYear()).substr(2)),n.push(""+(e.getUTCMonth()+1)),n.push(""+e.getUTCDate()),n.push(""+e.getUTCHours()),n.push(""+e.getUTCMinutes()),n.push(""+e.getUTCSeconds());for(var r=0;r=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var n=new Error("Integer too large; max is 32-bits.");throw n.integer=e,n},a.derToInteger=function(e){"string"==typeof e&&(e=r.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},a.validate=function(e,t,n,i){var o=!1;if(e.tagClass!==t.tagClass&&void 0!==t.tagClass||e.type!==t.type&&void 0!==t.type)i&&(e.tagClass!==t.tagClass&&i.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&i.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));else if(e.constructed===t.constructed||void 0===t.constructed){if(o=!0,t.value&&r.util.isArray(t.value))for(var s=0,l=0;o&&l0&&(i+="\n");for(var o="",l=0;l1?i+="0x"+r.util.bytesToHex(e.value.slice(1)):i+="(none)",e.value.length>0){var h=e.value.charCodeAt(0);1==h?i+=" (1 unused bit shown)":h>1&&(i+=" ("+h+" unused bits shown)")}}else e.type===a.Type.OCTETSTRING?(s.test(e.value)||(i+="("+e.value+") "),i+="0x"+r.util.bytesToHex(e.value)):e.type===a.Type.UTF8?i+=r.util.decodeUtf8(e.value):e.type===a.Type.PRINTABLESTRING||e.type===a.Type.IA5String?i+=e.value:s.test(e.value)?i+="0x"+r.util.bytesToHex(e.value):0===e.value.length?i+="[null]":i+=e.value}return i}},function(e,t,n){var r=n(31);e.exports=r.md=r.md||{},r.md.algorithms=r.md.algorithms||{}},function(e,t,n){"use strict";function r(e){setTimeout(function(){throw e})}n.d(t,"a",function(){return r})},function(e,t,n){var r=n(48),a=n(25),i=n(80);e.exports=function(e){return function(t,n,o){var s,l=r(t),c=a(l.length),u=i(o,c);if(e&&n!=n){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(60);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(57),a=n(67);e.exports=function(e){return function(t,n){var i,o,s=String(a(t)),l=r(n),c=s.length;return l<0||l>=c?e?"":void 0:(i=s.charCodeAt(l))<55296||i>56319||l+1===c||(o=s.charCodeAt(l+1))<56320||o>57343?e?s.charAt(l):i:e?s.slice(l,l+2):o-56320+(i-55296<<10)+65536}}},function(e,t,n){"use strict";var r=n(76),a=n(2),i=n(47),o=n(51),s=n(94),l=n(162),c=n(93),u=n(53),d=n(24)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,f,m,g,y){l(n,t,f);var b,v,k,w=function(e){if(!h&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},_=t+" Iterator",j="values"==m,x=!1,E=e.prototype,C=E[d]||E["@@iterator"]||m&&E[m],S=C||w(m),T=m?j?w("entries"):S:void 0,O="Array"==t&&E.entries||C;if(O&&(k=u(O.call(new e)))!==Object.prototype&&k.next&&(c(k,_,!0),r||"function"==typeof k[d]||o(k,d,p)),j&&C&&"values"!==C.name&&(x=!0,S=function(){return C.call(this)}),r&&!y||!h&&!x&&E[d]||o(E,d,S),s[t]=S,s[_]=p,m)if(b={values:j?S:w("values"),keys:g?S:w("keys"),entries:T},y)for(v in b)v in E||i(E,v,b[v]);else a(a.P+a.F*(h||x),t,b);return b}},function(e,t,n){var r=n(19),a=n(60),i=n(24)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==a(e))}},,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(t,"a",function(){return a});var a=r()},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1),a=function(e){function t(t,n,r){var a=e.call(this)||this;return a.parent=t,a.outerValue=n,a.outerIndex=r,a.index=0,a}return r.c(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(n(36).a)},function(e,t,n){"use strict";var r=n(32),a=n(292),i=n(290),o=n(119);var s=n(150);var l=n(112),c=n(49),u=n(293);var d=n(294);var h=n(289);var p=n(288);function f(e,t){if(!t)return e instanceof r.a?e:new r.a(Object(p.a)(e));if(null!=e){if(function(e){return e&&"function"==typeof e[o.a]}(e))return function(e,t){return t?new r.a(function(n){var r=new c.a;return r.add(t.schedule(function(){var a=e[o.a]();r.add(a.subscribe({next:function(e){r.add(t.schedule(function(){return n.next(e)}))},error:function(e){r.add(t.schedule(function(){return n.error(e)}))},complete:function(){r.add(t.schedule(function(){return n.complete()}))}}))})),r}):new r.a(Object(h.a)(e))}(e,t);if(Object(a.a)(e))return function(e,t){return t?new r.a(function(n){var r=new c.a;return r.add(t.schedule(function(){return e.then(function(e){r.add(t.schedule(function(){n.next(e),r.add(t.schedule(function(){return n.complete()}))}))},function(e){r.add(t.schedule(function(){return n.error(e)}))})})),r}):new r.a(Object(u.a)(e))}(e,t);if(Object(i.a)(e))return Object(l.a)(e,t);if(function(e){return e&&"function"==typeof e[s.a]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return t?new r.a(function(n){var r,a=new c.a;return a.add(function(){r&&"function"==typeof r.return&&r.return()}),a.add(t.schedule(function(){r=e[s.a](),a.add(t.schedule(function(){if(!n.closed){var e,t;try{var a=r.next();e=a.value,t=a.done}catch(e){return void n.error(e)}t?n.complete():(n.next(e),this.schedule())}}))})),a}):new r.a(Object(d.a)(e))}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}n.d(t,"a",function(){return f})},function(e,t,n){var r=n(19),a=n(16).document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){var r=n(125)("keys"),a=n(78);e.exports=function(e){return r[e]||(r[e]=a(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(16).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(19),a=n(11),i=function(e,t){if(a(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n(56)(Function.call,n(54).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},function(e,t){e.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(e,t,n){var r=n(19),a=n(157).set;e.exports=function(e,t,n){var i,o=t.constructor;return o!==n&&"function"==typeof o&&(i=o.prototype)!==n.prototype&&r(i)&&a&&a(e,i),e}},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t,n){"use strict";var r=n(71),a=n(75),i=n(93),o={};n(51)(o,n(24)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(o,{next:a(1,n)}),i(e,t+" Iterator")}},function(e,t,n){var r=n(144),a=n(67);e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(a(e))}},function(e,t,n){var r=n(24)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(e){}}return!0}},function(e,t,n){var r=n(94),a=n(24)("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var r=n(37),a=n(80),i=n(25);e.exports=function(e){for(var t=r(this),n=i(t.length),o=arguments.length,s=a(o>1?arguments[1]:void 0,n),l=o>2?arguments[2]:void 0,c=void 0===l?n:a(l,n);c>s;)t[s++]=e;return t}},function(e,t,n){"use strict";var r,a,i=n(115),o=RegExp.prototype.exec,s=String.prototype.replace,l=o,c=(r=/a/,a=/b*/g,o.call(r,"a"),o.call(a,"a"),0!==r.lastIndex||0!==a.lastIndex),u=void 0!==/()??/.exec("")[1];(c||u)&&(l=function(e){var t,n,r,a,l=this;return u&&(n=new RegExp("^"+l.source+"$(?!\\s)",i.call(l))),c&&(t=l.lastIndex),r=o.call(l,e),c&&r&&(l.lastIndex=l.global?r.index+r[0].length:t),u&&r&&r.length>1&&s.call(r[0],n,function(){for(a=1;a>1,u=23===t?S(2,-24)-S(2,-77):0,d=0,h=e<0||0===e&&1/e<0?1:0;for((e=C(e))!=e||e===x?(a=e!=e?1:0,r=l):(r=T(O(e)/z),e*(i=S(2,-r))<1&&(r--,i*=2),(e+=r+c>=1?u/i:u*S(2,1-c))*i>=2&&(r++,i/=2),r+c>=l?(a=0,r=l):r+c>=1?(a=(e*i-1)*S(2,t),r+=c):(a=e*S(2,c-1)*S(2,t),r=0));t>=8;o[d++]=255&a,a/=256,t-=8);for(r=r<0;o[d++]=255&r,r/=256,s-=8);return o[--d]|=128*h,o}function R(e,t,n){var r,a=8*n-t-1,i=(1<>1,s=a-7,l=n-1,c=e[l--],u=127&c;for(c>>=7;s>0;u=256*u+e[l],l--,s-=8);for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;r=256*r+e[l],l--,s-=8);if(0===u)u=1-o;else{if(u===i)return r?NaN:c?-x:x;r+=S(2,t),u-=o}return(c?-1:1)*r*S(2,u-t)}function P(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function M(e){return[255&e]}function q(e){return[255&e,e>>8&255]}function B(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function L(e){return N(e,52,8)}function F(e){return N(e,23,4)}function U(e,t,n){m(e[b],t,{get:function(){return this[n]}})}function V(e,t,n,r){var a=p(+n);if(a+t>e[I])throw j(v);var i=e[A]._b,o=a+e[D],s=i.slice(o,o+t);return r?s:s.reverse()}function H(e,t,n,r,a,i){var o=p(+n);if(o+t>e[I])throw j(v);for(var s=e[A]._b,l=o+e[D],c=r(+a),u=0;uQ;)(K=G[Q++])in k||s(k,K,E[K]);i||(W.constructor=k)}var $=new w(new k(2)),Y=w[b].setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||l(w[b],{setInt8:function(e,t){Y.call(this,e,t<<24>>24)},setUint8:function(e,t){Y.call(this,e,t<<24>>24)}},!0)}else k=function(e){u(this,k,"ArrayBuffer");var t=p(e);this._b=g.call(new Array(t),0),this[I]=t},w=function(e,t,n){u(this,w,"DataView"),u(e,k,"DataView");var r=e[I],a=d(t);if(a<0||a>r)throw j("Wrong offset!");if(a+(n=void 0===n?r-a:h(n))>r)throw j("Wrong length!");this[A]=e,this[D]=a,this[I]=n},a&&(U(k,"byteLength","_l"),U(w,"buffer","_b"),U(w,"byteLength","_l"),U(w,"byteOffset","_o")),l(w[b],{getInt8:function(e){return V(this,1,e)[0]<<24>>24},getUint8:function(e){return V(this,1,e)[0]},getInt16:function(e){var t=V(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=V(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return P(V(this,4,e,arguments[1]))},getUint32:function(e){return P(V(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return R(V(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return R(V(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){H(this,1,e,M,t)},setUint8:function(e,t){H(this,1,e,M,t)},setInt16:function(e,t){H(this,2,e,q,t,arguments[2])},setUint16:function(e,t){H(this,2,e,q,t,arguments[2])},setInt32:function(e,t){H(this,4,e,B,t,arguments[2])},setUint32:function(e,t){H(this,4,e,B,t,arguments[2])},setFloat32:function(e,t){H(this,4,e,F,t,arguments[2])},setFloat64:function(e,t){H(this,8,e,L,t,arguments[2])}});y(k,"ArrayBuffer"),y(w,"DataView"),s(w[b],o.VIEW,!0),t.ArrayBuffer=k,t.DataView=w},,,,,,,function(e,t,n){var r=n(117),a=r.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return a(e,t,n)}a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=o),i(a,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return a(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=a(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";var r=n(278),a=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=d;var i=n(244);i.inherits=n(149);var o=n(649),s=n(517);i.inherits(d,o);for(var l=a(s.prototype),c=0;c>>=2;for(a=0;a>8^255&d^99,i[m]=d,o[d]=m,p=(h=e[d])<<24^d<<16^d<<8^d^h,f=((n=e[m])^(r=e[n])^(a=e[r]))<<24^(m^a)<<16^(m^r^a)<<8^m^n^a;for(var y=0;y<4;++y)l[y][m]=p,c[y][d]=f,p=p<<24|p>>>8,f=f<<24|f>>>8;0===m?m=g=1:(m=n^e[e[e[n^a]]],g^=e[e[g]])}}function p(e,t){for(var n,r=e.slice(0),a=1,o=r.length,l=d*(o+6+1),u=o;u>>16&255]<<24^i[n>>>8&255]<<16^i[255&n]<<8^i[n>>>24]^s[a]<<24,a++):o>6&&u%o==4&&(n=i[n>>>24]<<24^i[n>>>16&255]<<16^i[n>>>8&255]<<8^i[255&n]),r[u]=r[u-o]^n;if(t){for(var h,p=c[0],f=c[1],m=c[2],g=c[3],y=r.slice(0),b=(u=0,(l=r.length)-d);u>>24]]^f[i[h>>>16&255]]^m[i[h>>>8&255]]^g[i[255&h]];r=y}return r}function f(e,t,n,r){var a,s,u,d,h,p,f,m,g,y,b,v,k=e.length/4-1;r?(a=c[0],s=c[1],u=c[2],d=c[3],h=o):(a=l[0],s=l[1],u=l[2],d=l[3],h=i),p=t[0]^e[0],f=t[r?3:1]^e[1],m=t[2]^e[2],g=t[r?1:3]^e[3];for(var w=3,_=1;_>>24]^s[f>>>16&255]^u[m>>>8&255]^d[255&g]^e[++w],b=a[f>>>24]^s[m>>>16&255]^u[g>>>8&255]^d[255&p]^e[++w],v=a[m>>>24]^s[g>>>16&255]^u[p>>>8&255]^d[255&f]^e[++w],g=a[g>>>24]^s[p>>>16&255]^u[f>>>8&255]^d[255&m]^e[++w],p=y,f=b,m=v;n[0]=h[p>>>24]<<24^h[f>>>16&255]<<16^h[m>>>8&255]<<8^h[255&g]^e[++w],n[r?3:1]=h[f>>>24]<<24^h[m>>>16&255]<<16^h[g>>>8&255]<<8^h[255&p]^e[++w],n[2]=h[m>>>24]<<24^h[g>>>16&255]<<16^h[p>>>8&255]<<8^h[255&f]^e[++w],n[r?1:3]=h[g>>>24]<<24^h[p>>>16&255]<<16^h[f>>>8&255]<<8^h[255&m]^e[++w]}function m(e){var t,n="AES-"+((e=e||{}).mode||"CBC").toUpperCase(),a=(t=e.decrypt?r.cipher.createDecipher(n,e.key):r.cipher.createCipher(n,e.key)).start;return t.start=function(e,n){var i=null;n instanceof r.util.ByteBuffer&&(i=n,n={}),(n=n||{}).output=i,n.iv=e,a.call(t,n)},t}},function(e,t,n){var r=n(31);r.pki=r.pki||{};var a=e.exports=r.pki.oids=r.oids=r.oids||{};function i(e,t){a[e]=t,a[t]=e}function o(e,t){a[e]=t}i("1.2.840.113549.1.1.1","rsaEncryption"),i("1.2.840.113549.1.1.4","md5WithRSAEncryption"),i("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),i("1.2.840.113549.1.1.7","RSAES-OAEP"),i("1.2.840.113549.1.1.8","mgf1"),i("1.2.840.113549.1.1.9","pSpecified"),i("1.2.840.113549.1.1.10","RSASSA-PSS"),i("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),i("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),i("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),i("1.2.840.10040.4.3","dsa-with-sha1"),i("1.3.14.3.2.7","desCBC"),i("1.3.14.3.2.26","sha1"),i("2.16.840.1.101.3.4.2.1","sha256"),i("2.16.840.1.101.3.4.2.2","sha384"),i("2.16.840.1.101.3.4.2.3","sha512"),i("1.2.840.113549.2.5","md5"),i("1.2.840.113549.1.7.1","data"),i("1.2.840.113549.1.7.2","signedData"),i("1.2.840.113549.1.7.3","envelopedData"),i("1.2.840.113549.1.7.4","signedAndEnvelopedData"),i("1.2.840.113549.1.7.5","digestedData"),i("1.2.840.113549.1.7.6","encryptedData"),i("1.2.840.113549.1.9.1","emailAddress"),i("1.2.840.113549.1.9.2","unstructuredName"),i("1.2.840.113549.1.9.3","contentType"),i("1.2.840.113549.1.9.4","messageDigest"),i("1.2.840.113549.1.9.5","signingTime"),i("1.2.840.113549.1.9.6","counterSignature"),i("1.2.840.113549.1.9.7","challengePassword"),i("1.2.840.113549.1.9.8","unstructuredAddress"),i("1.2.840.113549.1.9.14","extensionRequest"),i("1.2.840.113549.1.9.20","friendlyName"),i("1.2.840.113549.1.9.21","localKeyId"),i("1.2.840.113549.1.9.22.1","x509Certificate"),i("1.2.840.113549.1.12.10.1.1","keyBag"),i("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),i("1.2.840.113549.1.12.10.1.3","certBag"),i("1.2.840.113549.1.12.10.1.4","crlBag"),i("1.2.840.113549.1.12.10.1.5","secretBag"),i("1.2.840.113549.1.12.10.1.6","safeContentsBag"),i("1.2.840.113549.1.5.13","pkcs5PBES2"),i("1.2.840.113549.1.5.12","pkcs5PBKDF2"),i("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),i("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),i("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),i("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),i("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),i("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),i("1.2.840.113549.2.7","hmacWithSHA1"),i("1.2.840.113549.2.8","hmacWithSHA224"),i("1.2.840.113549.2.9","hmacWithSHA256"),i("1.2.840.113549.2.10","hmacWithSHA384"),i("1.2.840.113549.2.11","hmacWithSHA512"),i("1.2.840.113549.3.7","des-EDE3-CBC"),i("2.16.840.1.101.3.4.1.2","aes128-CBC"),i("2.16.840.1.101.3.4.1.22","aes192-CBC"),i("2.16.840.1.101.3.4.1.42","aes256-CBC"),i("2.5.4.3","commonName"),i("2.5.4.5","serialName"),i("2.5.4.6","countryName"),i("2.5.4.7","localityName"),i("2.5.4.8","stateOrProvinceName"),i("2.5.4.10","organizationName"),i("2.5.4.11","organizationalUnitName"),i("2.16.840.1.113730.1.1","nsCertType"),o("2.5.29.1","authorityKeyIdentifier"),o("2.5.29.2","keyAttributes"),o("2.5.29.3","certificatePolicies"),o("2.5.29.4","keyUsageRestriction"),o("2.5.29.5","policyMapping"),o("2.5.29.6","subtreesConstraint"),o("2.5.29.7","subjectAltName"),o("2.5.29.8","issuerAltName"),o("2.5.29.9","subjectDirectoryAttributes"),o("2.5.29.10","basicConstraints"),o("2.5.29.11","nameConstraints"),o("2.5.29.12","policyConstraints"),o("2.5.29.13","basicConstraints"),i("2.5.29.14","subjectKeyIdentifier"),i("2.5.29.15","keyUsage"),o("2.5.29.16","privateKeyUsagePeriod"),i("2.5.29.17","subjectAltName"),i("2.5.29.18","issuerAltName"),i("2.5.29.19","basicConstraints"),o("2.5.29.20","cRLNumber"),o("2.5.29.21","cRLReason"),o("2.5.29.22","expirationDate"),o("2.5.29.23","instructionCode"),o("2.5.29.24","invalidityDate"),o("2.5.29.25","cRLDistributionPoints"),o("2.5.29.26","issuingDistributionPoint"),o("2.5.29.27","deltaCRLIndicator"),o("2.5.29.28","issuingDistributionPoint"),o("2.5.29.29","certificateIssuer"),o("2.5.29.30","nameConstraints"),i("2.5.29.31","cRLDistributionPoints"),i("2.5.29.32","certificatePolicies"),o("2.5.29.33","policyMappings"),o("2.5.29.34","policyConstraints"),i("2.5.29.35","authorityKeyIdentifier"),o("2.5.29.36","policyConstraints"),i("2.5.29.37","extKeyUsage"),o("2.5.29.46","freshestCRL"),o("2.5.29.54","inhibitAnyPolicy"),i("1.3.6.1.4.1.11129.2.4.2","timestampList"),i("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),i("1.3.6.1.5.5.7.3.1","serverAuth"),i("1.3.6.1.5.5.7.3.2","clientAuth"),i("1.3.6.1.5.5.7.3.3","codeSigning"),i("1.3.6.1.5.5.7.3.4","emailProtection"),i("1.3.6.1.5.5.7.3.8","timeStamping")},function(e,t,n){"use strict";n.r(t),n.d(t,"ToastComponent",function(){return o});var r=n(0),a=n(43),i=n(181),o=function(){function e(e,t,n){this.sanitizer=e,this.componentFactoryResolver=t,this.changeDetectorRef=n,this.bodyOutputType=i.a,this.clickEvent=new r.EventEmitter}return e.prototype.ngOnInit=function(){this.toast.closeHtml&&(this.safeCloseHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.closeHtml)),this.toast.bodyOutputType===i.a.TrustedHtml&&(this.safeBodyHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.body))},e.prototype.ngAfterViewInit=function(){if(this.toast.bodyOutputType===this.bodyOutputType.Component){var e=this.componentFactoryResolver.resolveComponentFactory(this.toast.body);this.componentBody.createComponent(e,void 0,this.componentBody.injector).instance.toast=this.toast,this.changeDetectorRef.detectChanges()}},e.prototype.click=function(e,t){e.stopPropagation(),this.clickEvent.emit({value:{toast:t,isCloseButton:!0}})},e.decorators=[{type:r.Component,args:[{selector:"[toastComp]",template:'\n \n
\n
{{toast.title}}
\n
\n
\n
\n
{{toast.body}}
\n
\n
\n
\n
'}]}],e.ctorParameters=function(){return[{type:a.DomSanitizer},{type:r.ComponentFactoryResolver},{type:r.ChangeDetectorRef}]},e.propDecorators={toast:[{type:r.Input}],iconClass:[{type:r.Input}],titleClass:[{type:r.Input}],messageClass:[{type:r.Input}],componentBody:[{type:r.ViewChild,args:["componentBody",{read:r.ViewContainerRef}]}],clickEvent:[{type:r.Output}]},e}()},function(e,t,n){"use strict";var r;n.d(t,"a",function(){return r}),function(e){e[e.Default=0]="Default",e[e.TrustedHtml=1]="TrustedHtml",e[e.Component=2]="Component"}(r||(r={}))},function(e,t,n){"use strict";function r(e){return"function"==typeof e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()},function(e,t,n){"use strict";var r=n(79),a=n(126),i=n(114),o=n(37),s=n(105),l=Object.assign;e.exports=!l||n(18)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join("")!=r})?function(e,t){for(var n=o(e),l=arguments.length,c=1,u=a.f,d=i.f;l>c;)for(var h,p=s(arguments[c++]),f=u?r(p).concat(u(p)):r(p),m=f.length,g=0;m>g;)d.call(p,h=f[g++])&&(n[h]=p[h]);return n}:l},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(57),a=n(67);e.exports=function(e){var t=String(a(this)),n="",i=r(e);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(n+=t);return n}},function(e,t,n){"use strict";var r=n(26),a=n(75);e.exports=function(e,t,n){t in e?r.f(e,t,a(0,n)):e[t]=n}},function(e,t,n){"use strict";var r=n(84),a=n(189),i=n(94),o=n(48);e.exports=n(143)(Array,"Array",function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,a(1)):a(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r,a,i,o=n(56),s=n(185),l=n(156),c=n(153),u=n(16),d=u.process,h=u.setImmediate,p=u.clearImmediate,f=u.MessageChannel,m=u.Dispatch,g=0,y={},b=function(){var e=+this;if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},v=function(e){b.call(e.data)};h&&p||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return y[++g]=function(){s("function"==typeof e?e:Function(e),t)},r(g),g},p=function(e){delete y[e]},"process"==n(60)(d)?r=function(e){d.nextTick(o(b,e,1))}:m&&m.now?r=function(e){m.now(o(b,e,1))}:f?(i=(a=new f).port2,a.port1.onmessage=v,r=o(i.postMessage,i,1)):u.addEventListener&&"function"==typeof postMessage&&!u.importScripts?(r=function(e){u.postMessage(e+"","*")},u.addEventListener("message",v,!1)):r="onreadystatechange"in c("script")?function(e){l.appendChild(c("script")).onreadystatechange=function(){l.removeChild(this),b.call(e)}}:function(e){setTimeout(o(b,e,1),0)}),e.exports={set:h,clear:p}},function(e,t,n){"use strict";var r=n(42);function a(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new a(e)}},function(e,t,n){var r=n(16).navigator;e.exports=r&&r.userAgent||""},,,,,,,function(e,t,n){var r=n(31);n(40);var a=e.exports=r.pem=r.pem||{};function i(e){for(var t=e.name+": ",n=[],r=function(e,t){return" "+t},a=0;a65&&-1!==o){var s=t[o];","===s?(++o,t=t.substr(0,o)+"\r\n "+t.substr(o)):t=t.substr(0,o)+"\r\n"+s+t.substr(o+1),i=a-o-1,o=-1,++a}else" "!==t[a]&&"\t"!==t[a]&&","!==t[a]||(o=a);return t}function o(e){return e.replace(/^\s+/,"")}a.encode=function(e,t){t=t||{};var n,a="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(a+=i(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]})),e.contentDomain&&(a+=i(n={name:"Content-Domain",values:[e.contentDomain]})),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),a+=i(n)),e.headers)for(var o=0;ol;)r(s,n=t[l++])&&(~i(c,n)||c.push(n));return c}},function(e,t,n){var r=n(26),a=n(11),i=n(79);e.exports=n(27)?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),s=o.length,l=0;s>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){var r=n(48),a=n(81).f,i={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return o&&"[object Window]"==i.call(e)?function(e){try{return a(e)}catch(e){return o.slice()}}(e):a(r(e))}},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var r=n(42),a=n(19),i=n(185),o=[].slice,s={};e.exports=Function.bind||function(e){var t=r(this),n=o.call(arguments,1),l=function(){var r=n.concat(o.call(arguments));return this instanceof l?function(e,t,n){if(!(t in s)){for(var r=[],a=0;a>>0||(o.test(n)?16:10))}:r},function(e,t,n){var r=n(16).parseFloat,a=n(106).trim;e.exports=1/r(n(158)+"-0")!=-1/0?function(e){var t=a(String(e),3),n=r(t);return 0===n&&"-"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(60);e.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t);return+e}},function(e,t,n){var r=n(19),a=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&a(e)===e}},function(e,t){e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t,n){var r=n(11);e.exports=function(e,t,n,a){try{return a?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},function(e,t,n){var r=n(389);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(42),a=n(37),i=n(105),o=n(25);e.exports=function(e,t,n,s,l){r(t);var c=a(e),u=i(c),d=o(c.length),h=l?d-1:0,p=l?-1:1;if(n<2)for(;;){if(h in u){s=u[h],h+=p;break}if(h+=p,l?h<0:d<=h)throw TypeError("Reduce of empty array with no initial value")}for(;l?h>=0:d>h;h+=p)h in u&&(s=t(s,u[h],h,c));return s}},function(e,t,n){"use strict";var r=n(37),a=n(80),i=n(25);e.exports=[].copyWithin||function(e,t){var n=r(this),o=i(n.length),s=a(e,o),l=a(t,o),c=arguments.length>2?arguments[2]:void 0,u=Math.min((void 0===c?o:a(c,o))-l,o-s),d=1;for(l0;)l in n?n[s]=n[l]:delete n[s],s+=d,l+=d;return n}},function(e,t,n){"use strict";var r=n(167);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(e,t,n){n(27)&&"g"!=/./g.flags&&n(26).f(RegExp.prototype,"flags",{configurable:!0,get:n(115)})},function(e,t,n){var r=n(16),a=n(190).set,i=r.MutationObserver||r.WebKitMutationObserver,o=r.process,s=r.Promise,l="process"==n(60)(o);e.exports=function(){var e,t,n,c=function(){var r,a;for(l&&(r=o.domain)&&r.exit();e;){a=e.fn,e=e.next;try{a()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(l)n=function(){o.nextTick(c)};else if(!i||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var u=s.resolve(void 0);n=function(){u.then(c)}}else n=function(){a.call(r,c)};else{var d=!0,h=document.createTextNode("");new i(c).observe(h,{characterData:!0}),n=function(){h.data=d=!d}}return function(r){var a={fn:r,next:void 0};t&&(t.next=a),e||(e=a,n()),t=a}}},function(e,t,n){"use strict";var r=n(225),a=n(95);e.exports=n(131)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(a(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(a(this,"Map"),0===e?0:e,t)}},r,!0)},function(e,t,n){"use strict";var r=n(26).f,a=n(71),i=n(88),o=n(56),s=n(86),l=n(87),c=n(143),u=n(189),d=n(85),h=n(27),p=n(70).fastKey,f=n(95),m=h?"_s":"size",g=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,c){var u=e(function(e,r){s(e,u,t,"_i"),e._t=t,e._i=a(null),e._f=void 0,e._l=void 0,e[m]=0,null!=r&&l(r,n,e[c],e)});return i(u.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=f(this,t),r=g(n,e);if(r){var a=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=a),a&&(a.p=i),n._f==r&&(n._f=a),n._l==r&&(n._l=i),n[m]--}return!!r},forEach:function(e){f(this,t);for(var n,r=o(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(f(this,t),e)}}),h&&r(u.prototype,"size",{get:function(){return f(this,t)[m]}}),u},def:function(e,t,n){var r,a,i=g(e,t);return i?i.v=n:(e._l=i={i:a=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[m]++,"F"!==a&&(e._i[a]=i)),e},getEntry:g,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?u(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,u(1))},n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var r=n(225),a=n(95);e.exports=n(131)("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(a(this,"Set"),e=0===e?0:e,e)}},r)},function(e,t,n){"use strict";var r,a=n(62)(0),i=n(47),o=n(70),s=n(184),l=n(228),c=n(19),u=n(18),d=n(95),h=o.getWeak,p=Object.isExtensible,f=l.ufstore,m={},g=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(e){if(c(e)){var t=h(e);return!0===t?f(d(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return l.def(d(this,"WeakMap"),e,t)}},b=e.exports=n(131)("WeakMap",g,y,l,!0,!0);u(function(){return 7!=(new b).set((Object.freeze||Object)(m),7).get(m)})&&(s((r=l.getConstructor(g,"WeakMap")).prototype,y),o.NEED=!0,a(["delete","has","get","set"],function(e){var t=b.prototype,n=t[e];i(t,e,function(t,a){if(c(t)&&!p(t)){this._f||(this._f=new r);var i=this._f[e](t,a);return"set"==e?this:i}return n.call(this,t,a)})}))},function(e,t,n){"use strict";var r=n(88),a=n(70).getWeak,i=n(11),o=n(19),s=n(86),l=n(87),c=n(62),u=n(46),d=n(95),h=c(5),p=c(6),f=0,m=function(e){return e._l||(e._l=new g)},g=function(){this.a=[]},y=function(e,t){return h(e.a,function(e){return e[0]===t})};g.prototype={get:function(e){var t=y(this,e);if(t)return t[1]},has:function(e){return!!y(this,e)},set:function(e,t){var n=y(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var c=e(function(e,r){s(e,c,t,"_i"),e._t=t,e._i=f++,e._l=void 0,null!=r&&l(r,n,e[i],e)});return r(c.prototype,{delete:function(e){if(!o(e))return!1;var n=a(e);return!0===n?m(d(this,t)).delete(e):n&&u(n,this._i)&&delete n[this._i]},has:function(e){if(!o(e))return!1;var n=a(e);return!0===n?m(d(this,t)).has(e):n&&u(n,this._i)}}),c},def:function(e,t,n){var r=a(i(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){var r=n(57),a=n(25);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=a(t);if(t!==n)throw RangeError("Wrong length!");return n}},function(e,t,n){var r=n(81),a=n(126),i=n(11),o=n(16).Reflect;e.exports=o&&o.ownKeys||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},,,,,,,,,,,,,function(e,t,n){(t=e.exports=n(649)).Stream=t,t.Readable=t,t.Writable=n(517),t.Duplex=n(177),t.Transform=n(653),t.PassThrough=n(995)},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(117).Buffer)},function(e,t,n){var r=n(31);n(138),n(40),(e.exports=r.hmac=r.hmac||{}).create=function(){var e=null,t=null,n=null,a=null,i={start:function(i,o){if(null!==i)if("string"==typeof i){if(!((i=i.toLowerCase())in r.md.algorithms))throw new Error('Unknown hash algorithm "'+i+'"');t=r.md.algorithms[i].create()}else t=i;if(null===o)o=e;else{if("string"==typeof o)o=r.util.createBuffer(o);else if(r.util.isArray(o)){var s=o;o=r.util.createBuffer();for(var l=0;lt.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),n=r.util.createBuffer(),a=r.util.createBuffer(),c=o.length();for(l=0;l>>0,l>>>0];for(var c=a.fullMessageLength.length-1;c>=0;--c)a.fullMessageLength[c]+=l[1],l[1]=l[0]+(a.fullMessageLength[c]/4294967296>>>0),a.fullMessageLength[c]=a.fullMessageLength[c]>>>0,l[0]=l[1]/4294967296>>>0;return t.putBytes(i),s(e,n,t),(t.read>2048||0===t.length())&&t.compact(),a},a.digest=function(){var o=r.util.createBuffer();o.putBytes(t.bytes());var l,c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize&a.blockLength-1;o.putBytes(i.substr(0,a.blockLength-c));for(var u=8*a.fullMessageLength[0],d=0;d>>0,o.putInt32(u>>>0),u=l>>>0;o.putInt32(u);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};s(h,n,o);var p=r.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},a};var i=null,o=!1;function s(e,t,n){for(var r,a,i,o,s,l,c,u=n.length();u>=64;){for(a=e.h0,i=e.h1,o=e.h2,s=e.h3,l=e.h4,c=0;c<16;++c)r=n.getInt32(),t[c]=r,r=(a<<5|a>>>27)+(s^i&(o^s))+l+1518500249+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<20;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(a<<5|a>>>27)+(s^i&(o^s))+l+1518500249+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<32;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(a<<5|a>>>27)+(i^o^s)+l+1859775393+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<40;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(a<<5|a>>>27)+(i^o^s)+l+1859775393+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<60;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(a<<5|a>>>27)+(i&o|s&(i^o))+l+2400959708+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<80;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(a<<5|a>>>27)+(i^o^s)+l+3395469782+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;e.h0=e.h0+a|0,e.h1=e.h1+i|0,e.h2=e.h2+o|0,e.h3=e.h3+s|0,e.h4=e.h4+l|0,u-=64}}},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return i});var r=n(113);function a(){for(var e=[],t=0;ts||n!=n?c*(1/0):c*n}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(11),a=n(19),i=n(191);e.exports=function(e,t){if(r(e),a(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(87);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r; +var r=n(783),a=n(784),i=n(538);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return L(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return L(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,a){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=a?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(a)return-1;n=e.length-1}else if(n<0){if(!a)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,a);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,a);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,a){var i,o=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(a){var u=-1;for(i=n;is&&(n=s-l),i=n;i>=0;i--){for(var d=!0,h=0;ha&&(r=a):r=a;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var o=0;o>8,a=n%256,i.push(a),i.push(r);return i}(t,e.length-n),e,n,r)}function x(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function E(e,t,n){n=Math.min(e.length,n);for(var r=[],a=t;a239?4:c>223?3:c>191?2:1;if(a+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(i=e[a+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=e[a+1],o=e[a+2],128==(192&i)&&128==(192&o)&&(l=(15&c)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=e[a+1],o=e[a+2],s=e[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),a+=d}return function(e){var t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return S(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return x(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return z(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},l.prototype.compare=function(e,t,n,r,a){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===a&&(a=this.length),t<0||n>e.length||r<0||a>this.length)throw new RangeError("out of range index");if(r>=a&&t>=n)return 0;if(r>=a)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(a>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),s=Math.min(i,o),c=this.slice(r,a),u=e.slice(t,n),d=0;da)&&(n=a),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return _(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function S(e,t,n){var r="";n=Math.min(e.length,n);for(var a=t;ar)&&(n=r);for(var a="",i=t;in)throw new RangeError("Trying to access beyond buffer length")}function I(e,t,n,r,a,i){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>a||te.length)throw new RangeError("Index out of range")}function D(e,t,n,r){t<0&&(t=65535+t+1);for(var a=0,i=Math.min(e.length-n,2);a>>8*(r?a:1-a)}function N(e,t,n,r){t<0&&(t=4294967295+t+1);for(var a=0,i=Math.min(e.length-n,4);a>>8*(r?a:3-a)&255}function R(e,t,n,r,a,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function P(e,t,n,r,i){return i||R(e,0,n,4),a.write(e,t,n,r,23,4),n+4}function M(e,t,n,r,i){return i||R(e,0,n,8),a.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(a*=256);)r+=this[e+--t]*a;return r},l.prototype.readUInt8=function(e,t){return t||A(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||A(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||A(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||A(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||A(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||A(e,t,this.length);for(var r=this[e],a=1,i=0;++i=(a*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||A(e,t,this.length);for(var r=t,a=1,i=this[e+--r];r>0&&(a*=256);)i+=this[e+--r]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readInt8=function(e,t){return t||A(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||A(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||A(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||A(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||A(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||A(e,4,this.length),a.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||A(e,4,this.length),a.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||A(e,8,this.length),a.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||A(e,8,this.length),a.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||I(this,e,t,n,Math.pow(2,8*n)-1,0);var a=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+a]=e/i&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var a=Math.pow(2,8*n-1);I(this,e,t,n,a-1,-a)}var i=0,o=1,s=0;for(this[t]=255&e;++i>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var a=Math.pow(2,8*n-1);I(this,e,t,n,a-1,-a)}var i=n-1,o=1,s=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/o>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return P(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return P(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return M(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return M(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--a)e[a+t]=this[a+n];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(a=0;a>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&n<57344){if(!a){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&i.push(239,191,189);continue}a=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),a=n;continue}n=65536+(a-55296<<10|n-56320)}else a&&(t-=3)>-1&&i.push(239,191,189);if(a=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function U(e,t,n,r){for(var a=0;a=t.length||a>=e.length);++a)t[a+n]=e[a];return a}}).call(this,n(97))},function(e,t,n){"use strict";n.r(t),n.d(t,"ToasterContainerComponent",function(){return s});var r=n(0),a=n(16),i=n(283),o=n(13),s=function(){function e(e,t,n){this.ref=t,this.ngZone=n,this.timeoutIds=new Map,this.toasts=[],this.toasterService=e}return e.prototype.ngOnInit=function(){this.registerSubscribers(),this.isNullOrUndefined(this.toasterconfig)&&(this.toasterconfig=new i.a)},e.prototype.click=function(e,t){if(this.toasterconfig.tapToDismiss||e.showCloseButton&&t){var n=!0;if(e.clickHandler){if("function"!=typeof e.clickHandler)return console.log("The toast click handler is not a callable function."),!1;n=e.clickHandler(e,t)}n&&this.removeToast(e)}},e.prototype.childClick=function(e){this.click(e.value.toast,e.value.isCloseButton)},e.prototype.stopTimer=function(e){if(this.toasterconfig.mouseoverTimerStop){var t=this.toastIdOrDefault(e),n=this.timeoutIds.get(t);n&&(window.clearTimeout(n),this.timeoutIds.delete(t))}},e.prototype.restartTimer=function(e){var t=this.timeoutIds.get(this.toastIdOrDefault(e));this.toasterconfig.mouseoverTimerStop?t||this.configureTimer(e):0!==e.timeout&&!t&&this.toasterconfig.timeout&&this.removeToast(e)},e.prototype.registerSubscribers=function(){var e=this;this.addToastSubscriber=this.toasterService.addToast.subscribe(function(t){e.addToast(t)}),this.clearToastsSubscriber=this.toasterService.clearToasts.subscribe(function(t){e.clearToasts(t)})},e.prototype.addToast=function(e){if(!e.toastContainerId||!this.toasterconfig.toastContainerId||e.toastContainerId===this.toasterconfig.toastContainerId){if(e.type||(e.type=this.toasterconfig.defaultTypeClass),this.toasterconfig.preventDuplicates&&this.toasts.length>0){if(e.toastId&&this.toasts.some(function(t){return t.toastId===e.toastId}))return;if(this.toasts.some(function(t){return t.body===e.body}))return}this.isNullOrUndefined(e.showCloseButton)&&("object"==typeof this.toasterconfig.showCloseButton?e.showCloseButton=this.toasterconfig.showCloseButton[e.type]:"boolean"==typeof this.toasterconfig.showCloseButton&&(e.showCloseButton=this.toasterconfig.showCloseButton)),e.showCloseButton&&(e.closeHtml=e.closeHtml||this.toasterconfig.closeHtml),e.bodyOutputType=e.bodyOutputType||this.toasterconfig.bodyOutputType,this.configureTimer(e),this.toasterconfig.newestOnTop?(this.toasts.unshift(e),this.isLimitExceeded()&&this.toasts.pop()):(this.toasts.push(e),this.isLimitExceeded()&&this.toasts.shift()),e.onShowCallback&&e.onShowCallback(e)}},e.prototype.configureTimer=function(e){var t=this,n="number"==typeof e.timeout?e.timeout:this.toasterconfig.timeout;"object"==typeof n&&(n=n[e.type]),n>0&&this.ngZone.runOutsideAngular(function(){var r=window.setTimeout(function(){t.ngZone.run(function(){t.ref.markForCheck(),t.removeToast(e)})},n);t.timeoutIds.set(t.toastIdOrDefault(e),r)})},e.prototype.isLimitExceeded=function(){return this.toasterconfig.limit&&this.toasts.length>this.toasterconfig.limit},e.prototype.removeToast=function(e){var t=this.toasts.indexOf(e);if(!(t<0)){var n=this.toastIdOrDefault(e),r=this.timeoutIds.get(n);this.toasts.splice(t,1),r&&(window.clearTimeout(r),this.timeoutIds.delete(n)),e.onHideCallback&&e.onHideCallback(e),this.toasterService._removeToastSubject.next({toastId:n,toastContainerId:e.toastContainerId})}},e.prototype.removeAllToasts=function(){for(var e=this.toasts.length-1;e>=0;e--)this.removeToast(this.toasts[e])},e.prototype.clearToasts=function(e){var t=e.toastId,n=e.toastContainerId;this.isNullOrUndefined(n)?this.clearToastsAction(t):n===this.toasterconfig.toastContainerId&&this.clearToastsAction(t)},e.prototype.clearToastsAction=function(e){e?this.removeToast(this.toasts.filter(function(t){return t.toastId===e})[0]):this.removeAllToasts()},e.prototype.toastIdOrDefault=function(e){return e.toastId||""},e.prototype.isNullOrUndefined=function(e){return null==e},e.prototype.ngOnDestroy=function(){this.addToastSubscriber&&this.addToastSubscriber.unsubscribe(),this.clearToastsSubscriber&&this.clearToastsSubscriber.unsubscribe()},e.decorators=[{type:r.Component,args:[{selector:"toaster-container",template:'\n
\n
\n
\n
\n ',animations:[Object(a.trigger)("toastState",[Object(a.state)("flyRight, flyLeft, slideDown, slideUp, fade",Object(a.style)({opacity:1,transform:"translate(0,0)"})),Object(a.transition)("void => flyRight",[Object(a.style)({opacity:0,transform:"translateX(100%)"}),Object(a.animate)("0.25s ease-in")]),Object(a.transition)("flyRight => void",[Object(a.animate)("0.25s 10ms ease-out",Object(a.style)({opacity:0,transform:"translateX(100%)"}))]),Object(a.transition)("void => flyLeft",[Object(a.style)({opacity:0,transform:"translateX(-100%)"}),Object(a.animate)("0.25s ease-in")]),Object(a.transition)("flyLeft => void",[Object(a.animate)("0.25s 10ms ease-out",Object(a.style)({opacity:0,transform:"translateX(-100%)"}))]),Object(a.transition)("void => slideDown",[Object(a.style)({opacity:0,transform:"translateY(-200%)"}),Object(a.animate)("0.3s ease-in")]),Object(a.transition)("slideDown => void",[Object(a.animate)("0.3s 10ms ease-out",Object(a.style)({opacity:0,transform:"translateY(200%)"}))]),Object(a.transition)("void => slideUp",[Object(a.style)({opacity:0,transform:"translateY(200%)"}),Object(a.animate)("0.3s ease-in")]),Object(a.transition)("slideUp => void",[Object(a.animate)("0.3s 10ms ease-out",Object(a.style)({opacity:0,transform:"translateY(-200%)"}))]),Object(a.transition)("void => fade",[Object(a.style)({opacity:0}),Object(a.animate)("0.3s ease-in")]),Object(a.transition)("fade => void",[Object(a.animate)("0.3s 10ms ease-out",Object(a.style)({opacity:0}))])])]}]}],e.ctorParameters=function(){return[{type:o.ToasterService},{type:r.ChangeDetectorRef},{type:r.NgZone}]},e.propDecorators={toasterconfig:[{type:r.Input}]},e}()},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r="function"==typeof Symbol&&Symbol.observable||"@@observable"},function(e,t,n){"use strict";function r(e){return e&&"function"==typeof e.schedule}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n(151),a=n(288);function i(e,t,n,i,o){if(void 0===o&&(o=new r.a(e,n,i)),!o.closed)return Object(a.a)(t)(o)}},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.c(t,e),t.prototype.notifyNext=function(e,t,n,r,a){this.destination.next(t)},t.prototype.notifyError=function(e,t){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.destination.complete()},t}(n(36).a)},function(e,t,n){"use strict";n.d(t,"b",function(){return u}),n.d(t,"a",function(){return d});var r=n(1),a=n(33),i=n(36),o=n(50),s=n(124),l=n(285),c=n(183),u=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return r.c(t,e),t}(i.a),d=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return r.c(t,e),t.prototype[c.a]=function(){return new u(this)},t.prototype.lift=function(e){var t=new h(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.a;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),a=0;a")}),d=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var h=s(e),p=!i(function(){var t={};return t[h]=function(){return 7},7!=""[e](t)}),f=p?!i(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[c]=function(){return n}),n[h](""),!t}):void 0;if(!p||!f||"replace"===e&&!u||"split"===e&&!d){var m=/./[h],g=n(o,h,""[e],function(e,t,n,r,a){return t.exec===l?p&&!a?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),y=g[0],b=g[1];r(String.prototype,e,y),a(RegExp.prototype,h,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)})}}},function(e,t,n){"use strict";var r=n(17),a=n(2),i=n(48),o=n(88),s=n(71),l=n(87),c=n(86),u=n(19),d=n(18),h=n(128),p=n(94),f=n(159);e.exports=function(e,t,n,m,g,y){var b=r[e],v=b,k=g?"set":"add",w=v&&v.prototype,_={},j=function(e){var t=w[e];i(w,e,"delete"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return y&&!u(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof v&&(y||w.forEach&&!d(function(){(new v).entries().next()}))){var x=new v,E=x[k](y?{}:-0,1)!=x,C=d(function(){x.has(1)}),S=h(function(e){new v(e)}),T=!y&&d(function(){for(var e=new v,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((v=t(function(t,n){c(t,v,e);var r=f(new b,t,v);return null!=n&&l(n,g,r[k],r),r})).prototype=w,w.constructor=v),(C||T)&&(j("delete"),j("has"),g&&j("get")),(T||E)&&j(k),y&&w.clear&&delete w.clear}else v=m.getConstructor(t,e,g,k),o(v.prototype,n),s.NEED=!0;return p(v,e),_[e]=v,a(a.G+a.W+a.F*(v!=b),_),y||m.setStrong(v,e,g),v}},function(e,t,n){for(var r,a=n(17),i=n(52),o=n(78),s=o("typed_array"),l=o("view"),c=!(!a.ArrayBuffer||!a.DataView),u=c,d=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");d<9;)(r=a[h[d++]])?(i(r.prototype,s,!0),i(r.prototype,l,!0)):u=!1;e.exports={ABV:c,CONSTR:u,TYPED:s,VIEW:l}},function(e,t){var n,r,a=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var l,c=[],u=!1,d=-1;function h(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&p())}function p(){if(!u){var e=s(h);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d1)for(var n=1;nt){var r=new Error("Too few bytes to parse DER.");throw r.available=e.length(),r.remaining=t,r.requested=n,r}}a.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},a.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},a.create=function(e,t,n,i,o){if(r.util.isArray(i)){for(var s=[],l=0;ln){if(s.strict){var p=new Error("Too few bytes to read ASN.1 value.");throw p.available=t.length(),p.remaining=n,p.requested=h,p}h=n}var f;var m;var g=32==(32&c);if(g)if(f=[],void 0===h)for(;;){if(i(t,n,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),n-=2;break}l=t.length(),f.push(e(t,n,r+1,s)),n-=l-t.length()}else for(;h>0;)l=t.length(),f.push(e(t,h,r+1,s)),n-=l-t.length(),h-=l-t.length();void 0===f&&u===a.Class.UNIVERSAL&&d===a.Type.BITSTRING&&(m=t.bytes(h));if(void 0===f&&s.decodeBitStrings&&u===a.Class.UNIVERSAL&&d===a.Type.BITSTRING&&h>1){var y=t.read,b=n,v=0;if(d===a.Type.BITSTRING&&(i(t,n,1),v=t.getByte(),n--),0===v)try{l=t.length();var k={verbose:s.verbose,strict:!0,decodeBitStrings:!0},w=e(t,n,r+1,k),_=l-t.length();n-=_,d==a.Type.BITSTRING&&_++;var j=w.tagClass;_!==h||j!==a.Class.UNIVERSAL&&j!==a.Class.CONTEXT_SPECIFIC||(f=[w])}catch(e){}void 0===f&&(t.read=y,n=b)}if(void 0===f){if(void 0===h){if(s.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");h=n}if(d===a.Type.BMPSTRING)for(f="";h>0;h-=2)i(t,n,2),f+=String.fromCharCode(t.getInt16()),n-=2;else f=t.getBytes(h)}var x=void 0===m?null:{bitStringContents:m};return a.create(u,d,g,f,x)}(e,e.length(),0,t)},a.toDer=function(e){var t=r.util.createBuffer(),n=e.tagClass|e.type,i=r.util.createBuffer(),o=!1;if("bitStringContents"in e&&(o=!0,e.original&&(o=a.equals(e,e.original))),o)i.putBytes(e.bitStringContents);else if(e.composed){e.constructed?n|=32:i.putByte(0);for(var s=0;s1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?i.putBytes(e.value.substr(1)):i.putBytes(e.value);if(t.putByte(n),i.length()<=127)t.putByte(127&i.length());else{var l=i.length(),c="";do{c+=String.fromCharCode(255&l),l>>>=8}while(l>0);t.putByte(128|c.length);for(s=c.length-1;s>=0;--s)t.putByte(c.charCodeAt(s))}return t.putBuffer(i),t},a.oidToDer=function(e){var t,n,a,i,o=e.split("."),s=r.util.createBuffer();s.putByte(40*parseInt(o[0],10)+parseInt(o[1],10));for(var l=2;l>>=7,t||(i|=128),n.push(i),t=!1}while(a>0);for(var c=n.length-1;c>=0;--c)s.putByte(n[c])}return s},a.derToOid=function(e){var t;"string"==typeof e&&(e=r.util.createBuffer(e));var n=e.getByte();t=Math.floor(n/40)+"."+n%40;for(var a=0;e.length()>0;)a<<=7,128&(n=e.getByte())?a+=127&n:(t+="."+(a+n),a=0);return t},a.utcTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,2),10);n=n>=50?1900+n:2e3+n;var r=parseInt(e.substr(2,2),10)-1,a=parseInt(e.substr(4,2),10),i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=0;if(e.length>11){var l=e.charAt(10),c=10;"+"!==l&&"-"!==l&&(s=parseInt(e.substr(10,2),10),c+=2)}if(t.setUTCFullYear(n,r,a),t.setUTCHours(i,o,s,0),c&&("+"===(l=e.charAt(c))||"-"===l)){var u=60*parseInt(e.substr(c+1,2),10)+parseInt(e.substr(c+4,2),10);u*=6e4,"+"===l?t.setTime(+t-u):t.setTime(+t+u)}return t},a.generalizedTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,4),10),r=parseInt(e.substr(4,2),10)-1,a=parseInt(e.substr(6,2),10),i=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),s=parseInt(e.substr(12,2),10),l=0,c=0,u=!1;"Z"===e.charAt(e.length-1)&&(u=!0);var d=e.length-5,h=e.charAt(d);"+"!==h&&"-"!==h||(c=60*parseInt(e.substr(d+1,2),10)+parseInt(e.substr(d+4,2),10),c*=6e4,"+"===h&&(c*=-1),u=!0);return"."===e.charAt(14)&&(l=1e3*parseFloat(e.substr(14),10)),u?(t.setUTCFullYear(n,r,a),t.setUTCHours(i,o,s,l),t.setTime(+t+c)):(t.setFullYear(n,r,a),t.setHours(i,o,s,l)),t},a.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",n=[];n.push((""+e.getUTCFullYear()).substr(2)),n.push(""+(e.getUTCMonth()+1)),n.push(""+e.getUTCDate()),n.push(""+e.getUTCHours()),n.push(""+e.getUTCMinutes()),n.push(""+e.getUTCSeconds());for(var r=0;r=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var n=new Error("Integer too large; max is 32-bits.");throw n.integer=e,n},a.derToInteger=function(e){"string"==typeof e&&(e=r.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},a.validate=function(e,t,n,i){var o=!1;if(e.tagClass!==t.tagClass&&void 0!==t.tagClass||e.type!==t.type&&void 0!==t.type)i&&(e.tagClass!==t.tagClass&&i.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&i.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));else if(e.constructed===t.constructed||void 0===t.constructed){if(o=!0,t.value&&r.util.isArray(t.value))for(var s=0,l=0;o&&l0&&(i+="\n");for(var o="",l=0;l1?i+="0x"+r.util.bytesToHex(e.value.slice(1)):i+="(none)",e.value.length>0){var h=e.value.charCodeAt(0);1==h?i+=" (1 unused bit shown)":h>1&&(i+=" ("+h+" unused bits shown)")}}else e.type===a.Type.OCTETSTRING?(s.test(e.value)||(i+="("+e.value+") "),i+="0x"+r.util.bytesToHex(e.value)):e.type===a.Type.UTF8?i+=r.util.decodeUtf8(e.value):e.type===a.Type.PRINTABLESTRING||e.type===a.Type.IA5String?i+=e.value:s.test(e.value)?i+="0x"+r.util.bytesToHex(e.value):0===e.value.length?i+="[null]":i+=e.value}return i}},function(e,t,n){var r=n(32);e.exports=r.md=r.md||{},r.md.algorithms=r.md.algorithms||{}},function(e,t,n){"use strict";function r(e){setTimeout(function(){throw e})}n.d(t,"a",function(){return r})},function(e,t,n){var r=n(49),a=n(25),i=n(80);e.exports=function(e){return function(t,n,o){var s,l=r(t),c=a(l.length),u=i(o,c);if(e&&n!=n){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(60);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(57),a=n(67);e.exports=function(e){return function(t,n){var i,o,s=String(a(t)),l=r(n),c=s.length;return l<0||l>=c?e?"":void 0:(i=s.charCodeAt(l))<55296||i>56319||l+1===c||(o=s.charCodeAt(l+1))<56320||o>57343?e?s.charAt(l):i:e?s.slice(l,l+2):o-56320+(i-55296<<10)+65536}}},function(e,t,n){"use strict";var r=n(76),a=n(2),i=n(48),o=n(52),s=n(95),l=n(162),c=n(94),u=n(53),d=n(24)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,f,m,g,y){l(n,t,f);var b,v,k,w=function(e){if(!h&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},_=t+" Iterator",j="values"==m,x=!1,E=e.prototype,C=E[d]||E["@@iterator"]||m&&E[m],S=C||w(m),T=m?j?w("entries"):S:void 0,O="Array"==t&&E.entries||C;if(O&&(k=u(O.call(new e)))!==Object.prototype&&k.next&&(c(k,_,!0),r||"function"==typeof k[d]||o(k,d,p)),j&&C&&"values"!==C.name&&(x=!0,S=function(){return C.call(this)}),r&&!y||!h&&!x&&E[d]||o(E,d,S),s[t]=S,s[_]=p,m)if(b={values:j?S:w("values"),keys:g?S:w("keys"),entries:T},y)for(v in b)v in E||i(E,v,b[v]);else a(a.P+a.F*(h||x),t,b);return b}},function(e,t,n){var r=n(19),a=n(60),i=n(24)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==a(e))}},,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(t,"a",function(){return a});var a=r()},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1),a=function(e){function t(t,n,r){var a=e.call(this)||this;return a.parent=t,a.outerValue=n,a.outerIndex=r,a.index=0,a}return r.c(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(n(36).a)},function(e,t,n){"use strict";var r=n(33),a=n(292),i=n(290),o=n(119);var s=n(150);var l=n(112),c=n(50),u=n(293);var d=n(294);var h=n(289);var p=n(288);function f(e,t){if(!t)return e instanceof r.a?e:new r.a(Object(p.a)(e));if(null!=e){if(function(e){return e&&"function"==typeof e[o.a]}(e))return function(e,t){return t?new r.a(function(n){var r=new c.a;return r.add(t.schedule(function(){var a=e[o.a]();r.add(a.subscribe({next:function(e){r.add(t.schedule(function(){return n.next(e)}))},error:function(e){r.add(t.schedule(function(){return n.error(e)}))},complete:function(){r.add(t.schedule(function(){return n.complete()}))}}))})),r}):new r.a(Object(h.a)(e))}(e,t);if(Object(a.a)(e))return function(e,t){return t?new r.a(function(n){var r=new c.a;return r.add(t.schedule(function(){return e.then(function(e){r.add(t.schedule(function(){n.next(e),r.add(t.schedule(function(){return n.complete()}))}))},function(e){r.add(t.schedule(function(){return n.error(e)}))})})),r}):new r.a(Object(u.a)(e))}(e,t);if(Object(i.a)(e))return Object(l.a)(e,t);if(function(e){return e&&"function"==typeof e[s.a]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return t?new r.a(function(n){var r,a=new c.a;return a.add(function(){r&&"function"==typeof r.return&&r.return()}),a.add(t.schedule(function(){r=e[s.a](),a.add(t.schedule(function(){if(!n.closed){var e,t;try{var a=r.next();e=a.value,t=a.done}catch(e){return void n.error(e)}t?n.complete():(n.next(e),this.schedule())}}))})),a}):new r.a(Object(d.a)(e))}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}n.d(t,"a",function(){return f})},function(e,t,n){var r=n(19),a=n(17).document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){var r=n(125)("keys"),a=n(78);e.exports=function(e){return r[e]||(r[e]=a(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(17).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(19),a=n(11),i=function(e,t){if(a(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n(56)(Function.call,n(54).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return i(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:i}},function(e,t){e.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(e,t,n){var r=n(19),a=n(157).set;e.exports=function(e,t,n){var i,o=t.constructor;return o!==n&&"function"==typeof o&&(i=o.prototype)!==n.prototype&&r(i)&&a&&a(e,i),e}},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t,n){"use strict";var r=n(72),a=n(75),i=n(94),o={};n(52)(o,n(24)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(o,{next:a(1,n)}),i(e,t+" Iterator")}},function(e,t,n){var r=n(144),a=n(67);e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(a(e))}},function(e,t,n){var r=n(24)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(e){}}return!0}},function(e,t,n){var r=n(95),a=n(24)("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var r=n(37),a=n(80),i=n(25);e.exports=function(e){for(var t=r(this),n=i(t.length),o=arguments.length,s=a(o>1?arguments[1]:void 0,n),l=o>2?arguments[2]:void 0,c=void 0===l?n:a(l,n);c>s;)t[s++]=e;return t}},function(e,t,n){"use strict";var r,a,i=n(115),o=RegExp.prototype.exec,s=String.prototype.replace,l=o,c=(r=/a/,a=/b*/g,o.call(r,"a"),o.call(a,"a"),0!==r.lastIndex||0!==a.lastIndex),u=void 0!==/()??/.exec("")[1];(c||u)&&(l=function(e){var t,n,r,a,l=this;return u&&(n=new RegExp("^"+l.source+"$(?!\\s)",i.call(l))),c&&(t=l.lastIndex),r=o.call(l,e),c&&r&&(l.lastIndex=l.global?r.index+r[0].length:t),u&&r&&r.length>1&&s.call(r[0],n,function(){for(a=1;a>1,u=23===t?S(2,-24)-S(2,-77):0,d=0,h=e<0||0===e&&1/e<0?1:0;for((e=C(e))!=e||e===x?(a=e!=e?1:0,r=l):(r=T(O(e)/z),e*(i=S(2,-r))<1&&(r--,i*=2),(e+=r+c>=1?u/i:u*S(2,1-c))*i>=2&&(r++,i/=2),r+c>=l?(a=0,r=l):r+c>=1?(a=(e*i-1)*S(2,t),r+=c):(a=e*S(2,c-1)*S(2,t),r=0));t>=8;o[d++]=255&a,a/=256,t-=8);for(r=r<0;o[d++]=255&r,r/=256,s-=8);return o[--d]|=128*h,o}function R(e,t,n){var r,a=8*n-t-1,i=(1<>1,s=a-7,l=n-1,c=e[l--],u=127&c;for(c>>=7;s>0;u=256*u+e[l],l--,s-=8);for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;r=256*r+e[l],l--,s-=8);if(0===u)u=1-o;else{if(u===i)return r?NaN:c?-x:x;r+=S(2,t),u-=o}return(c?-1:1)*r*S(2,u-t)}function P(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function M(e){return[255&e]}function q(e){return[255&e,e>>8&255]}function B(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function L(e){return N(e,52,8)}function F(e){return N(e,23,4)}function U(e,t,n){m(e[b],t,{get:function(){return this[n]}})}function V(e,t,n,r){var a=p(+n);if(a+t>e[I])throw j(v);var i=e[A]._b,o=a+e[D],s=i.slice(o,o+t);return r?s:s.reverse()}function H(e,t,n,r,a,i){var o=p(+n);if(o+t>e[I])throw j(v);for(var s=e[A]._b,l=o+e[D],c=r(+a),u=0;uQ;)(K=G[Q++])in k||s(k,K,E[K]);i||(W.constructor=k)}var $=new w(new k(2)),Y=w[b].setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||l(w[b],{setInt8:function(e,t){Y.call(this,e,t<<24>>24)},setUint8:function(e,t){Y.call(this,e,t<<24>>24)}},!0)}else k=function(e){u(this,k,"ArrayBuffer");var t=p(e);this._b=g.call(new Array(t),0),this[I]=t},w=function(e,t,n){u(this,w,"DataView"),u(e,k,"DataView");var r=e[I],a=d(t);if(a<0||a>r)throw j("Wrong offset!");if(a+(n=void 0===n?r-a:h(n))>r)throw j("Wrong length!");this[A]=e,this[D]=a,this[I]=n},a&&(U(k,"byteLength","_l"),U(w,"buffer","_b"),U(w,"byteLength","_l"),U(w,"byteOffset","_o")),l(w[b],{getInt8:function(e){return V(this,1,e)[0]<<24>>24},getUint8:function(e){return V(this,1,e)[0]},getInt16:function(e){var t=V(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=V(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return P(V(this,4,e,arguments[1]))},getUint32:function(e){return P(V(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return R(V(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return R(V(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){H(this,1,e,M,t)},setUint8:function(e,t){H(this,1,e,M,t)},setInt16:function(e,t){H(this,2,e,q,t,arguments[2])},setUint16:function(e,t){H(this,2,e,q,t,arguments[2])},setInt32:function(e,t){H(this,4,e,B,t,arguments[2])},setUint32:function(e,t){H(this,4,e,B,t,arguments[2])},setFloat32:function(e,t){H(this,4,e,F,t,arguments[2])},setFloat64:function(e,t){H(this,8,e,L,t,arguments[2])}});y(k,"ArrayBuffer"),y(w,"DataView"),s(w[b],o.VIEW,!0),t.ArrayBuffer=k,t.DataView=w},,,,,,,function(e,t,n){var r=n(117),a=r.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return a(e,t,n)}a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=o),i(a,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return a(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=a(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";var r=n(278),a=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=d;var i=n(244);i.inherits=n(149);var o=n(651),s=n(517);i.inherits(d,o);for(var l=a(s.prototype),c=0;c>>=2;for(a=0;a>8^255&d^99,i[m]=d,o[d]=m,p=(h=e[d])<<24^d<<16^d<<8^d^h,f=((n=e[m])^(r=e[n])^(a=e[r]))<<24^(m^a)<<16^(m^r^a)<<8^m^n^a;for(var y=0;y<4;++y)l[y][m]=p,c[y][d]=f,p=p<<24|p>>>8,f=f<<24|f>>>8;0===m?m=g=1:(m=n^e[e[e[n^a]]],g^=e[e[g]])}}function p(e,t){for(var n,r=e.slice(0),a=1,o=r.length,l=d*(o+6+1),u=o;u>>16&255]<<24^i[n>>>8&255]<<16^i[255&n]<<8^i[n>>>24]^s[a]<<24,a++):o>6&&u%o==4&&(n=i[n>>>24]<<24^i[n>>>16&255]<<16^i[n>>>8&255]<<8^i[255&n]),r[u]=r[u-o]^n;if(t){for(var h,p=c[0],f=c[1],m=c[2],g=c[3],y=r.slice(0),b=(u=0,(l=r.length)-d);u>>24]]^f[i[h>>>16&255]]^m[i[h>>>8&255]]^g[i[255&h]];r=y}return r}function f(e,t,n,r){var a,s,u,d,h,p,f,m,g,y,b,v,k=e.length/4-1;r?(a=c[0],s=c[1],u=c[2],d=c[3],h=o):(a=l[0],s=l[1],u=l[2],d=l[3],h=i),p=t[0]^e[0],f=t[r?3:1]^e[1],m=t[2]^e[2],g=t[r?1:3]^e[3];for(var w=3,_=1;_>>24]^s[f>>>16&255]^u[m>>>8&255]^d[255&g]^e[++w],b=a[f>>>24]^s[m>>>16&255]^u[g>>>8&255]^d[255&p]^e[++w],v=a[m>>>24]^s[g>>>16&255]^u[p>>>8&255]^d[255&f]^e[++w],g=a[g>>>24]^s[p>>>16&255]^u[f>>>8&255]^d[255&m]^e[++w],p=y,f=b,m=v;n[0]=h[p>>>24]<<24^h[f>>>16&255]<<16^h[m>>>8&255]<<8^h[255&g]^e[++w],n[r?3:1]=h[f>>>24]<<24^h[m>>>16&255]<<16^h[g>>>8&255]<<8^h[255&p]^e[++w],n[2]=h[m>>>24]<<24^h[g>>>16&255]<<16^h[p>>>8&255]<<8^h[255&f]^e[++w],n[r?1:3]=h[g>>>24]<<24^h[p>>>16&255]<<16^h[f>>>8&255]<<8^h[255&m]^e[++w]}function m(e){var t,n="AES-"+((e=e||{}).mode||"CBC").toUpperCase(),a=(t=e.decrypt?r.cipher.createDecipher(n,e.key):r.cipher.createCipher(n,e.key)).start;return t.start=function(e,n){var i=null;n instanceof r.util.ByteBuffer&&(i=n,n={}),(n=n||{}).output=i,n.iv=e,a.call(t,n)},t}},function(e,t,n){var r=n(32);r.pki=r.pki||{};var a=e.exports=r.pki.oids=r.oids=r.oids||{};function i(e,t){a[e]=t,a[t]=e}function o(e,t){a[e]=t}i("1.2.840.113549.1.1.1","rsaEncryption"),i("1.2.840.113549.1.1.4","md5WithRSAEncryption"),i("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),i("1.2.840.113549.1.1.7","RSAES-OAEP"),i("1.2.840.113549.1.1.8","mgf1"),i("1.2.840.113549.1.1.9","pSpecified"),i("1.2.840.113549.1.1.10","RSASSA-PSS"),i("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),i("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),i("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),i("1.2.840.10040.4.3","dsa-with-sha1"),i("1.3.14.3.2.7","desCBC"),i("1.3.14.3.2.26","sha1"),i("2.16.840.1.101.3.4.2.1","sha256"),i("2.16.840.1.101.3.4.2.2","sha384"),i("2.16.840.1.101.3.4.2.3","sha512"),i("1.2.840.113549.2.5","md5"),i("1.2.840.113549.1.7.1","data"),i("1.2.840.113549.1.7.2","signedData"),i("1.2.840.113549.1.7.3","envelopedData"),i("1.2.840.113549.1.7.4","signedAndEnvelopedData"),i("1.2.840.113549.1.7.5","digestedData"),i("1.2.840.113549.1.7.6","encryptedData"),i("1.2.840.113549.1.9.1","emailAddress"),i("1.2.840.113549.1.9.2","unstructuredName"),i("1.2.840.113549.1.9.3","contentType"),i("1.2.840.113549.1.9.4","messageDigest"),i("1.2.840.113549.1.9.5","signingTime"),i("1.2.840.113549.1.9.6","counterSignature"),i("1.2.840.113549.1.9.7","challengePassword"),i("1.2.840.113549.1.9.8","unstructuredAddress"),i("1.2.840.113549.1.9.14","extensionRequest"),i("1.2.840.113549.1.9.20","friendlyName"),i("1.2.840.113549.1.9.21","localKeyId"),i("1.2.840.113549.1.9.22.1","x509Certificate"),i("1.2.840.113549.1.12.10.1.1","keyBag"),i("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),i("1.2.840.113549.1.12.10.1.3","certBag"),i("1.2.840.113549.1.12.10.1.4","crlBag"),i("1.2.840.113549.1.12.10.1.5","secretBag"),i("1.2.840.113549.1.12.10.1.6","safeContentsBag"),i("1.2.840.113549.1.5.13","pkcs5PBES2"),i("1.2.840.113549.1.5.12","pkcs5PBKDF2"),i("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),i("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),i("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),i("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),i("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),i("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),i("1.2.840.113549.2.7","hmacWithSHA1"),i("1.2.840.113549.2.8","hmacWithSHA224"),i("1.2.840.113549.2.9","hmacWithSHA256"),i("1.2.840.113549.2.10","hmacWithSHA384"),i("1.2.840.113549.2.11","hmacWithSHA512"),i("1.2.840.113549.3.7","des-EDE3-CBC"),i("2.16.840.1.101.3.4.1.2","aes128-CBC"),i("2.16.840.1.101.3.4.1.22","aes192-CBC"),i("2.16.840.1.101.3.4.1.42","aes256-CBC"),i("2.5.4.3","commonName"),i("2.5.4.5","serialName"),i("2.5.4.6","countryName"),i("2.5.4.7","localityName"),i("2.5.4.8","stateOrProvinceName"),i("2.5.4.10","organizationName"),i("2.5.4.11","organizationalUnitName"),i("2.16.840.1.113730.1.1","nsCertType"),o("2.5.29.1","authorityKeyIdentifier"),o("2.5.29.2","keyAttributes"),o("2.5.29.3","certificatePolicies"),o("2.5.29.4","keyUsageRestriction"),o("2.5.29.5","policyMapping"),o("2.5.29.6","subtreesConstraint"),o("2.5.29.7","subjectAltName"),o("2.5.29.8","issuerAltName"),o("2.5.29.9","subjectDirectoryAttributes"),o("2.5.29.10","basicConstraints"),o("2.5.29.11","nameConstraints"),o("2.5.29.12","policyConstraints"),o("2.5.29.13","basicConstraints"),i("2.5.29.14","subjectKeyIdentifier"),i("2.5.29.15","keyUsage"),o("2.5.29.16","privateKeyUsagePeriod"),i("2.5.29.17","subjectAltName"),i("2.5.29.18","issuerAltName"),i("2.5.29.19","basicConstraints"),o("2.5.29.20","cRLNumber"),o("2.5.29.21","cRLReason"),o("2.5.29.22","expirationDate"),o("2.5.29.23","instructionCode"),o("2.5.29.24","invalidityDate"),o("2.5.29.25","cRLDistributionPoints"),o("2.5.29.26","issuingDistributionPoint"),o("2.5.29.27","deltaCRLIndicator"),o("2.5.29.28","issuingDistributionPoint"),o("2.5.29.29","certificateIssuer"),o("2.5.29.30","nameConstraints"),i("2.5.29.31","cRLDistributionPoints"),i("2.5.29.32","certificatePolicies"),o("2.5.29.33","policyMappings"),o("2.5.29.34","policyConstraints"),i("2.5.29.35","authorityKeyIdentifier"),o("2.5.29.36","policyConstraints"),i("2.5.29.37","extKeyUsage"),o("2.5.29.46","freshestCRL"),o("2.5.29.54","inhibitAnyPolicy"),i("1.3.6.1.4.1.11129.2.4.2","timestampList"),i("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),i("1.3.6.1.5.5.7.3.1","serverAuth"),i("1.3.6.1.5.5.7.3.2","clientAuth"),i("1.3.6.1.5.5.7.3.3","codeSigning"),i("1.3.6.1.5.5.7.3.4","emailProtection"),i("1.3.6.1.5.5.7.3.8","timeStamping")},function(e,t,n){"use strict";n.r(t),n.d(t,"ToastComponent",function(){return o});var r=n(0),a=n(43),i=n(181),o=function(){function e(e,t,n){this.sanitizer=e,this.componentFactoryResolver=t,this.changeDetectorRef=n,this.bodyOutputType=i.a,this.clickEvent=new r.EventEmitter}return e.prototype.ngOnInit=function(){this.toast.closeHtml&&(this.safeCloseHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.closeHtml)),this.toast.bodyOutputType===i.a.TrustedHtml&&(this.safeBodyHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.body))},e.prototype.ngAfterViewInit=function(){if(this.toast.bodyOutputType===this.bodyOutputType.Component){var e=this.componentFactoryResolver.resolveComponentFactory(this.toast.body);this.componentBody.createComponent(e,void 0,this.componentBody.injector).instance.toast=this.toast,this.changeDetectorRef.detectChanges()}},e.prototype.click=function(e,t){e.stopPropagation(),this.clickEvent.emit({value:{toast:t,isCloseButton:!0}})},e.decorators=[{type:r.Component,args:[{selector:"[toastComp]",template:'\n \n
\n
{{toast.title}}
\n
\n
\n
\n
{{toast.body}}
\n
\n
\n
\n
'}]}],e.ctorParameters=function(){return[{type:a.DomSanitizer},{type:r.ComponentFactoryResolver},{type:r.ChangeDetectorRef}]},e.propDecorators={toast:[{type:r.Input}],iconClass:[{type:r.Input}],titleClass:[{type:r.Input}],messageClass:[{type:r.Input}],componentBody:[{type:r.ViewChild,args:["componentBody",{read:r.ViewContainerRef}]}],clickEvent:[{type:r.Output}]},e}()},function(e,t,n){"use strict";var r;n.d(t,"a",function(){return r}),function(e){e[e.Default=0]="Default",e[e.TrustedHtml=1]="TrustedHtml",e[e.Component=2]="Component"}(r||(r={}))},function(e,t,n){"use strict";function r(e){return"function"==typeof e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()},function(e,t,n){"use strict";var r=n(79),a=n(126),i=n(114),o=n(37),s=n(105),l=Object.assign;e.exports=!l||n(18)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join("")!=r})?function(e,t){for(var n=o(e),l=arguments.length,c=1,u=a.f,d=i.f;l>c;)for(var h,p=s(arguments[c++]),f=u?r(p).concat(u(p)):r(p),m=f.length,g=0;m>g;)d.call(p,h=f[g++])&&(n[h]=p[h]);return n}:l},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(57),a=n(67);e.exports=function(e){var t=String(a(this)),n="",i=r(e);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(n+=t);return n}},function(e,t,n){"use strict";var r=n(26),a=n(75);e.exports=function(e,t,n){t in e?r.f(e,t,a(0,n)):e[t]=n}},function(e,t,n){"use strict";var r=n(84),a=n(189),i=n(95),o=n(49);e.exports=n(143)(Array,"Array",function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,a(1)):a(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r,a,i,o=n(56),s=n(185),l=n(156),c=n(153),u=n(17),d=u.process,h=u.setImmediate,p=u.clearImmediate,f=u.MessageChannel,m=u.Dispatch,g=0,y={},b=function(){var e=+this;if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},v=function(e){b.call(e.data)};h&&p||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return y[++g]=function(){s("function"==typeof e?e:Function(e),t)},r(g),g},p=function(e){delete y[e]},"process"==n(60)(d)?r=function(e){d.nextTick(o(b,e,1))}:m&&m.now?r=function(e){m.now(o(b,e,1))}:f?(i=(a=new f).port2,a.port1.onmessage=v,r=o(i.postMessage,i,1)):u.addEventListener&&"function"==typeof postMessage&&!u.importScripts?(r=function(e){u.postMessage(e+"","*")},u.addEventListener("message",v,!1)):r="onreadystatechange"in c("script")?function(e){l.appendChild(c("script")).onreadystatechange=function(){l.removeChild(this),b.call(e)}}:function(e){setTimeout(o(b,e,1),0)}),e.exports={set:h,clear:p}},function(e,t,n){"use strict";var r=n(42);function a(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new a(e)}},function(e,t,n){var r=n(17).navigator;e.exports=r&&r.userAgent||""},,,,,,,function(e,t,n){var r=n(32);n(40);var a=e.exports=r.pem=r.pem||{};function i(e){for(var t=e.name+": ",n=[],r=function(e,t){return" "+t},a=0;a65&&-1!==o){var s=t[o];","===s?(++o,t=t.substr(0,o)+"\r\n "+t.substr(o)):t=t.substr(0,o)+"\r\n"+s+t.substr(o+1),i=a-o-1,o=-1,++a}else" "!==t[a]&&"\t"!==t[a]&&","!==t[a]||(o=a);return t}function o(e){return e.replace(/^\s+/,"")}a.encode=function(e,t){t=t||{};var n,a="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(a+=i(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]})),e.contentDomain&&(a+=i(n={name:"Content-Domain",values:[e.contentDomain]})),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),a+=i(n)),e.headers)for(var o=0;ol;)r(s,n=t[l++])&&(~i(c,n)||c.push(n));return c}},function(e,t,n){var r=n(26),a=n(11),i=n(79);e.exports=n(29)?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),s=o.length,l=0;s>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){var r=n(49),a=n(81).f,i={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return o&&"[object Window]"==i.call(e)?function(e){try{return a(e)}catch(e){return o.slice()}}(e):a(r(e))}},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var r=n(42),a=n(19),i=n(185),o=[].slice,s={};e.exports=Function.bind||function(e){var t=r(this),n=o.call(arguments,1),l=function(){var r=n.concat(o.call(arguments));return this instanceof l?function(e,t,n){if(!(t in s)){for(var r=[],a=0;a>>0||(o.test(n)?16:10))}:r},function(e,t,n){var r=n(17).parseFloat,a=n(106).trim;e.exports=1/r(n(158)+"-0")!=-1/0?function(e){var t=a(String(e),3),n=r(t);return 0===n&&"-"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(60);e.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t);return+e}},function(e,t,n){var r=n(19),a=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&a(e)===e}},function(e,t){e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t,n){var r=n(11);e.exports=function(e,t,n,a){try{return a?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},function(e,t,n){var r=n(389);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(42),a=n(37),i=n(105),o=n(25);e.exports=function(e,t,n,s,l){r(t);var c=a(e),u=i(c),d=o(c.length),h=l?d-1:0,p=l?-1:1;if(n<2)for(;;){if(h in u){s=u[h],h+=p;break}if(h+=p,l?h<0:d<=h)throw TypeError("Reduce of empty array with no initial value")}for(;l?h>=0:d>h;h+=p)h in u&&(s=t(s,u[h],h,c));return s}},function(e,t,n){"use strict";var r=n(37),a=n(80),i=n(25);e.exports=[].copyWithin||function(e,t){var n=r(this),o=i(n.length),s=a(e,o),l=a(t,o),c=arguments.length>2?arguments[2]:void 0,u=Math.min((void 0===c?o:a(c,o))-l,o-s),d=1;for(l0;)l in n?n[s]=n[l]:delete n[s],s+=d,l+=d;return n}},function(e,t,n){"use strict";var r=n(167);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(e,t,n){n(29)&&"g"!=/./g.flags&&n(26).f(RegExp.prototype,"flags",{configurable:!0,get:n(115)})},function(e,t,n){var r=n(17),a=n(190).set,i=r.MutationObserver||r.WebKitMutationObserver,o=r.process,s=r.Promise,l="process"==n(60)(o);e.exports=function(){var e,t,n,c=function(){var r,a;for(l&&(r=o.domain)&&r.exit();e;){a=e.fn,e=e.next;try{a()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(l)n=function(){o.nextTick(c)};else if(!i||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var u=s.resolve(void 0);n=function(){u.then(c)}}else n=function(){a.call(r,c)};else{var d=!0,h=document.createTextNode("");new i(c).observe(h,{characterData:!0}),n=function(){h.data=d=!d}}return function(r){var a={fn:r,next:void 0};t&&(t.next=a),e||(e=a,n()),t=a}}},function(e,t,n){"use strict";var r=n(225),a=n(96);e.exports=n(131)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(a(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(a(this,"Map"),0===e?0:e,t)}},r,!0)},function(e,t,n){"use strict";var r=n(26).f,a=n(72),i=n(88),o=n(56),s=n(86),l=n(87),c=n(143),u=n(189),d=n(85),h=n(29),p=n(71).fastKey,f=n(96),m=h?"_s":"size",g=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,c){var u=e(function(e,r){s(e,u,t,"_i"),e._t=t,e._i=a(null),e._f=void 0,e._l=void 0,e[m]=0,null!=r&&l(r,n,e[c],e)});return i(u.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=f(this,t),r=g(n,e);if(r){var a=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=a),a&&(a.p=i),n._f==r&&(n._f=a),n._l==r&&(n._l=i),n[m]--}return!!r},forEach:function(e){f(this,t);for(var n,r=o(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(f(this,t),e)}}),h&&r(u.prototype,"size",{get:function(){return f(this,t)[m]}}),u},def:function(e,t,n){var r,a,i=g(e,t);return i?i.v=n:(e._l=i={i:a=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[m]++,"F"!==a&&(e._i[a]=i)),e},getEntry:g,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?u(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,u(1))},n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var r=n(225),a=n(96);e.exports=n(131)("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(a(this,"Set"),e=0===e?0:e,e)}},r)},function(e,t,n){"use strict";var r,a=n(62)(0),i=n(48),o=n(71),s=n(184),l=n(228),c=n(19),u=n(18),d=n(96),h=o.getWeak,p=Object.isExtensible,f=l.ufstore,m={},g=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(e){if(c(e)){var t=h(e);return!0===t?f(d(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return l.def(d(this,"WeakMap"),e,t)}},b=e.exports=n(131)("WeakMap",g,y,l,!0,!0);u(function(){return 7!=(new b).set((Object.freeze||Object)(m),7).get(m)})&&(s((r=l.getConstructor(g,"WeakMap")).prototype,y),o.NEED=!0,a(["delete","has","get","set"],function(e){var t=b.prototype,n=t[e];i(t,e,function(t,a){if(c(t)&&!p(t)){this._f||(this._f=new r);var i=this._f[e](t,a);return"set"==e?this:i}return n.call(this,t,a)})}))},function(e,t,n){"use strict";var r=n(88),a=n(71).getWeak,i=n(11),o=n(19),s=n(86),l=n(87),c=n(62),u=n(47),d=n(96),h=c(5),p=c(6),f=0,m=function(e){return e._l||(e._l=new g)},g=function(){this.a=[]},y=function(e,t){return h(e.a,function(e){return e[0]===t})};g.prototype={get:function(e){var t=y(this,e);if(t)return t[1]},has:function(e){return!!y(this,e)},set:function(e,t){var n=y(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var c=e(function(e,r){s(e,c,t,"_i"),e._t=t,e._i=f++,e._l=void 0,null!=r&&l(r,n,e[i],e)});return r(c.prototype,{delete:function(e){if(!o(e))return!1;var n=a(e);return!0===n?m(d(this,t)).delete(e):n&&u(n,this._i)&&delete n[this._i]},has:function(e){if(!o(e))return!1;var n=a(e);return!0===n?m(d(this,t)).has(e):n&&u(n,this._i)}}),c},def:function(e,t,n){var r=a(i(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){var r=n(57),a=n(25);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=a(t);if(t!==n)throw RangeError("Wrong length!");return n}},function(e,t,n){var r=n(81),a=n(126),i=n(11),o=n(17).Reflect;e.exports=o&&o.ownKeys||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},,,,,,,,,,,,,function(e,t,n){(t=e.exports=n(651)).Stream=t,t.Readable=t,t.Writable=n(517),t.Duplex=n(177),t.Transform=n(655),t.PassThrough=n(1e3)},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(117).Buffer)},function(e,t,n){var r=n(32);n(138),n(40),(e.exports=r.hmac=r.hmac||{}).create=function(){var e=null,t=null,n=null,a=null,i={start:function(i,o){if(null!==i)if("string"==typeof i){if(!((i=i.toLowerCase())in r.md.algorithms))throw new Error('Unknown hash algorithm "'+i+'"');t=r.md.algorithms[i].create()}else t=i;if(null===o)o=e;else{if("string"==typeof o)o=r.util.createBuffer(o);else if(r.util.isArray(o)){var s=o;o=r.util.createBuffer();for(var l=0;lt.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),n=r.util.createBuffer(),a=r.util.createBuffer(),c=o.length();for(l=0;l>>0,l>>>0];for(var c=a.fullMessageLength.length-1;c>=0;--c)a.fullMessageLength[c]+=l[1],l[1]=l[0]+(a.fullMessageLength[c]/4294967296>>>0),a.fullMessageLength[c]=a.fullMessageLength[c]>>>0,l[0]=l[1]/4294967296>>>0;return t.putBytes(i),s(e,n,t),(t.read>2048||0===t.length())&&t.compact(),a},a.digest=function(){var o=r.util.createBuffer();o.putBytes(t.bytes());var l,c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize&a.blockLength-1;o.putBytes(i.substr(0,a.blockLength-c));for(var u=8*a.fullMessageLength[0],d=0;d>>0,o.putInt32(u>>>0),u=l>>>0;o.putInt32(u);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};s(h,n,o);var p=r.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},a};var i=null,o=!1;function s(e,t,n){for(var r,a,i,o,s,l,c,u=n.length();u>=64;){for(a=e.h0,i=e.h1,o=e.h2,s=e.h3,l=e.h4,c=0;c<16;++c)r=n.getInt32(),t[c]=r,r=(a<<5|a>>>27)+(s^i&(o^s))+l+1518500249+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<20;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(a<<5|a>>>27)+(s^i&(o^s))+l+1518500249+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<32;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(a<<5|a>>>27)+(i^o^s)+l+1859775393+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<40;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(a<<5|a>>>27)+(i^o^s)+l+1859775393+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<60;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(a<<5|a>>>27)+(i&o|s&(i^o))+l+2400959708+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;for(;c<80;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(a<<5|a>>>27)+(i^o^s)+l+3395469782+r,l=s,s=o,o=(i<<30|i>>>2)>>>0,i=a,a=r;e.h0=e.h0+a|0,e.h1=e.h1+i|0,e.h2=e.h2+o|0,e.h3=e.h3+s|0,e.h4=e.h4+l|0,u-=64}}},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return i});var r=n(113);function a(){for(var e=[],t=0;ts||n!=n?c*(1/0):c*n}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(11),a=n(19),i=n(191);e.exports=function(e,t){if(r(e),a(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(87);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r; /*! * jQuery JavaScript Library v3.3.1 * https://jquery.com/ @@ -1572,7 +1572,7 @@ var r=n(781),a=n(782),i=n(538);function o(){return l.TYPED_ARRAY_SUPPORT?2147483 * * Date: 2016-08-08 */ -function(e){var t,n,r,a,i,o,s,l,c,u,d,h,p,f,m,g,y,b,v,k="sizzle"+1*new Date,w=e.document,_=0,j=0,x=oe(),E=oe(),C=oe(),S=function(e,t){return e===t&&(d=!0),0},T={}.hasOwnProperty,O=[],z=O.pop,A=O.push,I=O.push,D=O.slice,N=function(e,t){for(var n=0,r=e.length;n+~]|"+P+")"+P+"*"),H=new RegExp("="+P+"*([^\\]'\"]*?)"+P+"*\\]","g"),K=new RegExp(B),W=new RegExp("^"+M+"$"),G={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+q),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},Q=/^(?:input|select|textarea|button)$/i,$=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,X=new RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){h()},ae=be(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{I.apply(O=D.call(w.childNodes),w.childNodes),O[w.childNodes.length].nodeType}catch(e){I={apply:O.length?function(e,t){A.apply(e,D.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function ie(e,t,r,a){var i,s,c,u,d,f,y,b=t&&t.ownerDocument,_=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==_&&9!==_&&11!==_)return r;if(!a&&((t?t.ownerDocument||t:w)!==p&&h(t),t=t||p,m)){if(11!==_&&(d=Z.exec(e)))if(i=d[1]){if(9===_){if(!(c=t.getElementById(i)))return r;if(c.id===i)return r.push(c),r}else if(b&&(c=b.getElementById(i))&&v(t,c)&&c.id===i)return r.push(c),r}else{if(d[2])return I.apply(r,t.getElementsByTagName(e)),r;if((i=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return I.apply(r,t.getElementsByClassName(i)),r}if(n.qsa&&!C[e+" "]&&(!g||!g.test(e))){if(1!==_)b=t,y=e;else if("object"!==t.nodeName.toLowerCase()){for((u=t.getAttribute("id"))?u=u.replace(te,ne):t.setAttribute("id",u=k),s=(f=o(e)).length;s--;)f[s]="#"+u+" "+ye(f[s]);y=f.join(","),b=J.test(e)&&me(t.parentNode)||t}if(y)try{return I.apply(r,b.querySelectorAll(y)),r}catch(e){}finally{u===k&&t.removeAttribute("id")}}}return l(e.replace(F,"$1"),t,r,a)}function oe(){var e=[];return function t(n,a){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=a}}function se(e){return e[k]=!0,e}function le(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ce(e,t){for(var n=e.split("|"),a=n.length;a--;)r.attrHandle[n[a]]=t}function ue(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function fe(e){return se(function(t){return t=+t,se(function(n,r){for(var a,i=e([],n.length,t),o=i.length;o--;)n[a=i[o]]&&(n[a]=!(r[a]=n[a]))})})}function me(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=ie.support={},i=ie.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},h=ie.setDocument=function(e){var t,a,o=e?e.ownerDocument||e:w;return o!==p&&9===o.nodeType&&o.documentElement?(f=(p=o).documentElement,m=!i(p),w!==p&&(a=p.defaultView)&&a.top!==a&&(a.addEventListener?a.addEventListener("unload",re,!1):a.attachEvent&&a.attachEvent("onunload",re)),n.attributes=le(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=le(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Y.test(p.getElementsByClassName),n.getById=le(function(e){return f.appendChild(e).id=k,!p.getElementsByName||!p.getElementsByName(k).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(X,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(X,ee);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n,r,a,i=t.getElementById(e);if(i){if((n=i.getAttributeNode("id"))&&n.value===e)return[i];for(a=t.getElementsByName(e),r=0;i=a[r++];)if((n=i.getAttributeNode("id"))&&n.value===e)return[i]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],a=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[a++];)1===n.nodeType&&r.push(n);return r}return i},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&m)return t.getElementsByClassName(e)},y=[],g=[],(n.qsa=Y.test(p.querySelectorAll))&&(le(function(e){f.appendChild(e).innerHTML="
",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||g.push(".#.+[+~]")}),le(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+P+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),f.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(n.matchesSelector=Y.test(b=f.matches||f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&le(function(e){n.disconnectedMatch=b.call(e,"*"),b.call(e,"[s!='']:x"),y.push("!=",B)}),g=g.length&&new RegExp(g.join("|")),y=y.length&&new RegExp(y.join("|")),t=Y.test(f.compareDocumentPosition),v=t||Y.test(f.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&v(w,e)?-1:t===p||t.ownerDocument===w&&v(w,t)?1:u?N(u,e)-N(u,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,a=e.parentNode,i=t.parentNode,o=[e],s=[t];if(!a||!i)return e===p?-1:t===p?1:a?-1:i?1:u?N(u,e)-N(u,t):0;if(a===i)return ue(e,t);for(n=e;n=n.parentNode;)o.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;o[r]===s[r];)r++;return r?ue(o[r],s[r]):o[r]===w?-1:s[r]===w?1:0},p):p},ie.matches=function(e,t){return ie(e,null,null,t)},ie.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&h(e),t=t.replace(H,"='$1']"),n.matchesSelector&&m&&!C[t+" "]&&(!y||!y.test(t))&&(!g||!g.test(t)))try{var r=b.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return ie(t,p,null,[e]).length>0},ie.contains=function(e,t){return(e.ownerDocument||e)!==p&&h(e),v(e,t)},ie.attr=function(e,t){(e.ownerDocument||e)!==p&&h(e);var a=r.attrHandle[t.toLowerCase()],i=a&&T.call(r.attrHandle,t.toLowerCase())?a(e,t,!m):void 0;return void 0!==i?i:n.attributes||!m?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},ie.escape=function(e){return(e+"").replace(te,ne)},ie.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ie.uniqueSort=function(e){var t,r=[],a=0,i=0;if(d=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(S),d){for(;t=e[i++];)t===e[i]&&(a=r.push(i));for(;a--;)e.splice(r[a],1)}return u=null,e},a=ie.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=a(t);return n},(r=ie.selectors={cacheLength:50,createPseudo:se,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(X,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(X,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ie.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ie.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&K.test(n)&&(t=o(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(X,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=x[e+" "];return t||(t=new RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&x(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var a=ie.attr(r,e);return null==a?"!="===t:!t||(a+="","="===t?a===n:"!="===t?a!==n:"^="===t?n&&0===a.indexOf(n):"*="===t?n&&a.indexOf(n)>-1:"$="===t?n&&a.slice(-n.length)===n:"~="===t?(" "+a.replace(L," ")+" ").indexOf(n)>-1:"|="===t&&(a===n||a.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,a){var i="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===a?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,h,p,f,m=i!==o?"nextSibling":"previousSibling",g=t.parentNode,y=s&&t.nodeName.toLowerCase(),b=!l&&!s,v=!1;if(g){if(i){for(;m;){for(h=t;h=h[m];)if(s?h.nodeName.toLowerCase()===y:1===h.nodeType)return!1;f=m="only"===e&&!f&&"nextSibling"}return!0}if(f=[o?g.firstChild:g.lastChild],o&&b){for(v=(p=(c=(u=(d=(h=g)[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===_&&c[1])&&c[2],h=p&&g.childNodes[p];h=++p&&h&&h[m]||(v=p=0)||f.pop();)if(1===h.nodeType&&++v&&h===t){u[e]=[_,p,v];break}}else if(b&&(v=p=(c=(u=(d=(h=t)[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===_&&c[1]),!1===v)for(;(h=++p&&h&&h[m]||(v=p=0)||f.pop())&&((s?h.nodeName.toLowerCase()!==y:1!==h.nodeType)||!++v||(b&&((u=(d=h[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]=[_,v]),h!==t)););return(v-=a)===r||v%r==0&&v/r>=0}}},PSEUDO:function(e,t){var n,a=r.pseudos[e]||r.setFilters[e.toLowerCase()]||ie.error("unsupported pseudo: "+e);return a[k]?a(t):a.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){for(var r,i=a(e,t),o=i.length;o--;)e[r=N(e,i[o])]=!(n[r]=i[o])}):function(e){return a(e,0,n)}):a}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(F,"$1"));return r[k]?se(function(e,t,n,a){for(var i,o=r(e,null,a,[]),s=e.length;s--;)(i=o[s])&&(e[s]=!(t[s]=i))}):function(e,a,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return ie(e,t).length>0}}),contains:se(function(e){return e=e.replace(X,ee),function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:se(function(e){return W.test(e||"")||ie.error("unsupported lang: "+e),e=e.replace(X,ee).toLowerCase(),function(t){var n;do{if(n=m?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return $.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:fe(function(){return[0]}),last:fe(function(e,t){return[t-1]}),eq:fe(function(e,t,n){return[n<0?n+t:n]}),even:fe(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:fe(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var a=e.length;a--;)if(!e[a](t,n,r))return!1;return!0}:e[0]}function ke(e,t,n,r,a){for(var i,o=[],s=0,l=e.length,c=null!=t;s-1&&(i[c]=!(o[c]=d))}}else y=ke(y===o?y.splice(f,y.length):y),a?a(null,o,y,l):I.apply(o,y)})}function _e(e){for(var t,n,a,i=e.length,o=r.relative[e[0].type],s=o||r.relative[" "],l=o?1:0,u=be(function(e){return e===t},s,!0),d=be(function(e){return N(t,e)>-1},s,!0),h=[function(e,n,r){var a=!o&&(r||n!==c)||((t=n).nodeType?u(e,n,r):d(e,n,r));return t=null,a}];l1&&ve(h),l>1&&ye(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(F,"$1"),n,l0,a=e.length>0,i=function(i,o,s,l,u){var d,f,g,y=0,b="0",v=i&&[],k=[],w=c,j=i||a&&r.find.TAG("*",u),x=_+=null==w?1:Math.random()||.1,E=j.length;for(u&&(c=o===p||o||u);b!==E&&null!=(d=j[b]);b++){if(a&&d){for(f=0,o||d.ownerDocument===p||(h(d),s=!m);g=e[f++];)if(g(d,o||p,s)){l.push(d);break}u&&(_=x)}n&&((d=!g&&d)&&y--,i&&v.push(d))}if(y+=b,n&&b!==y){for(f=0;g=t[f++];)g(v,k,o,s);if(i){if(y>0)for(;b--;)v[b]||k[b]||(k[b]=z.call(l));k=ke(k)}I.apply(l,k),u&&!i&&k.length>0&&y+t.length>1&&ie.uniqueSort(l)}return u&&(_=x,c=w),v};return n?se(i):i}(i,a))).selector=e}return s},l=ie.select=function(e,t,n,a){var i,l,c,u,d,h="function"==typeof e&&e,p=!a&&o(e=h.selector||e);if(n=n||[],1===p.length){if((l=p[0]=p[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===t.nodeType&&m&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(X,ee),t)||[])[0]))return n;h&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(i=G.needsContext.test(e)?0:l.length;i--&&(c=l[i],!r.relative[u=c.type]);)if((d=r.find[u])&&(a=d(c.matches[0].replace(X,ee),J.test(l[0].type)&&me(t.parentNode)||t))){if(l.splice(i,1),!(e=a.length&&ye(l)))return I.apply(n,a),n;break}}return(h||s(e,p))(a,t,!m,n,!t||J.test(e)&&me(t.parentNode)||t),n},n.sortStable=k.split("").sort(S).join("")===k,n.detectDuplicates=!!d,h(),n.sortDetached=le(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),le(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ce("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&le(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ce("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),le(function(e){return null==e.getAttribute("disabled")})||ce(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),ie}(n);j.find=C,j.expr=C.selectors,j.expr[":"]=j.expr.pseudos,j.uniqueSort=j.unique=C.uniqueSort,j.text=C.getText,j.isXMLDoc=C.isXML,j.contains=C.contains,j.escapeSelector=C.escape;var S=function(e,t,n){for(var r=[],a=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(a&&j(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},O=j.expr.match.needsContext;function z(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function I(e,t,n){return b(t)?j.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?j.grep(e,function(e){return e===t!==n}):"string"!=typeof t?j.grep(e,function(e){return d.call(t,e)>-1!==n}):j.filter(t,e,n)}j.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?j.find.matchesSelector(r,e)?[r]:[]:j.find.matches(e,j.grep(t,function(e){return 1===e.nodeType}))},j.fn.extend({find:function(e){var t,n,r=this.length,a=this;if("string"!=typeof e)return this.pushStack(j(e).filter(function(){for(t=0;t1?j.uniqueSort(n):n},filter:function(e){return this.pushStack(I(this,e||[],!1))},not:function(e){return this.pushStack(I(this,e||[],!0))},is:function(e){return!!I(this,"string"==typeof e&&O.test(e)?j(e):e||[],!1).length}});var D,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(j.fn.init=function(e,t,n){var r,a;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:N.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof j?t[0]:t,j.merge(this,j.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),A.test(r[1])&&j.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(a=o.getElementById(r[2]))&&(this[0]=a,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(j):j.makeArray(e,this)}).prototype=j.fn,D=j(o);var R=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};function M(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}j.fn.extend({has:function(e){var t=j(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&j.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?j.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?d.call(j(e),this[0]):d.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(j.uniqueSort(j.merge(this.get(),j(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),j.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return S(e,"parentNode")},parentsUntil:function(e,t,n){return S(e,"parentNode",n)},next:function(e){return M(e,"nextSibling")},prev:function(e){return M(e,"previousSibling")},nextAll:function(e){return S(e,"nextSibling")},prevAll:function(e){return S(e,"previousSibling")},nextUntil:function(e,t,n){return S(e,"nextSibling",n)},prevUntil:function(e,t,n){return S(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return z(e,"iframe")?e.contentDocument:(z(e,"template")&&(e=e.content||e),j.merge([],e.childNodes))}},function(e,t){j.fn[e]=function(n,r){var a=j.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(a=j.filter(r,a)),this.length>1&&(P[e]||j.uniqueSort(a),R.test(e)&&a.reverse()),this.pushStack(a)}});var q=/[^\x20\t\r\n\f]+/g;function B(e){return e}function L(e){throw e}function F(e,t,n,r){var a;try{e&&b(a=e.promise)?a.call(e).done(t).fail(n):e&&b(a=e.then)?a.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}j.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return j.each(e.match(q)||[],function(e,n){t[n]=!0}),t}(e):j.extend({},e);var t,n,r,a,i=[],o=[],s=-1,l=function(){for(a=a||e.once,r=t=!0;o.length;s=-1)for(n=o.shift();++s-1;)i.splice(n,1),n<=s&&s--}),this},has:function(e){return e?j.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return a=o=[],i=n="",this},disabled:function(){return!i},lock:function(){return a=o=[],n||t||(i=n=""),this},locked:function(){return!!a},fireWith:function(e,n){return a||(n=[e,(n=n||[]).slice?n.slice():n],o.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},j.extend({Deferred:function(e){var t=[["notify","progress",j.Callbacks("memory"),j.Callbacks("memory"),2],["resolve","done",j.Callbacks("once memory"),j.Callbacks("once memory"),0,"resolved"],["reject","fail",j.Callbacks("once memory"),j.Callbacks("once memory"),1,"rejected"]],r="pending",a={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var e=arguments;return j.Deferred(function(n){j.each(t,function(t,r){var a=b(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=a&&a.apply(this,arguments);e&&b(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,a?[e]:arguments)})}),e=null}).promise()},then:function(e,r,a){var i=0;function o(e,t,r,a){return function(){var s=this,l=arguments,c=function(){var n,c;if(!(e=i&&(r!==L&&(s=void 0,l=[n]),t.rejectWith(s,l))}};e?u():(j.Deferred.getStackHook&&(u.stackTrace=j.Deferred.getStackHook()),n.setTimeout(u))}}return j.Deferred(function(n){t[0][3].add(o(0,n,b(a)?a:B,n.notifyWith)),t[1][3].add(o(0,n,b(e)?e:B)),t[2][3].add(o(0,n,b(r)?r:L))}).promise()},promise:function(e){return null!=e?j.extend(e,a):a}},i={};return j.each(t,function(e,n){var o=n[2],s=n[5];a[n[1]]=o.add,s&&o.add(function(){r=s},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),o.add(n[3].fire),i[n[0]]=function(){return i[n[0]+"With"](this===i?void 0:this,arguments),this},i[n[0]+"With"]=o.fireWith}),a.promise(i),e&&e.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),a=l.call(arguments),i=j.Deferred(),o=function(e){return function(n){r[e]=this,a[e]=arguments.length>1?l.call(arguments):n,--t||i.resolveWith(r,a)}};if(t<=1&&(F(e,i.done(o(n)).resolve,i.reject,!t),"pending"===i.state()||b(a[n]&&a[n].then)))return i.then();for(;n--;)F(a[n],o(n),i.reject);return i.promise()}});var U=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;j.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&U.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},j.readyException=function(e){n.setTimeout(function(){throw e})};var V=j.Deferred();function H(){o.removeEventListener("DOMContentLoaded",H),n.removeEventListener("load",H),j.ready()}j.fn.ready=function(e){return V.then(e).catch(function(e){j.readyException(e)}),this},j.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--j.readyWait:j.isReady)||(j.isReady=!0,!0!==e&&--j.readyWait>0||V.resolveWith(o,[j]))}}),j.ready.then=V.then,"complete"===o.readyState||"loading"!==o.readyState&&!o.documentElement.doScroll?n.setTimeout(j.ready):(o.addEventListener("DOMContentLoaded",H),n.addEventListener("load",H));var K=function(e,t,n,r,a,i,o){var s=0,l=e.length,c=null==n;if("object"===_(n))for(s in a=!0,n)K(e,t,s,n[s],!0,i,o);else if(void 0!==r&&(a=!0,b(r)||(o=!0),c&&(o?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(j(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){X.remove(this,e)})}}),j.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,j.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=j.queue(e,t),r=n.length,a=n.shift(),i=j._queueHooks(e,t);"inprogress"===a&&(a=n.shift(),r--),a&&("fx"===t&&n.unshift("inprogress"),delete i.stop,a.call(e,function(){j.dequeue(e,t)},i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:j.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),j.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,fe=/^$|^module$|\/(?:java|ecma)script/i,me={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ge(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&z(e,t)?j.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n-1)a&&a.push(i);else if(c=j.contains(i.ownerDocument,i),o=ge(d.appendChild(i),"script"),c&&ye(o),n)for(u=0;i=o[u++];)fe.test(i.type||"")&&n.push(i);return d}be=o.createDocumentFragment().appendChild(o.createElement("div")),(ve=o.createElement("input")).setAttribute("type","radio"),ve.setAttribute("checked","checked"),ve.setAttribute("name","t"),be.appendChild(ve),y.checkClone=be.cloneNode(!0).cloneNode(!0).lastChild.checked,be.innerHTML="",y.noCloneChecked=!!be.cloneNode(!0).lastChild.defaultValue;var _e=o.documentElement,je=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Se(){return!1}function Te(){try{return o.activeElement}catch(e){}}function Oe(e,t,n,r,a,i){var o,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Oe(e,s,n,r,t[s],i);return e}if(null==r&&null==a?(a=n,r=n=void 0):null==a&&("string"==typeof n?(a=r,r=void 0):(a=r,r=n,n=void 0)),!1===a)a=Se;else if(!a)return e;return 1===i&&(o=a,(a=function(e){return j().off(e),o.apply(this,arguments)}).guid=o.guid||(o.guid=j.guid++)),e.each(function(){j.event.add(this,t,a,r,n)})}j.event={global:{},add:function(e,t,n,r,a){var i,o,s,l,c,u,d,h,p,f,m,g=J.get(e);if(g)for(n.handler&&(n=(i=n).handler,a=i.selector),a&&j.find.matchesSelector(_e,a),n.guid||(n.guid=j.guid++),(l=g.events)||(l=g.events={}),(o=g.handle)||(o=g.handle=function(t){return void 0!==j&&j.event.triggered!==t.type?j.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(q)||[""]).length;c--;)p=m=(s=Ee.exec(t[c])||[])[1],f=(s[2]||"").split(".").sort(),p&&(d=j.event.special[p]||{},p=(a?d.delegateType:d.bindType)||p,d=j.event.special[p]||{},u=j.extend({type:p,origType:m,data:r,handler:n,guid:n.guid,selector:a,needsContext:a&&j.expr.match.needsContext.test(a),namespace:f.join(".")},i),(h=l[p])||((h=l[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,r,f,o)||e.addEventListener&&e.addEventListener(p,o)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),a?h.splice(h.delegateCount++,0,u):h.push(u),j.event.global[p]=!0)},remove:function(e,t,n,r,a){var i,o,s,l,c,u,d,h,p,f,m,g=J.hasData(e)&&J.get(e);if(g&&(l=g.events)){for(c=(t=(t||"").match(q)||[""]).length;c--;)if(p=m=(s=Ee.exec(t[c])||[])[1],f=(s[2]||"").split(".").sort(),p){for(d=j.event.special[p]||{},h=l[p=(r?d.delegateType:d.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=i=h.length;i--;)u=h[i],!a&&m!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(h.splice(i,1),u.selector&&h.delegateCount--,d.remove&&d.remove.call(e,u));o&&!h.length&&(d.teardown&&!1!==d.teardown.call(e,f,g.handle)||j.removeEvent(e,p,g.handle),delete l[p])}else for(p in l)j.event.remove(e,p+t[c],n,r,!0);j.isEmptyObject(l)&&J.remove(e,"handle events")}},dispatch:function(e){var t,n,r,a,i,o,s=j.event.fix(e),l=new Array(arguments.length),c=(J.get(this,"events")||{})[s.type]||[],u=j.event.special[s.type]||{};for(l[0]=s,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(i=[],o={},n=0;n-1:j.find(a,this,null,[c]).length),o[a]&&i.push(r);i.length&&s.push({elem:c,handlers:i})}return c=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Ne(e,t){return z(e,"table")&&z(11!==t.nodeType?t:t.firstChild,"tr")&&j(e).children("tbody")[0]||e}function Re(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Pe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,a,i,o,s,l,c;if(1===t.nodeType){if(J.hasData(e)&&(i=J.access(e),o=J.set(t,i),c=i.events))for(a in delete o.handle,o.events={},c)for(n=0,r=c[a].length;n1&&"string"==typeof f&&!y.checkClone&&Ie.test(f))return e.each(function(a){var i=e.eq(a);m&&(t[0]=f.call(this,a,i.html())),qe(i,t,n,r)});if(h&&(i=(a=we(t,e[0].ownerDocument,!1,e,r)).firstChild,1===a.childNodes.length&&(a=i),i||r)){for(s=(o=j.map(ge(a,"script"),Re)).length;d")},clone:function(e,t,n){var r,a,i,o,s,l,c,u=e.cloneNode(!0),d=j.contains(e.ownerDocument,e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||j.isXMLDoc(e)))for(o=ge(u),r=0,a=(i=ge(e)).length;r0&&ye(o,!d&&ge(e,"script")),u},cleanData:function(e){for(var t,n,r,a=j.event.special,i=0;void 0!==(n=e[i]);i++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)a[r]?j.event.remove(n,r):j.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[X.expando]&&(n[X.expando]=void 0)}}}),j.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return K(this,function(e){return void 0===e?j.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return qe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ne(this,e).appendChild(e)})},prepend:function(){return qe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Ne(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return qe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return qe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(j.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return j.clone(this,e,t)})},html:function(e){return K(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!me[(pe.exec(e)||["",""])[1].toLowerCase()]){e=j.htmlPrefilter(e);try{for(;n=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-i-l-s-.5))),l}function et(e,t,n){var r=Fe(e),a=Ve(e,t,r),i="border-box"===j.css(e,"boxSizing",!1,r),o=i;if(Le.test(a)){if(!n)return a;a="auto"}return o=o&&(y.boxSizingReliable()||a===e.style[t]),("auto"===a||!parseFloat(a)&&"inline"===j.css(e,"display",!1,r))&&(a=e["offset"+t[0].toUpperCase()+t.slice(1)],o=!0),(a=parseFloat(a)||0)+Xe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function tt(e,t,n,r,a){return new tt.prototype.init(e,t,n,r,a)}j.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ve(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var a,i,o,s=$(t),l=We.test(t),c=e.style;if(l||(t=Ze(s)),o=j.cssHooks[t]||j.cssHooks[s],void 0===n)return o&&"get"in o&&void 0!==(a=o.get(e,!1,r))?a:c[t];"string"===(i=typeof n)&&(a=ae.exec(n))&&a[1]&&(n=le(e,t,a),i="number"),null!=n&&n==n&&("number"===i&&(n+=a&&a[3]||(j.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,r))||(l?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var a,i,o,s=$(t);return We.test(t)||(t=Ze(s)),(o=j.cssHooks[t]||j.cssHooks[s])&&"get"in o&&(a=o.get(e,!0,n)),void 0===a&&(a=Ve(e,t,r)),"normal"===a&&t in Qe&&(a=Qe[t]),""===n||n?(i=parseFloat(a),!0===n||isFinite(i)?i||0:a):a}}),j.each(["height","width"],function(e,t){j.cssHooks[t]={get:function(e,n,r){if(n)return!Ke.test(j.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ge,function(){return et(e,t,r)})},set:function(e,n,r){var a,i=Fe(e),o="border-box"===j.css(e,"boxSizing",!1,i),s=r&&Xe(e,t,r,o,i);return o&&y.scrollboxSize()===i.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(i[t])-Xe(e,t,"border",!1,i)-.5)),s&&(a=ae.exec(n))&&"px"!==(a[3]||"px")&&(e.style[t]=n,n=j.css(e,t)),Je(0,n,s)}}}),j.cssHooks.marginLeft=He(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ve(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),j.each({margin:"",padding:"",border:"Width"},function(e,t){j.cssHooks[e+t]={expand:function(n){for(var r=0,a={},i="string"==typeof n?n.split(" "):[n];r<4;r++)a[e+ie[r]+t]=i[r]||i[r-2]||i[0];return a}},"margin"!==e&&(j.cssHooks[e+t].set=Je)}),j.fn.extend({css:function(e,t){return K(this,function(e,t,n){var r,a,i={},o=0;if(Array.isArray(t)){for(r=Fe(e),a=t.length;o1)}}),j.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,a,i){this.elem=e,this.prop=n,this.easing=a||j.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(j.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=j.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=j.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){j.fx.step[e.prop]?j.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[j.cssProps[e.prop]]&&!j.cssHooks[e.prop]?e.elem[e.prop]=e.now:j.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},j.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},j.fx=tt.prototype.init,j.fx.step={};var nt,rt,at=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){rt&&(!1===o.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(ot):n.setTimeout(ot,j.fx.interval),j.fx.tick())}function st(){return n.setTimeout(function(){nt=void 0}),nt=Date.now()}function lt(e,t){var n,r=0,a={height:e};for(t=t?1:0;r<4;r+=2-t)a["margin"+(n=ie[r])]=a["padding"+n]=e;return t&&(a.opacity=a.width=e),a}function ct(e,t,n){for(var r,a=(ut.tweeners[t]||[]).concat(ut.tweeners["*"]),i=0,o=a.length;i1)},removeAttr:function(e){return this.each(function(){j.removeAttr(this,e)})}}),j.extend({attr:function(e,t,n){var r,a,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?j.prop(e,t,n):(1===i&&j.isXMLDoc(e)||(a=j.attrHooks[t.toLowerCase()]||(j.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void j.removeAttr(e,t):a&&"set"in a&&void 0!==(r=a.set(e,n,t))?r:(e.setAttribute(t,n+""),n):a&&"get"in a&&null!==(r=a.get(e,t))?r:null==(r=j.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&z(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,a=t&&t.match(q);if(a&&1===e.nodeType)for(;n=a[r++];)e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?j.removeAttr(e,n):e.setAttribute(n,n),n}},j.each(j.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||j.find.attr;ht[t]=function(e,t,r){var a,i,o=t.toLowerCase();return r||(i=ht[o],ht[o]=a,a=null!=n(e,t,r)?o:null,ht[o]=i),a}});var pt=/^(?:input|select|textarea|button)$/i,ft=/^(?:a|area)$/i;function mt(e){return(e.match(q)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function yt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(q)||[]}j.fn.extend({prop:function(e,t){return K(this,j.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[j.propFix[e]||e]})}}),j.extend({prop:function(e,t,n){var r,a,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&j.isXMLDoc(e)||(t=j.propFix[t]||t,a=j.propHooks[t]),void 0!==n?a&&"set"in a&&void 0!==(r=a.set(e,n,t))?r:e[t]=n:a&&"get"in a&&null!==(r=a.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=j.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||ft.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(j.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),j.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){j.propFix[this.toLowerCase()]=this}),j.fn.extend({addClass:function(e){var t,n,r,a,i,o,s,l=0;if(b(e))return this.each(function(t){j(this).addClass(e.call(this,t,gt(this)))});if((t=yt(e)).length)for(;n=this[l++];)if(a=gt(n),r=1===n.nodeType&&" "+mt(a)+" "){for(o=0;i=t[o++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,a,i,o,s,l=0;if(b(e))return this.each(function(t){j(this).removeClass(e.call(this,t,gt(this)))});if(!arguments.length)return this.attr("class","");if((t=yt(e)).length)for(;n=this[l++];)if(a=gt(n),r=1===n.nodeType&&" "+mt(a)+" "){for(o=0;i=t[o++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):b(e)?this.each(function(n){j(this).toggleClass(e.call(this,n,gt(this),t),t)}):this.each(function(){var t,a,i,o;if(r)for(a=0,i=j(this),o=yt(e);t=o[a++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||((t=gt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+mt(gt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;j.fn.extend({val:function(e){var t,n,r,a=this[0];return arguments.length?(r=b(e),this.each(function(n){var a;1===this.nodeType&&(null==(a=r?e.call(this,n,j(this).val()):e)?a="":"number"==typeof a?a+="":Array.isArray(a)&&(a=j.map(a,function(e){return null==e?"":e+""})),(t=j.valHooks[this.type]||j.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,a,"value")||(this.value=a))})):a?(t=j.valHooks[a.type]||j.valHooks[a.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(a,"value"))?n:"string"==typeof(n=a.value)?n.replace(bt,""):null==n?"":n:void 0}}),j.extend({valHooks:{option:{get:function(e){var t=j.find.attr(e,"value");return null!=t?t:mt(j.text(e))}},select:{get:function(e){var t,n,r,a=e.options,i=e.selectedIndex,o="select-one"===e.type,s=o?null:[],l=o?i+1:a.length;for(r=i<0?l:o?i:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),j.each(["radio","checkbox"],function(){j.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=j.inArray(j(e).val(),t)>-1}},y.checkOn||(j.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in n;var vt=/^(?:focusinfocus|focusoutblur)$/,kt=function(e){e.stopPropagation()};j.extend(j.event,{trigger:function(e,t,r,a){var i,s,l,c,u,d,h,p,m=[r||o],g=f.call(e,"type")?e.type:e,y=f.call(e,"namespace")?e.namespace.split("."):[];if(s=p=l=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!vt.test(g+j.event.triggered)&&(g.indexOf(".")>-1&&(y=g.split("."),g=y.shift(),y.sort()),u=g.indexOf(":")<0&&"on"+g,(e=e[j.expando]?e:new j.Event(g,"object"==typeof e&&e)).isTrigger=a?2:3,e.namespace=y.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:j.makeArray(t,[e]),h=j.event.special[g]||{},a||!h.trigger||!1!==h.trigger.apply(r,t))){if(!a&&!h.noBubble&&!v(r)){for(c=h.delegateType||g,vt.test(c+g)||(s=s.parentNode);s;s=s.parentNode)m.push(s),l=s;l===(r.ownerDocument||o)&&m.push(l.defaultView||l.parentWindow||n)}for(i=0;(s=m[i++])&&!e.isPropagationStopped();)p=s,e.type=i>1?c:h.bindType||g,(d=(J.get(s,"events")||{})[e.type]&&J.get(s,"handle"))&&d.apply(s,t),(d=u&&s[u])&&d.apply&&Y(s)&&(e.result=d.apply(s,t),!1===e.result&&e.preventDefault());return e.type=g,a||e.isDefaultPrevented()||h._default&&!1!==h._default.apply(m.pop(),t)||!Y(r)||u&&b(r[g])&&!v(r)&&((l=r[u])&&(r[u]=null),j.event.triggered=g,e.isPropagationStopped()&&p.addEventListener(g,kt),r[g](),e.isPropagationStopped()&&p.removeEventListener(g,kt),j.event.triggered=void 0,l&&(r[u]=l)),e.result}},simulate:function(e,t,n){var r=j.extend(new j.Event,n,{type:e,isSimulated:!0});j.event.trigger(r,null,t)}}),j.fn.extend({trigger:function(e,t){return this.each(function(){j.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return j.event.trigger(e,t,n,!0)}}),y.focusin||j.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){j.event.simulate(t,e.target,j.event.fix(e))};j.event.special[t]={setup:function(){var r=this.ownerDocument||this,a=J.access(r,t);a||r.addEventListener(e,n,!0),J.access(r,t,(a||0)+1)},teardown:function(){var r=this.ownerDocument||this,a=J.access(r,t)-1;a?J.access(r,t,a):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var wt=n.location,_t=Date.now(),jt=/\?/;j.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||j.error("Invalid XML: "+e),t};var xt=/\[\]$/,Et=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,St=/^(?:input|select|textarea|keygen)/i;function Tt(e,t,n,r){var a;if(Array.isArray(t))j.each(t,function(t,a){n||xt.test(e)?r(e,a):Tt(e+"["+("object"==typeof a&&null!=a?t:"")+"]",a,n,r)});else if(n||"object"!==_(t))r(e,t);else for(a in t)Tt(e+"["+a+"]",t[a],n,r)}j.param=function(e,t){var n,r=[],a=function(e,t){var n=b(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!j.isPlainObject(e))j.each(e,function(){a(this.name,this.value)});else for(n in e)Tt(n,e[n],t,a);return r.join("&")},j.fn.extend({serialize:function(){return j.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=j.prop(this,"elements");return e?j.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!j(this).is(":disabled")&&St.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!he.test(e))}).map(function(e,t){var n=j(this).val();return null==n?null:Array.isArray(n)?j.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Ot=/%20/g,zt=/#.*$/,At=/([?&])_=[^&]*/,It=/^(.*?):[ \t]*([^\r\n]*)$/gm,Dt=/^(?:GET|HEAD)$/,Nt=/^\/\//,Rt={},Pt={},Mt="*/".concat("*"),qt=o.createElement("a");function Bt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,a=0,i=t.toLowerCase().match(q)||[];if(b(n))for(;r=i[a++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Lt(e,t,n,r){var a={},i=e===Pt;function o(s){var l;return a[s]=!0,j.each(e[s]||[],function(e,s){var c=s(t,n,r);return"string"!=typeof c||i||a[c]?i?!(l=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),l}return o(t.dataTypes[0])||!a["*"]&&o("*")}function Ft(e,t){var n,r,a=j.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((a[n]?e:r||(r={}))[n]=t[n]);return r&&j.extend(!0,e,r),e}qt.href=wt.href,j.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:wt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(wt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":j.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,j.ajaxSettings),t):Ft(j.ajaxSettings,e)},ajaxPrefilter:Bt(Rt),ajaxTransport:Bt(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,a,i,s,l,c,u,d,h,p,f=j.ajaxSetup({},t),m=f.context||f,g=f.context&&(m.nodeType||m.jquery)?j(m):j.event,y=j.Deferred(),b=j.Callbacks("once memory"),v=f.statusCode||{},k={},w={},_="canceled",x={readyState:0,getResponseHeader:function(e){var t;if(u){if(!s)for(s={};t=It.exec(i);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return u?i:null},setRequestHeader:function(e,t){return null==u&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,k[e]=t),this},overrideMimeType:function(e){return null==u&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)x.always(e[x.status]);else for(t in e)v[t]=[v[t],e[t]];return this},abort:function(e){var t=e||_;return r&&r.abort(t),E(0,t),this}};if(y.promise(x),f.url=((e||f.url||wt.href)+"").replace(Nt,wt.protocol+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(q)||[""],null==f.crossDomain){c=o.createElement("a");try{c.href=f.url,c.href=c.href,f.crossDomain=qt.protocol+"//"+qt.host!=c.protocol+"//"+c.host}catch(e){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=j.param(f.data,f.traditional)),Lt(Rt,f,t,x),u)return x;for(h in(d=j.event&&f.global)&&0==j.active++&&j.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Dt.test(f.type),a=f.url.replace(zt,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(Ot,"+")):(p=f.url.slice(a.length),f.data&&(f.processData||"string"==typeof f.data)&&(a+=(jt.test(a)?"&":"?")+f.data,delete f.data),!1===f.cache&&(a=a.replace(At,"$1"),p=(jt.test(a)?"&":"?")+"_="+_t+++p),f.url=a+p),f.ifModified&&(j.lastModified[a]&&x.setRequestHeader("If-Modified-Since",j.lastModified[a]),j.etag[a]&&x.setRequestHeader("If-None-Match",j.etag[a])),(f.data&&f.hasContent&&!1!==f.contentType||t.contentType)&&x.setRequestHeader("Content-Type",f.contentType),x.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Mt+"; q=0.01":""):f.accepts["*"]),f.headers)x.setRequestHeader(h,f.headers[h]);if(f.beforeSend&&(!1===f.beforeSend.call(m,x,f)||u))return x.abort();if(_="abort",b.add(f.complete),x.done(f.success),x.fail(f.error),r=Lt(Pt,f,t,x)){if(x.readyState=1,d&&g.trigger("ajaxSend",[x,f]),u)return x;f.async&&f.timeout>0&&(l=n.setTimeout(function(){x.abort("timeout")},f.timeout));try{u=!1,r.send(k,E)}catch(e){if(u)throw e;E(-1,e)}}else E(-1,"No Transport");function E(e,t,o,s){var c,h,p,k,w,_=t;u||(u=!0,l&&n.clearTimeout(l),r=void 0,i=s||"",x.readyState=e>0?4:0,c=e>=200&&e<300||304===e,o&&(k=function(e,t,n){for(var r,a,i,o,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(a in s)if(s[a]&&s[a].test(r)){l.unshift(a);break}if(l[0]in n)i=l[0];else{for(a in n){if(!l[0]||e.converters[a+" "+l[0]]){i=a;break}o||(o=a)}i=i||o}if(i)return i!==l[0]&&l.unshift(i),n[i]}(f,x,o)),k=function(e,t,n,r){var a,i,o,s,l,c={},u=e.dataTypes.slice();if(u[1])for(o in e.converters)c[o.toLowerCase()]=e.converters[o];for(i=u.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=i,i=u.shift())if("*"===i)i=l;else if("*"!==l&&l!==i){if(!(o=c[l+" "+i]||c["* "+i]))for(a in c)if((s=a.split(" "))[1]===i&&(o=c[l+" "+s[0]]||c["* "+s[0]])){!0===o?o=c[a]:!0!==c[a]&&(i=s[0],u.unshift(s[1]));break}if(!0!==o)if(o&&e.throws)t=o(t);else try{t=o(t)}catch(e){return{state:"parsererror",error:o?e:"No conversion from "+l+" to "+i}}}return{state:"success",data:t}}(f,k,x,c),c?(f.ifModified&&((w=x.getResponseHeader("Last-Modified"))&&(j.lastModified[a]=w),(w=x.getResponseHeader("etag"))&&(j.etag[a]=w)),204===e||"HEAD"===f.type?_="nocontent":304===e?_="notmodified":(_=k.state,h=k.data,c=!(p=k.error))):(p=_,!e&&_||(_="error",e<0&&(e=0))),x.status=e,x.statusText=(t||_)+"",c?y.resolveWith(m,[h,_,x]):y.rejectWith(m,[x,_,p]),x.statusCode(v),v=void 0,d&&g.trigger(c?"ajaxSuccess":"ajaxError",[x,f,c?h:p]),b.fireWith(m,[x,_]),d&&(g.trigger("ajaxComplete",[x,f]),--j.active||j.event.trigger("ajaxStop")))}return x},getJSON:function(e,t,n){return j.get(e,t,n,"json")},getScript:function(e,t){return j.get(e,void 0,t,"script")}}),j.each(["get","post"],function(e,t){j[t]=function(e,n,r,a){return b(n)&&(a=a||r,r=n,n=void 0),j.ajax(j.extend({url:e,type:t,dataType:a,data:n,success:r},j.isPlainObject(e)&&e))}}),j._evalUrl=function(e){return j.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},j.fn.extend({wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=j(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return b(e)?this.each(function(t){j(this).wrapInner(e.call(this,t))}):this.each(function(){var t=j(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b(e);return this.each(function(n){j(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){j(this).replaceWith(this.childNodes)}),this}}),j.expr.pseudos.hidden=function(e){return!j.expr.pseudos.visible(e)},j.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},j.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Vt=j.ajaxSettings.xhr();y.cors=!!Vt&&"withCredentials"in Vt,y.ajax=Vt=!!Vt,j.ajaxTransport(function(e){var t,r;if(y.cors||Vt&&!e.crossDomain)return{send:function(a,i){var o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)s[o]=e.xhrFields[o];for(o in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||a["X-Requested-With"]||(a["X-Requested-With"]="XMLHttpRequest"),a)s.setRequestHeader(o,a[o]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(Ut[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),j.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),j.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return j.globalEval(e),e}}}),j.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),j.ajaxTransport("script",function(e){var t,n;if(e.crossDomain)return{send:function(r,a){t=j(" + diff --git a/index.html b/index.html index e4a38c9d..8b4acc43 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ - + @@ -26,6 +26,6 @@ - + diff --git a/locales/en/messages.json b/locales/en/messages.json index 02dabd08..4843bd91 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -2044,8 +2044,8 @@ "externalId": { "message": "External Id" }, - "externalIdGroupDesc": { - "message": "The external id is used to link this group to an external system such as a user directory." + "externalIdDesc": { + "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." }, "accessControl": { "message": "Access Control" @@ -2795,5 +2795,27 @@ "free": { "message": "Free", "description": "Free, as in 'Free beer'" + }, + "apiKey": { + "message": "API Key" + }, + "apiKeyDesc": { + "message": "Your API key can be used to authenticate to the Bitwarden public API." + }, + "apiKeyRotateDesc": { + "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." + }, + "apiKeyWarning": { + "message": "Your API key has full access to the organization. It should be kept secret." + }, + "oauth2ClientCredentials": { + "message": "OAuth 2.0 Client Credentials", + "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." + }, + "viewApiKey": { + "message": "View API Key" + }, + "rotateApiKey": { + "message": "Rotate API Key" } } diff --git a/u2f-connector.html b/u2f-connector.html index 7e248648..a9d9c783 100644 --- a/u2f-connector.html +++ b/u2f-connector.html @@ -7,6 +7,6 @@ - +