PageSourceSearch

https://www.movemeback.com/958.4565bd6c7fdd179a.js

js movemeback.com collected 2026-10-02 16:45:38 UTC 157,880 bytes, 2 lines download raw bytes

1(self.webpackChunkmmb_web_app=self.webpackChunkmmb_web_app||[]).push([[958],{49958:(r,c,n)=>{"use strict";n.r(c),n.d(c,{ProfileModule:()=>Re});var i=n(42321),t=n(22560),o=n(94666),h=n(24486);var Fe=n(36166),Te=n.n(Fe),u=n(64772);let M=class{constructor(e,s){this.profileService=e,this.route=s,this.skills=this.profileService.getUserSkills(),this.languages=this.profileService.getUserLanguages(),this.requests=this.profileService.getUserRequests(),this.offers=this.profileService.getUserOffers(),this.menuCollapsed=!0,this.menuItems=["About Me","Identity","Interests","Experience","Account","Notifications"],this.activeLink=0}ngOnInit(){this._getUser(),this.route.queryParams.subscribe(e=>{e&&(this.activeLink=e.tab?parseInt(e.tab):0)})}navigateMenu(e){this.activeLink=e}onUpdateUser(){this._getUser()}_getUser(){this.profileService.userProfile$.subscribe(e=>{this.user=e})}static#e=this.ctorParameters=()=>[{type:u.H},{type:h.gz}]};M=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-my-profile",template:'<div class="w-100" fxLayout="column" *ngIf="user">\n    <div class="bg-primary-900 w-100 py-6 h-200px" fxLayout="column" fxLayoutAlign="center center">\n        <img *ngIf="user.profile_image" fxHide.gt-sm [src]="user.profile_image" onerror="this.src=\'assets/images/avatars/avatar-not-found.svg\'" alt="" class="w-80px h-80px object-fit-cover border-radius-lg" />\n        <div *ngIf="!user.profile_image" fxHide.gt-sm fxLayout="row" fxLayoutAlign="center center" class="border-radius-lg bg-secondary-light w-80px h-80px">\n            <i class="mmb-display-2 ri-user-6-line text-primary font-weight-100 "></i>\n        </div>\n        <div fxHide.gt-sm class="mmb-subheading-2 text-white mt-3">\n            {{ user.first_name }} {{ user.last_name }}\n        </div>\n        <div fxHide.gt-sm class="mmb-caption-2  text-white mt-2">\n            {{ user.credentials.professional_title }}\n        </div>\n    </div>\n    <div fxLayout="row wrap" fxLayoutAlign="start space-between" \n     ngClass.sm="mmb-responsive-container--sm" ngClass.xs="mmb-responsive-container--xs" class="mx-auto w-100" ngClass.gt-sm="ml-10">\n        <div fxHide.lt-md class="mt-n36 p-10 bg-white border-radius-sm" fxLayout="column" fxFlex.gt-sm="25%" fxFlex.lt-md="100%">\n            <mmb-web-app-profile-side-bar [user]="user"></mmb-web-app-profile-side-bar>\n        </div>\n        <div class="right-bar" fxLayout="column" fxFlex>\n            <div class="menu-bar w-100 bg-white minh-65px maxh-65px px-8" fxLayout="row wrap" fxLayout.lt-md="row"\n                fxLayoutGap.gt-xs="30px"  fxLayoutGap.xs="10px" fxLayoutAlign.gt-sm="start center"  fxLayoutAlign.lt-sm="space-between center">\n                <span fxHide.lt-md (click)="navigateMenu(i)" *ngFor="let item of menuItems; let i = index"\n                    class="mmb-body-1 h-100 cursor-pointer" fxLayout="row nowrap" fxLayoutAlign="center center"\n                    [ngClass]="{\'mmb-border-bottom-secondary--light mmb-body-2\': activeLink === i}">\n                    {{item}}\n                </span>\n                <span fxHide.gt-sm (click)="navigateMenu(i)" *ngFor="let item of menuItems.slice(0, menuItems.length - 1); let i = index"\n                    class="mmb-body-1 h-100 cursor-pointer" fxLayout="row nowrap" fxLayoutAlign="center center"\n                    [ngClass]="{\'mmb-border-bottom-secondary--light mmb-body-2\': activeLink === i}">\n                    {{item}}\n                </span>\n                <div class="dropdown mr-4" ngClass.gt-xs="ml-auto" fxLayout="column" fxLayoutAlign="center center">\n                    <button fxHide.gt-sm class="navbar-toggler" type="button" data-toggle="dropdown" \n                    data-display="static"\n                        aria-label="Toggle navigation" (click)="menuCollapsed = !menuCollapsed"\n                        [attr.aria-expanded]="!menuCollapsed">\n                        <i class="ri-arrow-down-s-line"></i>\n                    </button>\n                    <div fxHide.gt-sm class="collapse dropdown-menu dropdown-menu-right navbar-collapse shadow-sm" [class.show]="!menuCollapsed">\n                        <ul class="navbar-nav w-100 p-0" id="navbarSupportedContent">\n                            <li class="nav-item" ngClass.gt-md=\'px-4\' ngClass.lt-lg=\'px-2\'>\n                                <a  (click)="navigateMenu(menuItems.length-1)" class="nav-link d-flex align-items-center h-100 px-2"\n                                [ngClass]="{\'mmb-border-bottom-secondary--light mmb-body-2\': activeLink === menuItems.length-1}">\n                                    Notifications\n                                </a>\n                            </li>\n                        </ul>\n                    </div>\n                </div>\n            </div>\n            <div class="section-content p-10 m-5 bg-white border-radius-sm" ngClass.gt-sm="mx-w-80">\n                <mmb-web-app-step-hello [user]="user" *ngIf="activeLink === 0"></mmb-web-app-step-hello>\n                <mmb-web-app-step-identity [user]="user" *ngIf="activeLink === 1"></mmb-web-app-step-identity>\n                <mmb-web-app-step-interest [user]="user" *ngIf="activeLink === 2"></mmb-web-app-step-interest>\n                <mmb-web-app-step-proffesional-profile [user]="user" (updateUser)="onUpdateUser()" *ngIf="activeLink === 3">\n                </mmb-web-app-step-proffesional-profile>\n                <mmb-web-app-account [user]="user" *ngIf="activeLink === 4"></mmb-web-app-account>\n                <mmb-web-app-step-notification [user]="user" *ngIf="activeLink === 5"></mmb-web-app-step-notification>\n            </div>\n        </div>\n    </div>\n</div>',styles:[Te()]})],M);var Ne=n(17927),Be=n.n(Ne);let k=class{constructor(e){this.profileService=e,this.user=this.profileService.getUserProfile(),this.skills=this.profileService.getUserSkills(),this.languages=this.profileService.getUserLanguages()}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:u.H}]};k=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-public-profile",template:'<div class="container my-1" *ngIf="user | async as user">\n    <div class="row">\n        <div class="col-md-8 mt-4">\n            <mmb-web-app-user-summary-profile-info [user]="user">\n            </mmb-web-app-user-summary-profile-info>\n            <mmb-web-app-user-about-info [user]="user" [aboutMe]="user?.credentials?.summary">\n            </mmb-web-app-user-about-info>\n            <mmb-web-app-user-dashboard-info [analyticsInfo]="user?.analyticsInfo"></mmb-web-app-user-dashboard-info>\n            <mmb-web-app-user-experience-info [user]="user" [experiences]="user?.experiences">\n            </mmb-web-app-user-experience-info>\n            <mmb-web-app-user-education-info [educations]="user?.education">\n            </mmb-web-app-user-education-info>\n            <mmb-web-app-user-skills [user]="user" [languages]="languages" [skills]="skills">\n            </mmb-web-app-user-skills>\n        </div>\n        <div class="col-md-4">\n            <div class="sidebar sticky-top t-navbar-height">\n                <mmb-web-app-related-items-list [type]="\'trending\'" [title]="\'trending\'">\n                </mmb-web-app-related-items-list>\n            </div>\n        </div>\n    </div>\n</div>',styles:[Be()]})],k);const je=[{path:":slug",component:k},{path:"",component:M}];let le=class{};le=(0,i.gn)([(0,t.LVF)({imports:[h.Bz.forChild(je)],exports:[h.Bz]})],le);var D=n(41906);var Ve=n(27983),ze=n.n(Ve),l=n(2508),b=n(72675);var $e=n(41067),He=n.n($e),v=n(94817);let F=class{constructor(e,s,a,m){this.fb=e,this.profileService=s,this.modal=a,this.toastr=m,this.addSuccess=new t.vpe,this.editProfileForm=this.fb.group({summary:["",l.kI.required]})}ngOnInit(){}updateSummary(){this.profileService.updateUserSummary(this.editProfileForm.controls.summary.value).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Updated summary!")})}closeModal(){this.modal.dismiss()}static#e=this.ctorParameters=()=>[{type:l.QS},{type:u.H},{type:b.Kz},{type:v._W}];static#t=this.propDecorators={user:[{type:t.IIB}],addSuccess:[{type:t.r_U}]}};F=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-summary-edit-modal",template:'<div class="modal-content">\n    <div class="modal-header">
1\n        <h5 class="modal-title" id="summaryModalTitle">Edit your summary</h5>\n        <button type="button" class="close" (click)="closeModal()">\n            <span aria-hidden="true">&times;</span>\n        </button>\n    </div>\n    <div class="modal-body">\n        <form [formGroup]="editProfileForm">\n            <div class="row mb-5">\n                <div class="col">\n                    <label>Summary</label>\n                    <textarea type="text" class="form-control my-1 shadow-none border" formControlName="summary" [value]="user?.credentials?.summary"></textarea>\n                </div>\n            </div>\n        </form>\n    </div>\n    <div class="modal-footer">\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="updateSummary()">Save changes</button>\n    </div>\n</div>',styles:[He()]})],F);let T=class{constructor(e,s,a){this.fb=e,this.profileService=s,this.modalService=a}ngOnInit(){}onSummaryEdit(){const e=this.modalService.open(F,{centered:!0});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{this.getProfile()})}getProfile(){this.profileService.getUserProfile().subscribe(e=>{this.aboutMe=e.credentials.summary})}static#e=this.ctorParameters=()=>[{type:l.QS},{type:u.H},{type:b.FF}];static#t=this.propDecorators={user:[{type:t.IIB}],aboutMe:[{type:t.IIB}],isEditMode:[{type:t.IIB}]}};T=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-about-info",template:'<div class="my-2 widget">\n    <div class="single-accordion">\n        <h5 class="row mmb-justify-content-between px-1 border-bottom">\n            <div class="text-uppercase mmb-display-block p-3" data-toggle="collapse"\n                i18n="Summary title|Title for summary in user\'s profile page@@userProfileSummaryTitle">Summary</div>\n            <button *ngIf="isEditMode" type="button" class="btn btn-outline-primary icon-button text-primary mx-3"\n                (click)="onSummaryEdit()">\n                <i class="ri-pencil-line"></i>\n            </button>\n        </h5>\n        <div class="p-3" *ngIf="aboutMe">\n            {{ aboutMe }}\n        </div>\n        <div class="p-3" *ngIf="!aboutMe">\n            No summary provided\n        </div>\n    </div>\n</div>',styles:[ze()]})],T);var We=n(91636),Ke=n.n(We);let U=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={analyticsInfo:[{type:t.IIB}]}};U=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-dashboard-info",template:'<div class="widget my-2" *ngIf="analyticsInfo">\n    <div class="single-accordion p-2 px-4">\n        <h5>\n            <a class="collapse show text-uppercase mmb-display-block p-3" data-toggle="collapse" href="#dashboardSection"\n                role="button"\n                i18n="Your dashboard title|Title for dashboard in user\'s profile page@@userProfileDashboardTitle">Your\n                Dashboard</a>\n        </h5>\n        <div id="dashboardSection" class="text-muted mt-n1 small"\n            i18n="dashboard subtitle|Subtitle for dashboard in user\'s profile page@@userProfileDashboardSubTitle">\n            Private to you</div>\n        <div class="my-2 row">\n            <div class="col-6" *ngFor="let item of analyticsInfo">\n                <div class="bg-white p-2 border shadow-sm">\n                    <h4 class="text-info">{{ item.value }}</h4>\n                    <div>{{ item.label }}</div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>',styles:[Ke()]})],U);var Je=n(91948),Ze=n.n(Je);var et=n(85003),tt=n.n(et),y=n(71989),x=n(98977),S=n(32673),C=n(19337),g=n(93819);var st=n(75424),it=n.n(st);let O=class{constructor(e,s,a){this.profileService=e,this.modal=s,this.toastr=a,this.addSuccess=new t.vpe}ngOnInit(){}deleteEducation(){this.profileService.deleteUserEducation(this.educations.uuid).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Deleted education!")})}deleteExperience(){this.profileService.deleteUserExperience(this.experiences.uuid).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Deleted experience!")})}closeModal(){this.modal.dismiss()}static#e=this.ctorParameters=()=>[{type:u.H},{type:b.Kz},{type:v._W}];static#t=this.propDecorators={educations:[{type:t.IIB}],experiences:[{type:t.IIB}],removeEducationMode:[{type:t.IIB}],addSuccess:[{type:t.r_U}]}};O=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-confirm-remove-modal",template:'<div class="modal-content">\n    <div class="modal-header">\n        <h5 class="modal-title" id="addEducationModalTitle">Are you sure?</h5>\n        <button type="button" class="close" (click)="closeModal()">
1\n            <span aria-hidden="true">&times;</span>\n        </button>\n    </div>\n    <div class="modal-footer mmb-justify-content-between">\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="closeModal()"\n            data-dismiss="modal">Cancel</button>\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="deleteExperience()"\n            data-dismiss="modal" *ngIf="!removeEducationMode">Delete</button>\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="deleteEducation()"\n            data-dismiss="modal" *ngIf="removeEducationMode">Delete</button>\n    </div>\n</div>',styles:[it()]})],O);let w=class{constructor(e,s,a,m,p,I){this.fb=e,this.profileService=s,this.modal=a,this.toastr=m,this.sharedService=p,this.modalService=I,this.addSuccess=new t.vpe,this.isSearching=!1}ngOnInit(){this.editProfileForm=this.fb.group({title:[this.experiences?this.experiences.title:"",l.kI.required],organisation:[this.experiences&&this.experiences.organisation?this.experiences.organisation:this.experiences?this.experiences.organisation_custom:"",l.kI.required],startDate:[this.experiences?this.experiences.start_date:"",l.kI.required],endDate:[this.experiences?this.experiences.end_date:""],summary:[this.experiences?this.experiences.summary:"",l.kI.required]}),this._subscribeToCurrentOrganisationValueChanges()}_subscribeToCurrentOrganisationValueChanges(){const e=this.editProfileForm.controls.organisation;this.currentOrganisationSearch=s=>s.pipe((0,y.b)(300),(0,x.x)(),(0,S.w)(a=>this.sharedService.getOrgs(e.value)),(0,C.b)(()=>this.isSearching=!1))}resultFormatOrganisationValue(e){return e.name_ascii?e.name_ascii:e.name}inputFormatOrganisationValue(e){return e.name_ascii?e.name_ascii:e.name?e.name:e}createExperience(){this.profileService.addUserExperience(this.editProfileForm.controls.title.value,this.editProfileForm.controls.organisation.value.id?this.editProfileForm.controls.organisation.value.id:this.editProfileForm.controls.organisation.value,this.editProfileForm.controls.startDate.value,this.editProfileForm.controls.endDate.value,this.editProfileForm.controls.summary.value,!this.editProfileForm.controls.organisation.value.id).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Added experience!")})}editExperience(){this.profileService.editUserExperience(this.experiences.uuid,this.editProfileForm.controls.title.value,this.editProfileForm.controls.organisation.value.id?this.editProfileForm.controls.organisation.value.id:this.editProfileForm.controls.organisation.value,this.editProfileForm.controls.startDate.value,this.editProfileForm.controls.endDate.value,this.editProfileForm.controls.summary.value,!this.editProfileForm.controls.organisation.value.id).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Updated experience!")})}deleteExperience(){const e=this.modalService.open(O,{centered:!0});e.componentInstance.experiences=this.experiences,e.componentInstance.addSuccess.subscribe(s=>{this.addSuccess.emit(),this.closeModal()})}closeModal(){this.modal.dismiss()}static#e=this.ctorParameters=()=>[{type:l.QS},{type:u.H},{type:b.Kz},{type:v._W},{type:g.F},{type:b.FF}];static#t=this.propDecorators={user:[{type:t.IIB}],experiences:[{type:t.IIB}],isEditMode:[{type:t.IIB}],addSuccess:[{type:t.r_U}]}};w=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-experience-modal",template:'<div>\n    <div class="mb-1 bg-secondary-1000 p-3" fxLayoutAlign="row" fxLayoutAlign="space-between center">\n        <div class="mmb-subheading-2 mb-0" *ngIf="!isEditMode">\n            Add experience\n        </div>\n        <div class="mmb-subheading-2 mb-0" *ngIf="isEditMode">\n            Edit experience\n        </div>\n        <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="modal.dismiss()">\n            <i class="ri-close-line text-black ri-lg ml-n7"></i>\n        </div>\n    </div>\n    <div class="modal-body">\n        <form [formGroup]="editProfileForm">\n            <div class="row mb-2">\n                <div class="col">\n                    <label>Title</label>\n                    <input ngbAutofocus type="text" class="form-control my-1 shadow-none border"\n                        formControlName="title">\n                </div>\n            </div>\n            <div class="row mb-2">\n                <div class="col">\n                    <label>Company</label>\n                    <input type="text" formControlName="organisation" [ngbTypeahead]="currentOrganisationSearch"\n                        [resultFormatter]="resultFormatOrganisationValue"\n                        [inputFormatter]="inputFormatOrganisationValue" class="form-control my-1 shadow-none border">\n                </div>\n            </div>\n            <div class="row mb-2">\n                <div class="col">\n                    <label>Start date</label>\n                    <input type="date" class="form-control my-1 shadow-none border" formControlName="startDate">\n                </div>\n                <div class="col">\n                    <label>End date</label>\n                    <input type="date" class="form-control my-1 shadow-none border" formControlName="endDate">\n                </div>\n            </div>\n            <div class="row mb-2">\n                <div class="col">\n                    <label>Description</label>\n                    <textarea rows="4" type="text" class="form-control my-1 shadow-none border"\n                        formControlName="summary"></textarea>\n                </div>\n            </div>\n        </form>\n    </div>\n    <div class="modal-footer" *ngIf="!isEditMode">\n        <button type="button" class="mmb-primary-button" (click)="createExperience()"\n            [ngClass]="{\'mmb-primary-button--disabled\': editProfileForm.invali
1d}">Save changes</button>\n    </div>\n    <div class="modal-footer mmb-justify-content-between" *ngIf="isEditMode">\n        <button type="button" class="mmb-secondary-button" (click)="deleteExperience()"\n            data-dismiss="modal">Delete</button>\n        <button type="button" class="mmb-primary-button" (click)="editExperience()" data-dismiss="modal"\n            [ngClass]="{\'mmb-primary-button--disabled\': editProfileForm.invalid}">Save changes</button>\n    </div>\n</div>',styles:[tt()]})],w);var Pe=n(43746);let N=class{constructor(e,s,a){this.modalService=e,this.profileService=s,this.sharedService=a}ngOnInit(){}onEditExperience(e){this.isEditMode&&this.editExperience(e)}addExperience(){this.modalService.open(w,{centered:!0}).componentInstance.addSuccess.subscribe(s=>{this.getProfile()})}editExperience(e){const s=this.modalService.open(w,{centered:!0});s.componentInstance.experiences=e,s.componentInstance.isEditMode=!0,s.componentInstance.addSuccess.subscribe(a=>{this.getProfile()})}getProfile(){this.profileService.getUserProfile().subscribe(e=>{this.experiences=e.experiences})}getOrganisation(e){return e&&e.organisation?e.organisation.logo?{logo:e.organisation.logo}:e.organisation.website_url?{websiteUrl:e.organisation.websiteUrl}:{name:e.organisation.name}:e&&e.organisation_custom?{name:e.organisation_custom}:{name:""}}getOrgImageUrl(e){if(e){if(e.logo)return e.logo;if(e.websiteUrl)return`${Pe.N.api.logoServer}/${e.websiteUrl}`}}static#e=this.ctorParameters=()=>[{type:b.FF},{type:u.H},{type:g.F}];static#t=this.propDecorators={experiences:[{type:t.IIB}],user:[{type:t.IIB}],isEditMode:[{type:t.IIB}]}};N=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-experience-info",template:'<div class="w-100 mt-8 position-relative" *ngIf="experiences">\n    <i *ngIf="isEditMode" (click)="addExperience()"\n        class="ri-add-line ri-lg position-absolute text-primary cursor-pointer top-0 right-0"\n        [ngbTooltip]="\'Add experience\'"></i>\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        My Work Experience\n    </div>\n    <div>\n        <ng-container *ngFor="let item of experiences; let i = index">\n            <div class="mmb-body-1 my-8 pl-4 h-auto" fxLayout="row" fxLayoutAlign="start start"\n                *ngIf="getOrganisation(item) as orgItem" fxLayoutGap="12px">\n                <img *ngIf="getOrgImageUrl(orgItem)" class="w-50px h-50px object-fit-contain"\n                    [src]="getOrgImageUrl(orgItem)" />\n                <div *ngIf="!getOrgImageUrl(orgItem)" class="w-50px h-50px bg-grey--light border-radius-xs"></div>\n                <div fxLayout="column" class="w-100">\n                    <div fxLayout="row" fxLayoutAlign="space-between center"\n                        class="w-100 mmb-caption-2 mmb-letter-spacing-md text-uppercase">\n                        {{ item.organisation ? item.organisation.name : item.organisation_custom }}\n                        <div>\n                            <i [ngbTooltip]="\'Edit experience\'" class="ri-edit-box-line ri-lg text-primary cursor-pointer"\n                                (click)="onEditExperience(item)"></i>\n                        </div>\n                    </div>\n                    <div fxLayout="row" fxLayoutAlign="space-between center"\n                        class="mt-2 mmb-border-bottom--lightest---dash pb-3">\n                        <span class="mmb-caption-2">{{ item.title }}</span>\n                        <span class="mmb-caption text-uppercase">{{ item.start_date | date }} -\n                            <span *ngIf="item.end_date">{{ item.end_date | date }}</span>\n                            <span *ngIf="!item.end_date">Present</span>\n                        </span>\n                    </div>\n                    <div class="pt-3 w-100 mmb-caption-2">\n                        {{ item.summary }}\n                    </div>\n                </div>\n            </div>\n        </ng-container>\n        <div class="pt-5 pl-5 w-100 mmb-caption" *ngIf="experiences.length === 0">\n            No experience added yet\n        </div>\n    </div>\n</div>',changeDetection:t.n4l.OnPush,styles:[Ze()]})],N);var rt=n(95953),at=n.n(rt);var ct=n(15168),dt=n.n(ct);let R=class{constructor(e,s,a,m,p,I){this.fb=e,this.profileService=s,this.modal=a,this.toastr=m,this.sharedService=p,this.modalService=I,this.addSuccess=new t.vpe,this.isSearching=!1}ngOnInit(){this.editProfileForm=this.fb.group({school:[this.educations&&this.educations.organisation?this.educations.organisation:this.educations?this.educations.organisation_custom:"",l.kI.required],field:[this.educations?this.educations.field_of_study:"",l.kI.required],startDate:[this.educations?this.educations.start_date:"",l.kI.required],endDate:[this.educations?this.educations.end_date:"",l.kI.required],description:[this.educations?this.educations.notes:"",l.kI.required]}),this._subscribeToCurrentOrganisationValueChanges()}_subscribeToCurrentOrganisationValueChanges(){const e=this.editProfileForm.controls.school;this.currentOrganisationSearch=s=>s.pipe((0,y.b)(300),(0,x.x)(),(0,S.w)(a=>this.sharedService.getSchools(e.value)),(0,C.b)(()=>this.isSearching=!1))}resultFormatOrganisationValue(e){return e.name_ascii?e.name_ascii:e.name}inputFormatOrganisationValue(e){return e.name_ascii?e.name_ascii:e.name?e.name:e}createEducation(){this.profileService.addUserEducation(this.editProfileForm.controls.school.value.id?this.editProfileForm.controls.school.value.id:this.editProfileForm.controls.school.value,this.editProfileForm.controls.field.value,this.editProfileForm.controls.description.value,this.editProfileForm.controls.startDate.value,this.editProfileForm.controls.endDate.value,!this.editProfileForm.controls.school.value.id).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Added education!")})}editEducation(){this.profileService.editUserEducation(this.educations.uuid,this.editProfileForm.controls.school.value.id?this.editProfileForm.controls.school.value.id:this.editProfileForm.controls.school.value,this.editProfileForm.controls.field.value,this.editProfileForm.controls.description.value,this.editProfileForm.controls.startDate.value,this.editProfileForm.controls.endDate.value,!this.editProfileForm.controls.school.value.id).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Updated education!")})}deleteEducation(){const e=this.modalService.open(O,{centered:!0});e.componentInstance.educations=this.educations,e.componentInstance.removeEducationMode=!0,e.componentInstance.addSuccess.subscribe(s=>{this.addSuccess.emit(),this.closeModal()})}closeModal(){this.modal.dismiss()}static#e=this.ctorParameters=()=>[{type:l.QS},{type:u.H},{type:b.Kz},{type:v._W},{type:g.F},{type:b.FF}];static#t=this.propDecorators={user:[{type:t.IIB}],educations:[{type:t.IIB}],isEditMode:[{type:t.IIB}],removeEducationMode:[{type:t.IIB}],addSuccess:[{type:t.r_U}]}};R=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-education-modal",template:'<div>\n    <div class="mb-1 bg-secondary-1000 p-3" fxLayoutAlign="row" fxLayoutAlign="space-between center">\n        <div class="mmb-subheading-2 mb-0" *ngIf="!isEditMode">\n            Add education\n        </div>\n        <div class="mmb-subheading-2 mb-0" *ngIf="isEditMode">\n            Edit education\n        </div>\n        <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="modal.dismiss()">\n            <i class="ri-close-line text-black ri-lg ml-n7"></i>\n        </div>\n    </div>\n    <div class="modal-body">\n        <form [formGroup]="editProfileForm">\n            <div class="row mb-2">\n                <div class="col">\n                    <label>School</label>\n                    \x3c!-- <input type="text" class="form-control my-1 shadow-none border" formControlName="school"> --\x3e\n                    <input ngbAutoFocus type="text" formControlName="school" [ngbTypeahead]="currentOrganisationSearch"\n                        [resultFormatter]="resultFormatOrganisationValue"\n                        [inputFormatter]="inputFormatOrganisationValue" class="form-control my-1 shadow-none border">\n                </div>\n            </div>\n            <div class="row mb-2">\n                <div class="col">\n                    <label>Field of study</label>\n                    <input type="text" class="form-control my-1 shadow-none border" formControlName="field">\n                </div>\n            </div>\n            <div class="row mb-2">\n                <div class="col">\n                    <label>Start date</label>\n                    <input type="date" class="form-control my-1 shadow-none border" formControlName="startDate">\n                </div>\n                <div class="col">\n                    <label>End date</label>\n                    <input type="date" class="form-control my-1 shadow-none border" formControlName="endDate">\n                </div>\n            </div>\n            <div class="row mb-2">\n                <div class="col">\n                    <label>Description</label>\n                    <textarea rows="4" class="form-control my-1 shadow-none border"\n                        formControlName="description"></textarea>\n                </div>\n            </div>\n        </form>\n    </div>\n    <div class="modal-footer" *ngIf="!isEditMode">\n        <button type="button" class="mmb-primary-button"\n            [ngClass]="{\'mmb-primary-button--disabled\': editProfileForm.invali
1d}" (click)="createEducation()"\n            data-dismiss="modal">Save\n            changes</button>\n    </div>\n    <div class="modal-footer mmb-justify-content-between" *ngIf="isEditMode">\n        <button type="button" class="mmb-secondary-button" (click)="deleteEducation()"\n            data-dismiss="modal">Delete</button>\n        <button type="button" class="mmb-primary-button"\n            [ngClass]="{\'mmb-primary-button--disabled\': editProfileForm.invalid}" (click)="editEducation()"\n            data-dismiss="modal">Save changes</button>\n    </div>\n</div>',styles:[dt()]})],R);let B=class{constructor(e,s){this.modalService=e,this.profileService=s}ngOnInit(){}addEducation(e){const s=this.modalService.open(R,{centered:!0});s.componentInstance.addSuccess.subscribe(a=>{s.componentInstance.educations=e,this.getProfile()}),s.componentInstance.closed.subscribe(a=>{s.close()})}onEditEducation(e){this.isEditMode&&this.editEducation(e)}editEducation(e){const s=this.modalService.open(R,{centered:!0});s.componentInstance.educations=e,s.componentInstance.isEditMode=!0,s.componentInstance.addSuccess.subscribe(a=>{this.getProfile()}),s.componentInstance.closed.subscribe(a=>{s.close()})}getProfile(){this.profileService.getUserProfile().subscribe(e=>{this.educations=e.education})}getOrganisation(e){return e&&e.organisation?e.organisation.logo?{logo:e.organisation.logo}:e.organisation.website_url?{websiteUrl:e.organisation.websiteUrl}:{name:e.organisation.name}:e&&e.organisation_custom?{name:e.organisation_custom}:{name:""}}getOrgImageUrl(e){if(e){if(e.logo)return e.logo;if(e.avatar)return e.avatar;if(e.websiteUrl)return`${Pe.N.api.logoServer}/${e.websiteUrl}`}}static#e=this.ctorParameters=()=>[{type:b.FF},{type:u.H}];static#t=this.propDecorators={educations:[{type:t.IIB}],isEditMode:[{type:t.IIB}]}};B=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-education-info",template:'<div class="w-100 mt-8 position-relative" *ngIf="educations">\n    <i *ngIf="isEditMode" (click)="addEducation(educations)"\n        class="ri-add-line ri-lg position-absolute text-primary cursor-pointer top-0 right-0"\n        [ngbTooltip]="\'Add education\'"></i>\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        My Education History\n    </div>\n    <div>\n        <ng-container *ngFor="let item of educations; let i = index">\n            <div class="mmb-body-1 my-8 h-auto" fxLayout="row" fxLayoutAlign="start start"\n                *ngIf="getOrganisation(item) as orgItem" fxLayoutGap="12px">\n                <img *ngIf="getOrgImageUrl(orgItem)" class="w-50px h-50px object-fit-contain"\n                    [src]="getOrgImageUrl(orgItem)" />\n                <div *ngIf="!getOrgImageUrl(orgItem)" class="w-50px h-50px bg-grey--light border-radius-xs"></div>\n                <div fxLayout="column" class="w-100">\n                    <div fxLayout="row" fxLayoutAlign="space-between center"\n                        class="w-100 mmb-caption-2 mmb-letter-spacing-md text-uppercase">\n                        {{ item.organisation ? item.organisation.name : item.organisation_custom }}\n                        <div>\n                            <i [ngbTooltip]="\'Edit education\'" class="ri-edit-box-line ri-lg text-primary cursor-pointer" (click)="onEditEducation(item)"></i>\n                        </div>\n                    </div>\n                    <div fxLayout="row" fxLayoutAlign="space-between center"\n                        class="mt-2 mmb-border-bottom--lightest---dash pb-3">\n                        <span class="mmb-caption-2">{{ item.field_of_study }}</span>\n                        <span class="mmb-caption text-uppercase">{{ item.start_date | date }} -\n                            <span *ngIf="item.end_date">{{ item.end_date | date }}</span>\n                            <span *ngIf="!item.end_date">Present</span>\n                        </span>\n                    </div>\n                    <div class="pt-3 w-100 mmb-caption-2">\n                        {{ item.notes }}\n                    </div>\n                </div>\n            </div>\n        </ng-container>\n        <div class="pt-5 pl-4 w-100 mmb-caption" *ngIf="educations.length === 0">\n            No education added yet\n        </div>\n    </div>\n</div>',styles:[at()]})],B);var mt=n(41889),pt=n(86307);var bt=n(49385),gt=n.n(bt);let ce=class{constructor(e,s){this.fb=e,this.modal=s,this.showEditContactContent=!1,this.editContactForm=this.fb.group({email:["",l.kI.required],phone:["",l.kI.required]})}ngOnInit(){}closeModal(){this.modal.dismiss()}static#e=this.ctorParameters=()=>[{type:l.QS},{type:b.Kz}];static#t=this.propDecorators={user:[{type:t.IIB}]}};ce=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-edit-profile-contact-modal",template:'<div class="modal-content">\n    <div class="modal-header">\n        <h4 class="modal-title" id="exampleModalCenterTitle">{{ user.first_name }} {{ user.last_name }}</h4>\n        <button type="button" class="close" (click)="closeModal()">
1\n            <span aria-hidden="true">&times;</span>\n        </button>\n    </div>\n    <h5 class="ml-3 mt-3">Contact info\n        <button type="button" class="btn btn-outline-primary mx-3 icon-button text-primary"\n            *ngIf="!showEditContactContent">\n            <i class="ri-phone-line" (click)="showEditContactContent = true"></i>\n        </button>\n    </h5>\n    <div class="modal-body" *ngIf="!showEditContactContent">\n        <div class="media">\n            <i class="ri-mail-line mr-3"></i>\n            <div class="media-body">\n                <h5 class="mt-0">E-mail</h5>\n                <p>{{ user.contact[0].emails[0].email }}</p>\n            </div>\n        </div>\n        <div class="media">\n            <i class="ri-mail-line mr-3"></i>\n            <div class="media-body">\n                <h5 class="mt-0">Phone</h5>\n                <p>+{{ user.contact[1].phones[0].country_code }} {{ user.contact[1].phones[0].number }}</p>\n            </div>\n        </div>\n    </div>\n    <div class="modal-body" *ngIf="showEditContactContent">\n        <form [formGroup]="editContactForm">\n            <div class="row mb-5">\n                <div class="col">\n                    <label>Email</label>\n                    <input type="text" class="form-control" formControlName="email" [value]="user.contact[0].emails[0].email">\n                </div>\n            </div>\n            <div class="row mb-5">\n                <div class="col">\n                    <label>Phone</label>\n                    <input type="tel" class="form-control" formControlName="phone" [value]="user.contact[1].phones[0].country_code && user.contact[1].phones[0].number">\n                </div>\n            </div>\n            <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="showEditContactContent = false">Save</button>\n        </form>\n    </div>\n</div>',styles:[gt()]})],ce);var _t=n(66605),ft=n.n(_t);var yt=n(98316),xt=n.n(yt);let P=class{constructor(e,s,a,m,p){this.fb=e,this.profileService=s,this.modal=a,this.toastr=m,this.sharedService=p,this.addSuccess=new t.vpe,this.listOfSkills=[]}ngOnInit(){this.addSkillForm=this.fb.group({skill:[this.skills,l.kI.required]}),this._subscribeToCurrentSkillValueChanges()}_subscribeToCurrentSkillValueChanges(){const e=this.addSkillForm.controls.skill;this.currentCountriesSearch=s=>s.pipe((0,y.b)(300),(0,x.x)(),(0,S.w)(a=>this.sharedService.getSkills(e.value)),(0,C.b)(()=>this.isSearching=!1))}resultFormatSkillValue(e){return e.name_ascii?e.name_ascii:e.name}inputFormatSkillValue(e){return e.skill?e.skill.name:e.skill_custom?e.skill_custom:e.name}createSkill(){this.profileService.addSkill(JSON.stringify(this.listOfSkills)).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Added skill!")})}editSkill(){this.profileService.editSkill(this.addSkillForm.controls.skill.value.id,this.skills.uuid).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Updated skill!")})}deleteSkill(){this.profileService.deleteSkill(this.skills.uuid).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Deleted skill!")})}closeModal(){this.modal.dismiss()}addSkillToArray(){let e=this.addSkillForm.controls.skill.value;!e||""===e||(e&&e.id?this.listOfSkills.push({skill:e.id,name:e.name}):this.listOfSkills.push({skill_custom:e}),this.addSkillForm.controls.skill.setValue(""))}removeSkillFromArray(e){const s=this.listOfSkills.indexOf(e);s>-1&&this.listOfSkills.splice(s,1)}static#e=this.ctorParameters=()=>[{type:l.QS},{type:u.H},{type:b.Kz},{type:v._W},{type:g.F}];static#t=this.propDecorators={skills:[{type:t.IIB}],selectedSkill:[{type:t.IIB}],isEditMode:[{type:t.IIB}],addSuccess:[{type:t.r_U}]}};P=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-skill-modal",template:'<div class="modal-content">\n    <div class="modal-header">\n        <h5 class="modal-title" id="addExperienceModalTitle" *ngIf="!isEditMode">Add skill</h5>\n        <h5 class="modal-title" id="addExperienceModalTitle" *ngIf="isEditMode">Edit skill</h5>\n        <button type="button" class="close" (click)="closeModal()">
1\n            <span aria-hidden="true">&times;</span>\n        </button>\n    </div>\n    <div class="modal-body">\n        <form [formGroup]="addSkillForm">\n            <div class="row mb-5">\n                <div class="col">\n                    <label>Title</label>\n                    \x3c!-- <input type="text" class="form-control" formControlName="skill"> --\x3e\n                    <input type="text" formControlName="skill" [ngbTypeahead]="currentCountriesSearch"\n                        [resultFormatter]="resultFormatSkillValue" [inputFormatter]="inputFormatSkillValue"\n                        placeholder="Skill" class="form-control my-1 shadow-none border"\n                        (keydown.enter)="addSkillToArray()">\n                </div>\n            </div>\n            <div class="mmb-display-flex flex-wrap">\n                <div *ngFor="let item of listOfSkills">\n                    <span\n                        class="badge badge-pill badge-primary p-2 m-1 mmb-display-flex mmb-align-items-center mmb-justify-content-between"\n                        *ngIf="item.name">\n                        {{ item.name }}\n                        <i class="ri-close-circle-line icon-font-sm mx-1 link--pointer"\n                            (click)="removeSkillFromArray(item)"></i>\n                    </span>\n                    <span\n                        class="badge badge-pill badge-primary p-2 m-1 mmb-display-flex mmb-align-items-center mmb-justify-content-between"\n                        *ngIf="!item.name">\n                        {{ item.skill_custom }}\n                        <i class="ri-close-circle-line icon-font-sm mx-1 link--pointer"\n                            (click)="removeSkillFromArray(item)"></i>\n                    </span>\n                </div>\n            </div>\n        </form>\n    </div>\n    <div class="modal-footer" *ngIf="!isEditMode">\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="createSkill()" *ngIf="!isEditMode"\n            [disabled]="!addSkillForm.valid">Save</button>\n    </div>\n    <div class="modal-footer mmb-justify-content-between" *ngIf="isEditMode">\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="deleteSkill()">Delete</button>\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="editSkill()"\n            [disabled]="!addSkillForm.valid">Save</button>\n    </div>\n</div>',styles:[xt()]})],P);var St=n(80286),Ct=n.n(St);let L=class{constructor(e,s,a,m,p){this.fb=e,this.profileService=s,this.modal=a,this.toastr=m,this.sharedService=p,this.addSuccess=new t.vpe,this.listOfLanguages=[],this.isSearching=!1}ngOnInit(){this.addLanguageForm=this.fb.group({language:[this.languages,l.kI.required]}),this._subscribeToCurrentLanguageValueChanges()}_subscribeToCurrentLanguageValueChanges(){const e=this.addLanguageForm.controls.language;this.currentCountriesSearch=s=>s.pipe((0,y.b)(300),(0,x.x)(),(0,S.w)(a=>this.sharedService.getLanguages(e.value)),(0,C.b)(()=>this.isSearching=!1))}resultFormatLanguageValue(e){return e.name_ascii?e.name_ascii:e.name}inputFormatLanguageValue(e){return e.language?e.language.name:e.language_custom?e.language_custom:e.name}createLanguage(){this.profileService.addLanguage(JSON.stringify(this.listOfLanguages)).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Added language!")})}editLanguage(){this.profileService.editLanguage(this.addLanguageForm.controls.language.value.id,this.languages.uuid).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Updated language!")})}deleteLanguage(){this.profileService.deleteLanguage(this.languages.uuid).subscribe(e=>{this.addSuccess.emit(),this.modal.dismiss(),this.toastr.success("Deleted language!")})}closeModal(){this.modal.dismiss()}addLanguageToArray(){let e=this.addLanguageForm.controls.language.value;!e||""===e||(e&&e.id?this.listOfLanguages.push({language:e.id,name:e.name}):this.listOfLanguages.push({language_custom:e}),this.addLanguageForm.controls.language.setValue(""))}removeLanguageFromArray(e){const s=this.listOfLanguages.indexOf(e);s>-1&&this.listOfLanguages.splice(s,1)}static#e=this.ctorParameters=()=>[{type:l.QS},{type:u.H},{type:b.Kz},{type:v._W},{type:g.F}];static#t=this.propDecorators={languages:[{type:t.IIB}],selectedLanguage:[{type:t.IIB}],isEditMode:[{type:t.IIB}],addSuccess:[{type:t.r_U}]}};L=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-language-modal",template:'<div class="modal-content">\n    <div class="modal-header">\n        <h5 class="modal-title" id="addExperienceModalTitle" *ngIf="!isEditMode">Add language</h5>\n        <h5 class="modal-title" id="addExperienceModalTitle" *ngIf="isEditMode">Edit language</h5>\n        <button type="button" class="close" (click)="closeModal()">
1\n            <span aria-hidden="true">&times;</span>\n        </button>\n    </div>\n    <div class="modal-body">\n        <form [formGroup]="addLanguageForm">\n            <div class="row mb-5">\n                <div class="col">\n                    <label>Language</label>\n                    \x3c!-- <input type="text" class="form-control" formControlName="language"> --\x3e\n                    <input type="text" formControlName="language" [ngbTypeahead]="currentCountriesSearch"\n                    [resultFormatter]="resultFormatLanguageValue" [inputFormatter]="inputFormatLanguageValue"\n                    placeholder="Language" class="form-control my-1 shadow-none border" (keydown.enter)="addLanguageToArray()">\n                </div>\n            </div>\n            <div class="mmb-display-flex flex-wrap">\n                <div *ngFor="let item of listOfLanguages">\n                    <span class="badge badge-pill badge-primary p-2 m-1 mmb-display-flex mmb-align-items-center mmb-justify-content-between" *ngIf="item.name">{{ item.name }}\n                        <i class="ri-close-circle-line icon-font-sm mx-1 link--pointer"\n                           ></i>\n                    </span>\n                    <span class="badge badge-pill badge-primary p-2 m-1 mmb-display-flex mmb-align-items-center mmb-justify-content-between" *ngIf="!item.name">{{ item.language_custom }}\n                        <i class="ri-close-circle-line icon-font-sm mx-1 link--pointer"\n                       ></i>\n                    </span>\n                </div>\n            </div>\n        </form>\n    </div>\n    <div class="modal-footer" *ngIf="!isEditMode">\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="createLanguage()" [disabled]="!addLanguageForm.valid">Save</button>\n    </div>\n    <div class="modal-footer mmb-justify-content-between" *ngIf="isEditMode">\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="deleteLanguage()">Delete</button>\n        <button type="button" class="btn sApp-btn btn-sm mb-3 ml-2" (click)="editLanguage()" [disabled]="!addLanguageForm.valid">Save</button>\n    </div>\n</div>',styles:[Ct()]})],L);let j=class{constructor(e,s){this.modalService=e,this.profileService=s}ngOnInit(){this.getSkills(),this.getLanguages()}onSkillAdd(){const e=this.modalService.open(P,{centered:!0});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{this.getSkills()})}onSkillEdit(e){const s=this.modalService.open(P,{centered:!0});s.componentInstance.user=this.user,s.componentInstance.isEditMode=!0,s.componentInstance.skills=e,s.componentInstance.addSuccess.subscribe(a=>{this.getSkills()})}onLanguageAdd(){const e=this.modalService.open(L,{centered:!0});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{this.getLanguages()})}onLanguageEdit(e){const s=this.modalService.open(L,{centered:!0});s.componentInstance.user=this.user,s.componentInstance.languages=e,s.componentInstance.isEditMode=!0,s.componentInstance.addSuccess.subscribe(a=>{this.getLanguages()})}getProfile(){this.profileService.getUserProfile().subscribe(e=>{})}getSkills(){this.profileService.getUserSkills().subscribe(e=>{this.skills=e})}getLanguages(){this.profileService.getUserLanguages().subscribe(e=>{this.languages=e})}static#e=this.ctorParameters=()=>[{type:b.FF},{type:u.H}];static#t=this.propDecorators={skills:[{type:t.IIB}],user:[{type:t.IIB}],languages:[{type:t.IIB}],isEditMode:[{type:t.IIB}]}};j=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-skills",template:'<div class="my-2 widget">\n    <div class="single-accordion">\n        <h5 class="row mmb-justify-content-between px-1 collapse show border-bottom">\n            <div class="text-uppercase mmb-display-block p-3" data-toggle="collapse" role="button"\n                i18n="Skills title|Title for skills in user\'s profile page@@userProfileSkillsTitle">Skills</div>\n            <button *ngIf="isEditMode" type="button" class="btn btn-outline-primary icon-button text-primary mx-3">
1\n                <i class="ri-add-circle-line" (click)="onLanguageAdd()"></i>\n            </button>\n        </h5>\n        <div class="mmb-display-flex flex-wrap">\n        <div class="collapse show p-2 mmb-justify-content-between" *ngFor="let skill of skills">\n            <span class="badge badge-pill badge-primary p-2 mmb-display-flex mmb-align-items-center link--pointer" (click)="onSkillEdit(skill)">{{ skill.skill.name }}\n            </span>\n        </div>\n        <div class="p-3" *ngIf="skills && skills.length === 0">\n            No skills added yet\n        </div>\n    </div>\n    </div>\n</div>\n        <div class="my-2 widget">\n            <div class="single-accordion">\n        <h5 class="row mmb-justify-content-between px-1 collapse show border-bottom">\n            <div class="text-uppercase mmb-display-block p-3" data-toggle="collapse" role="button"\n                i18n="Languages title|Title for languages in user\'s profile page@@userProfileLanguagesTitle">Languages</div>\n            <button *ngIf="isEditMode" type="button" class="btn btn-outline-primary icon-button text-primary mx-3">\n                <i class="ri-add-circle-line" (click)="onLanguageAdd()"></i>\n            </button>\n        </h5>\n\n        <div class="mmb-display-flex flex-wrap">\n            <div class="collapse show p-2 mmb-justify-content-between" *ngFor="let language of languages">\n                <span class="badge badge-pill badge-primary p-2 mmb-display-flex mmb-align-items-center link--pointer" (click)="onLanguageEdit(language)">{{ language.language.name }}\n                </span>\n            </div>\n            <div class="p-3" *ngIf="languages && languages.length === 0">\n                No languages added yet\n            </div>\n        </div>\n    </div>\n</div>',styles:[ft()]})],j);var wt=n(23190),Rt=n.n(wt),Le=n(50694);let de=class{constructor(e,s,a){this.docsUploadService=e,this.profileService=s,this.toastr=a,this.isEditMode=!0,this.isImageUploading=!1,this.isCoverLetterUploading=!1,this.docsUploadService.status=D.q.error}ngOnInit(){}onImageChange(e){if(this.isImageUploading=!0,e&&e.currentTarget&&e.currentTarget.files){let s=e.currentTarget.files[0];this.imageFileName=s.name,this.profileService.setDocsUploadStepData({user_picture:s.name}),this.docsUploadService.getPresignedUrl(s,1,Le.To.USER_PICTURE).subscribe(a=>{this.imageDownloadUrl=a.presigned_url,this.imagePresignedName=a.file_name,this.docsUploadService.uploadFile(a.presigned_url,s).subscribe(m=>{this.docsUploadService.status=D.q.done,this.profileService.updateUserProfileImage(this.imagePresignedName).subscribe(()=>{this.profileService.getUserProfile().subscribe(p=>{this.isImageUploading=!1,localStorage.setItem("user",JSON.stringify(p)),this.profileService.userProfile$.next(p),this.profileService.user.profile_image=p.profile_image,this.user.profile_image=p.profile_image})})})},a=>{this.toastr.error("Unable to upload profile picture")})}}static#e=this.ctorParameters=()=>[{type:Le.HA},{type:u.H},{type:v._W}];static#t=this.propDecorators={user:[{type:t.IIB}],id:[{type:t.IIB}],isEditMode:[{type:t.IIB}]}};de=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-image-upload",template:'<label class="p-absolute link--pointer mmb-avatar-uploader" [for]="id">\n    <div class="p-relative">\n        <img class="mmb-rounded-circle lg" [src]="user?.profile_image" alt="User image"\n            onerror="this.src=\'assets/placeholders/not-found.png\';">\n\n        <img *ngIf="isImageUploading && isEditMode" class="p-absolute w-50 mmb-left-20px mmb-top-20px"\n            src="assets/images/loader.gif" />\n    </div>\n</label>\n\n<input class="mmb-display-none" [id]="id" type=\'file\' (change)="onImageChange($event)" [disabled]="!isEditMode">',styles:[Rt()]})],de);var Pt=n(65949);var At=n(83599),Et=n.n(At);let me=class{constructor(e){this.sharedService=e}ngOnInit(){this.sharedService.getSecondaryIndustries().subscribe(e=>{this.secondaryIndustries=e})}getIndustryName(e){if(!this.secondaryIndustries)return;let s=this.secondaryIndustries.find(a=>a.id===e);return s?s.name:"Information not available"}static#e=this.ctorParameters=()=>[{type:g.F}];static#t=this.propDecorators={user:[{type:t.IIB}]}};me=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-professional-summary",template:'<div *ngIf="user">\n    <div class="mmb-emphasize-left-primarymmb-caption-2-medium mb-3">\n        Professional summary\n    </div>\n\n    <div class="bg-white p-8 border-radius-sm">\n        <div class="mb-4 pt-2 list-style-colored--light">\n            <div fxLayout="row" fxLayoutAlign="space-between start">\n                <div class="text-dark-900 medium mmb-caption-2 text-dark-300">Current employer</div>\n                <div class="text-right mt-n2">\n                    <i [ngbTooltip]="\'Coming soon\'" class="ri-more-2-fill ri-lg"></i>\n                </div>\n            </div>\n            <div class="mmb-border-bottom py-2mmb-caption-2">Information not available</div>\n        </div>\n\n        <div class="mb-4 pt-2 list-style-colored--light">\n            <div class="text-dark-900 medium mmb-caption-2 text-dark-300">Level / Role</div>\n            <div class="mmb-border-bottom py-2mmb-caption-2"\n                *ngIf="!user.roles || user.roles.length === 0">Information not available\n            </div>\n            <ul *ngIf="user.roles && user.roles.length > 0" class="pt-2">\n                <li class="mmb-caption-2" *ngFor="let role of user.roles">{{ role.role?.name }}</li>\n            </ul>\n        </div>\n\n        <div class="mb-4 pt-2 list-style-colored--light">\n            <div class="text-dark-900 medium mmb-caption-2 text-dark-300">Key skills / attributes</div>\n            <div class="mmb-border-bottom py-2 mmb-subheading-2"\n                *ngIf="!user.skills || user.skills.length === 0">Information not available\n            </div>\n            <ul *ngIf="user.skills && user.skills.length > 0" class="pt-2">\n                <li class="mmb-caption-2" *ngFor="let skill of user.skills">{{ skill.skill?.name }}</li>\n            </ul>\n        </div>\n\n        <div class="mb-4 pt-2">\n            <div class="text-dark-900 medium mmb-caption-2 text-dark-300">Industry</div>\n            <div class="mmb-border-bottom py-2mmb-caption-2">{{\n                getIndustryName(user.credentials.industry_secondary) }}</div>\n        </div>\n\n        <div class="mb-4 pt-2">\n            <div class="text-dark-900 medium mmb-caption-2 text-dark-300">Education</div>\n            <div class="mmb-border-bottom py-2mmb-caption-2"\n                *ngIf="!user.education || user.education.length === 0">Information not available\n            </div>\n            \x3c!-- <ul *ngIf="user.education && user.education.length > 0">\n                <li class="mmb-subheading-2" *ngFor="let education of user.education">{{ education }}\n                </li>\n            </ul> --\x3e\n            <div class="mmb-border-bottom py-2mmb-caption-2">Information not available\n            </div>\n        </div>\n\n        <div class="pt-2">\n            <div class="text-dark-900 medium mmb-caption-2 text-dark-300">Experience</div>\n            <div class="mmb-border-bottom py-2mmb-caption-2"\n                *ngIf="!user.experiences || user.experiences.length === 0">Information not available\n            </div>\n            \x3c!-- <ul *ngIf="user.experiences && user.experiences.length > 0">\n                <li class="mmb-subheading-2" *ngFor="let experience of user.experiences">{{ experience | json\n                    }}</li>\n            </ul> --\x3e\n            <div class="py-2mmb-caption-2">Information not available\n            </div>\n        </div>\n    </div>\n</div>',styles:[Et()]})],me);var kt=n(82017),Dt=n.n(kt);let pe=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={user:[{type:t.IIB}]}};pe=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-links-info-panel",template:'<div class="bg-white p-8 mt-3 border-radius-sm list-style-colored--light" *ngIf="user.contact && user.contact.websites  && user.contact.websites.length > 0">\n    <div class="mmb-body-1">{{user.first_name}}\'s links</div>\n\n    <ul>\n        <li *ngFor="let website of  user.contact.websites">{{ website }}</li>\n    </ul>\n</div>',styles:[Dt()]})],pe);var Tt=n(11557),Ut=n.n(Tt);let ue=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={user:[{type:t.IIB}]}};ue=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-attachments-info-panel",template:'<div class="bg-white p-8 mt-3 border-radius-sm" *ngIf="user.cvs && user.cvs.length > 0">\n    <div fxLayout="row" fxLayoutAlign="space-between center">\n        <div class="mmb-body-1">{{user.first_name}}\'s attachments</div>\n        <div>\n            <i class="ri-question-line ri-lg text-primary" [ngbTooltip]="\'Coming soon\'"></i>\n        </div>\n    </div>\n\n    <div class="list-style-colored--light">\n        <div class="mt-3" fxLayout="row" fxLayoutAlign="start center" fxLayoutGap="8px" *ngFor="let item of user.cvs">\n            <i class="text-dark-900 ri-file-line ri-md"></i>
1\n            <a class="text-primary cursor-pointer mmb-caption-2" target="_blank" [href]="item.cv">Uploaded CV</a>\n        </div>\n    </div>\n</div>',styles:[Ut()]})],ue);var Bt=n(70364),jt=n.n(Bt);let be=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={user:[{type:t.IIB}]}};be=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-social-info-panel",template:'<div class="bg-white p-8 mt-3 border-radius-sm" *ngIf="user.cvs && user.cvs.length > 0">\n    <div>\n        <div class="mmb-body-1">Social Media</div>\n    </div>\n\n    <div class="mt-3" fxLayout="row" fxLayoutAlign="space-between center">\n        <a fxLayout="row" fxLayoutAlign="center center" class="mmb-btn mmb-btn-primary" fxFlex\n            [ngClass]="{\'mmb-primary-button--disabled\': !user.linkedin || !user.linkedin.public_profile_url, \'bg-linkedin-primary text-white\': user.linkedin?.public_profile_url}"\n            target="_blank" [href]="user.linkedin?.public_profile_url"\n            [attr.disabled]="!user.linkedin.public_profile_url? \'\': null">\n            <i class="ri-linkedin-box-fill ri-lg"></i>\n            <span class="pl-1">Linkedin</span>\n        </a>\n        <a fxLayout="row" fxLayoutAlign="center center" class="mmb-btn mmb-btn-primary ml-2"\n            [ngClass]="{\'mmb-primary-button--disabled\': !user.twitter || !user.twitter.public_profile_url, \'bg-twitter-primary text-white\': user.twitter?.public_profile_url}"\n            fxFlex target="_blank" [href]="user.twitter?.public_profile_url"\n            [attr.disabled]="!user.twitter || !user.twitter.public_profile_url? \'\': null">\n            <i class="ri-twitter-fill ri-lg"></i>\n            <span class="pl-1">Twitter</span>\n        </a>\n    </div>\n</div>',styles:[jt()]})],be);var Gt=n(13012),Vt=n(80599);var Xt=n(54446),$t=n.n(Xt);let ge=class{constructor(){this.nationalities=[{name:"American",code:"us",id:1,value:1},{name:"Jamaican",code:"jm",id:2,value:2}],this.locations=[{city:"Paris",country:"France",code:"fr"},{city:"Maiudguri",country:"Nigeria",code:"ng"},{city:"London",country:"United Kingdom",code:"gb"}]}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={languages:[{type:t.IIB}],nationalities:[{type:t.IIB}],locations:[{type:t.IIB}]}};ge=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-languages-locations-info",template:'<div class="bg-white border-radius-sm mt-4 p-4">\n    <div fxLayout="row" fxLayoutAlign="start start">\n        <div fxFlex="300px">\n            <div class="mmb-body-1 mb-3">Nationality</div>\n            <div *ngFor="let nationality of nationalities" class="mb-2">\n                <div *ngIf="nationality.code" fxFlex="25px" class="fp h-20px" [ngClass]="nationality.code">\n                </div>\n                <div class="mmb-caption-2 ml-3">{{ nationality.name }}</div>   \n            </div>\n        </div>\n        <div fxFlex>\n            <div class="mmb-body-1 mb-3">Locations</div>\n\n            <div *ngFor="let location of locations" class="mb-2">\n                <div *ngIf="location.code" fxFlex="25px" class="fp h-20px" [ngClass]="location.code">\n                </div>\n                <div class="mmb-caption-2 ml-3">\n                    <span>{{ location.city }}</span>\n                    <span *ngIf="location.city">, </span> \n                    <span>{{ location.country }}</span>\n                </div>\n            </div>\n        </div>\n        <div>\n            <i class="ri-more-2-fill ri-lg" [ngbTooltip]="\'Coming soon\'"></i>\n        </div>\n    </div>\n    <div class="mmb-body-1">Spoken languages</div>\n    <div class="mmb-display-flex flex-wrap mt-4">\n        <div class="mmb-justify-content-between" *ngFor="let language of languages">\n            <span class="mmb-caption-2 px-3 py-1 mmb-border-badge border-radius-lg mr-2">{{\n                language.language.name }}\n            </span>\n        </div>\n        <div class="p-3" *ngIf="languages && languages.length === 0">\n            No languages added yet\n        </div>\n    </div>\n</div>',styles:[$t()]})],ge);var Qt=n(56617),Wt=n.n(Qt);let ve=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={supportItems:[{type:t.IIB}],helpItems:[{type:t.IIB}]}};ve=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-support-info",template:'<div class="bg-white border-radius-sm mt-4 p-4">\n    <div fxLayout="row" fxLayoutAlign="start start" fxLayoutGap="50px">\n        <div fxFlex>\n            <div class="mmb-body-1 mb-3">I\'d like support with</div>\n\n            <div *ngFor="let item of supportItems">\n                <div class="py-3 px-3 bg-light mb-2 border-radius-sm" fxLayout="row" fxLayoutAlign="space-between start">\n                    <div class="mmb-caption-2">\n                        {{ item.request }}\n                    </div>\n                    <i class="ri-more-2-fill ri-lg" [ngbTooltip]="\'Coming soon\'"></i>\n                </div>\n            </div>\n        </div>\n        <div fxFlex>\n            <div class="mmb-body-1 mb-3">I can help with</div>\n            <div *ngFor="let item of helpItems">\n                <div class="py-3 px-3 bg-light mb-2 border-radius-sm" fxLayout="row" fxLayoutAlign="space-between start">\n                    <div class="mmb-caption-2">\n                        {{ item.offer }}\n                    </div>\n                    <i class="ri-more-2-fill ri-lg" [ngbTooltip]="\'Coming soon\'"></i>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>',styles:[Wt()]})],ve);var Yt=n(71376),Jt=n.n(Yt);let _e=class{constructor(){this.countryExperiences=[{country:"Austria",code:"au",title:"Remote professional"},{country:"Germany",code:"gr",title:"Lived"},{country:"Jamaica",code:"jm",title:"Lived"}],this.heritages=[{country:"Jamaica",code:"jm"}]}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={countryExperiences:[{type:t.IIB}],heritages:[{type:t.IIB}]}};_e=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-experience-heritage",template:'<div class="bg-white border-radius-sm mt-4 p-4">\n    <div fxLayout="row" fxLayoutAlign="start start">\n        <div fxFlex>\n            <div class="mmb-body-1 mb-3">Country Experience</div>\n            <div *ngFor="let experience of countryExperiences" class="mb-2">\n                <div *ngIf="experience.code" fxFlex="25px" class="fp h-20px" [ngClass]="experience.code">\n                </div>\n                <div class="mmb-caption-2 ml-3">\n                    {{ experience.country }} - {{ experience.title }}\n                </div>\n            </div>\n        </div>\n        <div fxFlex>\n            <div class="mmb-body-1 mb-3">Country heritage</div>\n\n            <div *ngFor="let location of heritages" class="mb-2">\n                <div *ngIf="location.code" fxFlex="25px" class="fp h-20px" [ngClass]="location.code">\n                </div>\n                <div class="mmb-caption-2 ml-3">
1\n                    <span>{{ location.city }}</span>\n                    <span *ngIf="location.city">, </span> \n                    <span>{{ location.country }}</span>\n                </div>\n            </div>\n        </div>\n        <div>\n            <i class="ri-more-2-fill ri-lg" [ngbTooltip]="\'Coming soon\'"></i>\n        </div>\n    </div>\n</div>',styles:[Jt()]})],_e);var qt=n(59402),en=n.n(qt);let fe=class{constructor(){this.lookingForItems=[{name:"Co-founder / business partner"},{name:"Investment / funding"},{name:"Mentorship"}],this.interestItems=[{name:"Finance"},{name:"Sport"},{name:"Recreation"}],this.interestedInCountriesItems=[{name:"Brazil"},{name:"Egypt"},{name:"USA"}]}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={summary:[{type:t.IIB}]}};fe=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-user-life-goal-info",template:'<div class="bg-white border-radius-sm mt-4">\n    <div class="bg-secondary--light w-100 p-10 border-radius-top-left-sm border-radius-top-right-sm">\n        <div class="mmb-title mb-3">Life Goal</div>\n        <div class="mmb-body-1">\n            {{ summary }}\n        </div>\n    </div>\n    <div class="w-100 p-10">\n        <div class="mt-3">\n            <div class="mmb-emphasize-left-primarymmb-caption-2-medium text-transform-none mb-3">I\'m looking for</div>\n    \n            <div class="mmb-display-flex flex-wrap">\n                <div class="mmb-justify-content-between mr-2" *ngFor="let item of lookingForItems">\n                    <span\n                        class="mmb-caption-2 px-3 py-1 mmb-border-badge border-radius-lg mr-2">{{\n                        item.name }}\n                    </span>\n                </div>\n            </div>\n        </div>\n        <div class="mt-4">\n            <div class="mmb-emphasize-left-primarymmb-caption-2-medium text-transform-none mb-3">My interests</div>\n    \n            <div class="mmb-display-flex flex-wrap">\n                <div class="mmb-justify-content-between mr-2" *ngFor="let item of interestItems">\n                    <span\n                        class="mmb-caption-2 px-3 py-1 mmb-border-badge border-radius-lg mr-2">{{\n                        item.name }}\n                    </span>\n                </div>\n            </div>\n        </div>\n        <div class="mt-4">\n            <div class="mmb-emphasize-left-primarymmb-caption-2-medium text-transform-none mb-3">I\'m interested in countries</div>\n    \n            <div class="mmb-display-flex flex-wrap">\n                <div class="mmb-justify-content-between mr-2" *ngFor="let item of interestedInCountriesItems">\n                    <span\n                        class="mmb-caption-2 px-3 py-1 mmb-border-badge border-radius-lg mr-2">{{\n                        item.name }}\n                    </span>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>',styles:[en()]})],fe);var nn=n(93743),sn=n.n(nn),_=n(47366),on=n(794);let he=class{constructor(e,s,a,m){this.sharedService=e,this.userOnboardingService=s,this.profileService=a,this.uploadProfilePicService=m}ngOnInit(){this.sharedService.referenceTypes$.subscribe(e=>{e&&(this.seniorities=e.type_reference_user_profile_seniority)}),this._getPersonaOptions(),this._getUserCountryConnections(),this._getUserIndustries()}onFileSelect(e){const s=e.currentTarget.files[0];this.uploadProfilePicService.onFileSelect(s,this.user)}openExternalLink(e){-1===e.indexOf("https://")&&(e=`https://${e}`),window.open(e,"_blank")}getSeniority(e){return this._findValueById(this.seniorities,e)}getPersona(e){return this._findItemById(this.personas,e)}getCurrentLocation(){let e=this.user.country_current?this.user.country_current.name:"-";return this.user.city_current?e=`${this.user.city_current.name_ascii}, ${e}`:this.user.city_custom_current&&(e=`${this.user.city_custom_current}, ${e}`),e}_getUserIndustries(){this.userOnboardingService.getUserPrimaryIndustry().subscribe(e=>{this.selectedIndustries=e})}_getUserCountryConnections(){this.profileService.getUserInternational().subscribe(e=>{this._mapCountriesConnections(e)})}_mapCountriesConnections(e){let s=[];for(let a of e)s[a.country.id]||(s[a.country.id]={country:a.country,uuid:a.uuid,country_statuses:[]}),a.country_status.recordUuid=a.uuid,s[a.country.id].country_statuses.push(a.country_status);this.userCountryConnections=s}_getPersonaOptions(){this.userOnboardingService.getUserProfileReferenceType().subscribe(e=>{this.personas=e})}_findItemById(e,s){return e?e.find(a=>a.value===s):null}_findValueById(e,s){let a=e?e.find(m=>m.value===s):null;return a?a.name:null}static#e=this.ctorParameters=()=>[{type:g.F},{type:_.m},{type:u.H},{type:on.i}];static#t=this.propDecorators={user:[{type:t.IIB}]}};he=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-profile-side-bar",template:'<div class="w-100" fxLayout="column" fxLayoutAlign="start center">\n    <img *ngIf="user.profile_image" [src]="user.profile_image" onerror="this.src=\'assets/images/avatars/
1avatar-not-found.svg\'" alt="" class="w-160px h-160px object-fit-cover border-radius-lg" />\n    <input class="d-none" accept="image/png, image/gif, image/jpeg" type="file" (change)="onFileSelect($event)"\n    #profilePicInput>\n<div fxLayout="column nowrap" fxLayoutAlign="center center" (click)="profilePicInput.click()"\n    class="profile-pic-upload-overlay py-4 position-absolute z-index-100 w-160px h-160px border-radius-lg">\n    <i class="mmb-body-2 ri-upload-cloud-line text-white"></i>\n    <div class="mmb-caption text-white pb-2">Upload</div>\n</div>\n    <div *ngIf="!user.profile_image" fxLayout="row" fxLayoutAlign="center center"\n        class="border-radius-lg bg-secondary-light w-160px h-160px">\n        <i class="ri-4x ri-user-6-line text-primary font-weight-100 "></i>\n    </div>\n\n    <div class="mmb-subheading-1 text-dark mt-3">\n        {{ user.first_name }} {{ user.last_name }}\n    </div>\n    <div class="mmb-caption mt-2">\n        {{ user.credentials.professional_title }}\n    </div>\n    <button *ngIf="isOtherProfile" class="mmb-btn mmb-btn-primary w-100 mmb-caption mt-7"\n        [ngClass]="{\'mmb-caption--disabled\': true}">Follow</button>\n    <div class="p-2 w-100 mmb-border border-radius-xs mmb-caption mt-8 text-center">\n        <strong>{{ getSeniority(user.credentials.seniority_user) }}</strong> with <strong>{{ user.credentials.experience_years_user }}</strong> years of\n        experience\n    </div>\n</div>\n<div class="w-50 mx-auto mt-5" fxLayoutGap="12px" fxLayout="row" fxLayoutAlign="start space-between">\n    <div *ngIf="getPersona(user.credentials.candidate_type_user) as selectedPersona"\n        class="position-relative border-radius-sm mmb-overflow-hidden w-100">\n        <img class="h-100px w-100 object-fit-cover" [src]="selectedPersona.avatar">\n        <div\n            class="position-absolute z-index-100 mmb-caption text-white bottom-0 bg-dark--overlay absolute-center w-100 text-center border-radius-sm w-75p">\n            {{ selectedPersona.name }}</div>\n    </div>\n</div>\n<div *ngIf="user.country_current" class="text-center" fxLayout="row" fxLayoutAlign="center center"\n    class="w-100mmb-caption-medium p-7 mmb-border border-radius-xs mt-6">\n    <img [src]="user.country_current.avatar" class="w-24px" /> \n    <span class="pl-2 mmb-caption">{{ getCurrentLocation() }}</span>\n</div>\n\n<div class="w-100mmb-caption-medium py-7 px-3 mmb-border border-radius-xs mt-4">\n    <div class="mmb-caption text-uppercase mb-3 text-center">Global Connections</div>\n    <div class="text-center">\n        <ng-container *ngFor="let connection of userCountryConnections;let i=index">\n            <span *ngIf="connection && connection.country" class="mmb-caption text-center">\n                {{ connection.country.name }}<span\n                    *ngIf="userCountryConnections.length > 1 && i > 1 && i < userCountryConnections.length - 1">,\n                </span>\n            </span>\n        </ng-container>\n    </div>\n</div>\n<div class="w-100 mt-6" fxLayout="column">\n    <button class="mmb-btn mmb-btn-secondary mb-3"\n        [ngClass]="{\'mmb-caption--disabled\': (!user.linkedin || !user.linkedin.public_profile_url) }" fxLayout="row"\n        fxLayoutAlign="center center" (click)="openExternalLink(user.linkedin.public_profile_url)">\n        <i class="ri-linkedin-box-fill ri-lg mr-2"></i> LinkedIn\n    </button>\n    <button class="mmb-btn mmb-btn-secondary mb-3" (click)="openExternalLink(user.twitter.public_profile_url)"\n        [ngClass]="{\'mmb-caption--disabled\': (!user.twitter || !user.twitter.public_profile_url) }" fxLayout="row"\n        fxLayoutAlign="center center">\n        <i class="ri-twitter-fill ri-lg mr-2"></i> Twitter\n    </button>\n    <button class="mmb-btn mmb-btn-secondary" (click)="openExternalLink(user.cvs[0].cv)"\n        [ngClass]="{\'mmb-caption--disabled\': (!user.cvs || user.cvs.length === 0)}" fxLayout="row"\n        fxLayoutAlign="center center">\n        <i class="ri-file-pdf-line ri-lg mr-2"></i> CV\n    </button>\n</div>\n<div class="w-100 mt-6" fxLayout="column">\n    <div fxLayout="column" fxLayoutAlign="start center"\n        class="mb-4 mmb-caption text-uppercase">\n        Interested in industries\n    </div>\n    <div fxLayout="row wrap" fxLayoutGap="8px" fxLayoutAlign="center center">
1\n        <span *ngFor="let item of selectedIndustries"\n            class="mmb-border border-radius-lg p-2 mmb-caption-2 mb-2">{{ item.industry.name }}</span>\n    </div>\n</div>\n<div class="w-100 mt-6" fxLayout="column">\n    <div fxLayout="column" fxLayoutAlign="start center"\n        class="mb-4 mmb-caption text-uppercase">\n        care about causes\n    </div>\n    <div class="w-100" fxLayout="row wrap" fxLayoutGap="8px" fxLayoutAlign="center center" fxLayoutGap="8px">\n        <div class="position-relative border-radius-sm mmb-overflow-hidden w-80px h-80px mb-2"\n            *ngFor="let item of user.causes">\n            <img class="h-80px w-80px object-fit-cover" [src]="item.cause.avatar">\n        </div>\n    </div>\n</div>',styles:[sn()]})],he);var an=n(93968),ln=n.n(an),Ae=n(39080);var dn=n(66181),mn=n.n(dn);let G=class{set interest(e){this.form.controls.interestedAbout.setValue(e)}constructor(e){this.fb=e,this.addSuccess=new t.vpe,this.closed=new t.vpe,this.form=this.fb.group({interestedAbout:["",l.kI.required]})}ngOnInit(){}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:l.QS}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],interest:[{type:t.IIB}],user:[{type:t.IIB}]}};G=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-interest-about-africa-modal",template:'<div class="w-100 bg-darkest-900">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <mmb-web-app-user-onboarding-user-interest-info [user]="user" [isOpenedInModal]="true" [form]="form"\n        (saveDone)="addSuccess.emit($event)">\n    </mmb-web-app-user-onboarding-user-interest-info>\n</div>',styles:[mn()]})],G);var un=n(55885),bn=n.n(un);let V=class{constructor(){this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],user:[{type:t.IIB}]}};V=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-looking-for-items-modal",template:'<div class="w-100 bg-darkest-900" ngbAutofocus>\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <mmb-web-app-user-onboarding-step-how-can-we-help [isOpenedInModal]="true" [form]="{}" [user]="user" (saveDone)="addSuccess.emit($event)">\n    </mmb-web-app-user-onboarding-step-how-can-we-help>\n</div>',styles:[bn()]})],V);var vn=n(33399),_n=n.n(vn);let z=class{constructor(e,s){this.modal=e,this.profileService=s,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.profileService.getUserProfile().subscribe()}addLifeGoal(){null==this.lifeGoal||""===(this.lifeGoal??"").trim()||this.profileService.updateUserCredentials({life_goal:this.lifeGoal}).subscribe(e=>{this.modal.close()})}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:b.Kz},{type:u.H}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],lifeGoal:[{type:t.IIB}],isEditMode:[{type:t.IIB}]}};z=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-life-goal-modal",template:'<div class="w-100 bg-darkest-900">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <div\n        class="text-center py-3 mb-12 bg-darkest-700 mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <h5 ngClass.gt-sm="mmb-title" ngClass.lt-md="mmb-caption-2"\n                class="mb-2 text-black text-white">Life Goal\n            </h5>\n        </div>\n    </div>\n\n    <div class="mt-2 mb-2 text-center mmb-caption-2 text-white px-6">\n        What is your Life Goal?\n    </div>\n\n    <div ngClass.gt-sm="p-5" ngClass.lt-md="p-3" class="mx-auto mb-20 w-100 px-12" ngClass.lt-md="w-100 px-6">\n        <div class="mmb-form-control-onboarding mb-6" fxLayout="column">\n            <textarea [(ngModel)]="lifeGoal" placeholder="Enter your Life Goal" rows="3"\n                class="mmb-form-control text-area py-2 pl-2 w-100"></textarea>\n        </div>\n\n    </div>\n\n    <div\n        class="pt-12 pb-12 bg-darkest-700 mmb-onboarding-footer flex-1 text-center mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <button [ngClass]="{\'mmb-caption-2--disabled\': !lifeGoal || lifeGoal.trim() === \'\'}
1"\n                (click)="addLifeGoal()" class="mmb-btn mmb-btn-primary w-300px">Save</button>\n        </div>\n    </div>\n</div>',styles:[_n()]})],z);var hn=n(63714),yn=n.n(hn);let X=class{constructor(e,s){this.modal=e,this.profileService=s,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.profileService.getUserProfile().subscribe()}addMission(){null==this.mission||""===(this.mission??"").trim()||this.profileService.updateUserCredentials({mission:this.mission}).subscribe(e=>{this.modal.close()})}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:b.Kz},{type:u.H}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],mission:[{type:t.IIB}],isEditMode:[{type:t.IIB}]}};X=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-mission-modal",template:'<div class="w-100 bg-darkest-900">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <div\n        class="text-center py-3 mb-12 bg-darkest-700 mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <h5 ngClass.gt-sm="mmb-title" ngClass.lt-md="mmb-caption-2"\n                class="mb-2 text-black text-white">Mission\n            </h5>\n        </div>\n    </div>\n\n    <div class="mt-2 mb-2 text-center mmb-caption-2 text-white px-6">\n        Describe in a few sentences about your mission\n    </div>\n\n    <div ngClass.gt-sm="p-5" ngClass.lt-md="p-3" class="mx-auto mb-20 w-100 px-12" ngClass.lt-md="w-100 px-6">\n        <div class="mmb-form-control-onboarding mb-6" fxLayout="column">\n            <textarea [(ngModel)]="mission" placeholder="Enter mission" rows="3"\n                class="mmb-form-control text-area py-2 pl-2 w-100"></textarea>\n        </div>\n\n    </div>\n\n    <div\n        class="pt-12 pb-12 bg-darkest-700 mmb-onboarding-footer flex-1 text-center mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <button [ngClass]="{\'mmb-caption-2--disabled\': !mission || mission.trim() === \'\'}"\n                (click)="addMission()" class="mmb-btn mmb-btn-primary w-300px">Save</button>\n        </div>\n    </div>\n</div>',styles:[yn()]})],X);var In=n(50008),Sn=n.n(In);let $=class{constructor(e,s){this.fb=e,this.userOnboardingService=s,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.form=this.fb.group({userNeedsSupportOn:[this.userRequests&&this.userRequests.length>0?this.userRequests:null,[l.kI.required,l.kI.maxLength(60)]],userNeedsHelpOn:[this.userOffers&&this.userOffers.length>0?this.userOffers:null,[l.kI.required,l.kI.maxLength(60)]]})}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:l.QS},{type:_.m}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],user:[{type:t.IIB}],userRequests:[{type:t.IIB}],userOffers:[{type:t.IIB}]}};$=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-need-support-with-items-modal",template:'<div class="w-100 bg-darkest-900">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <mmb-web-app-user-onboarding-step-user-support [isOpenedInModal]="true" [form]="form" (saveDone)="addSuccess.emit($event);">\n    </mmb-web-app-user-onboarding-step-user-support>\n</div>',styles:[Sn()]})],$);let H=class{constructor(e,s){this.userOnboardingService=e,this.modalService=s,this.lookingFor={},this.scoringLevels=Ae.l}ngOnInit(){this._getUserInterests(),this._getUserRequests(),this._getUserOffers()}addLifeGoal(e){const s=this.modalService.open(z,{centered:!0});s.componentInstance.lifeGoal=e,s.componentInstance.isEditMode=!!e,s.componentInstance.addSuccess.subscribe(a=>{s.close()}),s.componentInstance.closed.subscribe(a=>{s.close()})}addMission(e){const s=this.modalService.open(X,{centered:!0});s.componentInstance.mission=e,s.componentInstance.isEditMode=!!e,s.componentInstance.addSuccess.subscribe(a=>{s.close()}),s.componentInstance.closed.subscribe(a=>{s.close()})}addInterestAboutAfrica(e){const s=this.modalService.open(G,{centered:!0});s.componentInstance.interest=e,s.componentInstance.user=this.user,s.componentInstance.addSuccess.subscribe(a=>{s.close(),this.user.credentials.interest_africa_general=a}),s.componentInstance.closed.subscribe(a=>{s.close()})}openNeedSupportOfferHelpModal(){const e=this.modalService.open($,{centered:!0,size:"lg"});e.componentInstance.user=this.user,e.componentInstance.userRequests=this.userRequests,e.componentInstance.userOffers=this.userOffers,e.componentInstance.addSuccess.subscribe(s=>{e.close(),this.userOffers=s.userOffers,this.userRequests=s.userRequests}),e.componentInstance.closed.subscribe(s=>{e.close()})}openLookingForItemsModal(){const e=this.modalService.open(V,{centered:!0,size:"lg"});e.componentInstance.user=this.user,e.componentInstance.userRequests=this.userRequests,e.componentInstance.userOffers=this.userOffers,e.componentInstance.addSuccess.subscribe(s=>{e.close(),this.lookingFor=s.itemsSelection,this.lookingFor.service=s.itemsSelection.support,this.user.credentials.interest_opportunity_specific=s.itemsSelection.other}),e.componentInstance.closed.subscribe(s=>{e.close()})}getItemScore(e){return this.scoringLevels.length-e+1}
1_getUserRequests(){this.userOnboardingService.getUserRequest().subscribe(e=>{this.userRequests=e})}_getUserOffers(){this.userOnboardingService.getUserOffer().subscribe(e=>{this.userOffers=e})}_getUserInterests(){this.userOnboardingService.getOpportunityInterest(!0).subscribe(e=>{this.lookingFor.opportunities=e}),this.userOnboardingService.getPeopleInterest(!0).subscribe(e=>{this.lookingFor.people=e}),this.userOnboardingService.getServiceInterest(!0).subscribe(e=>{this.lookingFor.service=e})}static#e=this.ctorParameters=()=>[{type:_.m},{type:b.FF}];static#t=this.propDecorators={user:[{type:t.IIB}]}};H=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-step-hello",template:'<div class="w-100 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="addLifeGoal(user.credentials.life_goal)" [value]="user.credentials.life_goal">\n    </mmb-web-app-edit-profile-action-panel>\n    <mmb-web-app-step-profile-summary fxHide.gt-sm [user]="user"></mmb-web-app-step-profile-summary>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        My Life Goal\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4">\n        {{ user.credentials.life_goal ? user.credentials.life_goal : \'Add My Life Goal\' }}\n    </div>\n</div>\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="addMission(user.credentials.mission)" [value]="user.credentials.mission">\n    </mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        My Mission\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4">\n        {{ user.credentials.mission ? user.credentials.mission : \'My Mission\' }}\n    </div>\n</div>\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="addInterestAboutAfrica(user.credentials.interest_africa_general)"\n        [value]="user.credentials.interest_africa_general"></mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        My perspectives on Africa & Movemeback\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4">\n        {{ user.credentials.interest_africa_general ? user.credentials.interest_africa_general : \'Add My Interests\' }}\n    </div>\n</div>\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openNeedSupportOfferHelpModal()"\n        [value]="userRequests && userRequests.length > 0"></mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        Support I Need\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto">\n        <div class="mmb-border p-6 w-100 mh-100 mb-3" *ngFor="let item of userRequests">\n            {{ item.request }}\n        </div>\n    </div>\n</div>\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openNeedSupportOfferHelpModal()"\n        [value]="userOffers && userOffers.length > 0"></mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        How I Can Help\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto">\n        <div class="mmb-body-1 mt-4 h-auto">\n            <div class="mmb-border p-6 w-100 mh-100 mb-3" *ngFor="let item of userOffers">\n                {{ item.offer }}\n            </div>\n        </div>\n    </div>\n</div>\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openLookingForItemsModal()"\n        [value]="lookingFor.opportunities && lookingFor.opportunities.length > 0">\n    </mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        Opportunities I\'m Seeking\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto" fxLayout="row wrap" fxLayoutAlign="start start"\n        fxLayoutGap="8px">\n        <ng-container *ngFor="let interestRow of lookingFor.opportunities">\n            <div *ngIf="interestRow && interestRow.item"\n                class="bg-white p-2 px-5 mr-2 mmb-border border-radius-xl mb-3 mmb-caption-2-1">\n                {{ interestRow.item?.name }} . <span class="text-primary">{{\n                    getItemScore(interestRow.score) }} / {{\n                    scoringLevels.length }}</span>\n            </div>\n            <div *ngIf="interestRow && !interestRow.item"\n                class="bg-white p-2 px-5 mr-2 mmb-border border-radius-xl mb-3 mmb-caption-2-1">\n                {{ interestRow.opportunity_type?.name }} . <span class="text-primary">{{\n                    getItemScore(interestRow.level.value) }} / {{\n                    scoringLevels.length }}</span>\n            </div>\n        </ng-container>\n    </div>\n</div>\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openLookingForItemsModal()"\n        [value]="lookingFor.people && lookingFor.people.length > 0"></mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        Connections I\'m Seeking\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto" fxLayout="row wrap" fxLayoutAlign="start start"\n        fxLayoutGap="8px">\n        <ng-container *ngFor="let peopleItem of lookingFor.people">\n            <div *ngIf="peopleItem && peopleItem.item"\n                class="bg-white p-2 px-5 mr-2 mmb-border border-radius-xl mb-3 mmb-caption-2-1">\n                {{ peopleItem.item?.name }} . <span class="text-primary">{{\n                    getItemScore(peopleItem.score) }} / {{\n                    scoringLevels.length }}</span>\n            </div>\n            <div *ngIf="peopleItem && !peopleItem.item"\n                class="bg-white p-2 px-5 mr-2 mmb-border border-radius-xl mb-3 mmb-caption-2-1">\n                {{ peopleItem.people?.name }} . <span class="text-primary">{{\n                    getItemScore(peopleItem.level.value) }} / {{\n                    scoringLevels.length }}</span>\n            </div>\n        </ng-container>\n    </div>\n</div>\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openLookingForItemsModal()"\n        [value]="lookingFor.service && lookingFor.service.length > 0"></mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        Support I Need\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto" fxLayout="row wrap" fxLayoutAlign="start start"\n        fxLayoutGap="8px">\n        <ng-container *ngFor="let serviceItem of lookingFor.service">\n            <div *ngIf="serviceItem && serviceItem.item"\n                class="bg-white p-2 px-5 mr-2 mmb-border border-radius-xl mb-3 mmb-caption-2-1">\n                {{ serviceItem.item?.name }} . <span class="text-primary">{{\n                    getItemScore(serviceItem.score) }} / {{\n                    scoringLevels.length }}</span>\n            </div>\n            <div *ngIf="serviceItem && !serviceItem.item"\n                class="bg-white p-2 px-5 mr-2 mmb-border border-radius-xl mb-3 mmb-caption-2-1">
1\n                {{ serviceItem.service?.name }} . <span class="text-primary">{{\n                    getItemScore(serviceItem.level.value) }} / {{\n                    scoringLevels.length }}</span>\n            </div>\n        </ng-container>\n    </div>\n\n</div>\n\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openLookingForItemsModal()"\n        [value]="user.credentials.interest_opportunity_specific"></mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        Other Things I Need\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto" fxLayout="row wrap" fxLayoutAlign="start start"\n        fxLayoutGap="8px">\n        <div *ngIf="user && user.credentials && user.credentials.interest_opportunity_specific"\n            class="bg-white p-2 px-5 mr-2 mmb-border border-radius-xl mb-3 mmb-caption-2-1">\n            {{ user.credentials.interest_opportunity_specific }}\n        </div>\n    </div>\n\n</div>',encapsulation:t.ifc.None,styles:[ln()]})],H);var On=n(79348),wn=n.n(On),Ee=n(92045);var Pn=n(66622),Ln=n.n(Pn);let A=class{constructor(e){this.fb=e,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.form=this.fb.group({professionalTitle:[this.user.credentials?this.user.credentials.professional_title:"",l.kI.required],seniority:[this.user.credentials?this.user.credentials.seniority_user:"",l.kI.required],linkedInProfile:[this.user.linkedin?this.user.linkedin.public_profile_url:""],industryName:[this.user.credentials?this.user.credentials.industry_secondary:"",l.kI.required],yearsOfExperience:[this.user.credentials?this.user.credentials.experience_years_user:"",[l.kI.required,l.kI.min(0),l.kI.max(100)]],cv:[this.user.cvs&&this.user.cvs.length>0?this.user.cvs[0]:null]})}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:l.QS}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],user:[{type:t.IIB}],editMode:[{type:t.IIB}]}};A=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-industry-modal",template:'<div class="w-100 bg-darkest-900">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <mmb-web-app-user-onboarding-step-professional-profile [form]="form" [isOpenedInModal]="true" [editMode]="editMode"\n        (saveDone)="addSuccess.emit($event)" [user]="user">\n    </mmb-web-app-user-onboarding-step-professional-profile>\n</div>',styles:[Ln()]})],A);var En=n(60052),Mn=n.n(En);let Q=class{constructor(e){this.fb=e,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.form=this.fb.group({persona:[this.user.credentials?this.user.credentials.candidate_type_user:"",l.kI.required]})}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:l.QS}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],user:[{type:t.IIB}]}};Q=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-persona-modal",template:'<div class="w-100 bg-darkest-900">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    \n    <mmb-web-app-user-onboarding-step-describe-yourself [user]="user" [form]="form" [isOpenedInModal]="true" (saveDone)="addSuccess.emit($event)">\n    </mmb-web-app-user-onboarding-step-describe-yourself>\n</div>',styles:[Mn()]})],Q);var Dn=n(56836),Fn=n.n(Dn),Tn=n(50635);let W=class{constructor(e,s,a,m){this.modal=e,this.sharedService=s,this.userOnboardingService=a,this.toastrService=m,this.addSuccess=new t.vpe,this.closed=new t.vpe,this.selectedLanguages=[],this.languageOptions$=p=>p.pipe((0,y.b)(300),(0,x.x)(),(0,Tn.U)(I=>this.languageOptions.filter(Gs=>Gs.name.toLowerCase().indexOf(I.toLowerCase())>-1).slice(0,10)))}ngOnInit(){this.sharedService.referenceTypes$.subscribe(e=>{e&&(this.languageOptions=e.type_reference_language)})}addLanguage(){this.addSuccess.emit()}onFocus(e){this.focusText=!0,e.stopPropagation(),setTimeout(()=>{const s=new Event("input");e.target.dispatchEvent(s)},0)}
1onClose(){this.closed.emit()}onBlurText(){this.focusText=!1}resultFormat(e){return e.name_ascii?e.name_ascii:e.name}inputFormat(e){return e.name_ascii?e.name_ascii:e.name?e.name:e}onLanguageSelected(e,s){e.preventDefault(),this._findItemByLanguage(e.item)?this.toastrService.error("Language is already added to the list","Error"):(this.selectedLanguages.push({language:e.item,level:{}}),s.value="")}onSelectLevel(e,s){let a=this._findItemByLanguage(e);a&&a.level.value===s.value?this._deleteLanguageLevel(a,e,s):a&&a.level&&a.level.value?this._deleteLanguageLevel(a,e,s,!0):this._saveLanguageLevel(e,s)}isLanguageLevelSelected(e,s){return this.selectedLanguages.find(a=>a.language.value===e.value&&a.level.value===s.value)}_findItemByLanguage(e){return this.selectedLanguages.find(s=>s.language.value===e.value)}_findItemIndexByLanguage(e){return this.selectedLanguages.findIndex(s=>s.language.value===e.value)}_deleteLanguageLevel(e,s,a,m){this.userOnboardingService.deleteUserLanguageLevel(e.uuid).subscribe(p=>{let I=this._findItemIndexByLanguage(s);this.selectedLanguages.splice(I,1),m&&this._saveLanguageLevel(s,a)})}_saveLanguageLevel(e,s){this.userOnboardingService.saveUserLanguageLevel(e.value,s.value).subscribe(a=>{let m=this._findItemByLanguage(e);m&&(m.level=s,m.uuid=a.uuid)})}static#e=this.ctorParameters=()=>[{type:b.Kz},{type:g.F},{type:_.m},{type:v._W}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],isEditMode:[{type:t.IIB}],selectedLanguages:[{type:t.IIB}],proficiencyLevels:[{type:t.IIB}]}};W=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-spoken-languages-modal",template:'<div class="w-100 bg-darkest-900">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <div\n        class="text-center py-3 mb-12 bg-darkest-700 mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <h5 ngClass.gt-sm="mmb-title" ngClass.lt-md="mmb-caption-2"\n                class="mb-2 text-black text-white">Spoken Languages\n            </h5>\n        </div>\n    </div>\n\n    <div class="mt-2 mb-2 text-center mmb-caption-2 text-white px-6">\n        Add your spoken language\n    </div>\n\n    <div ngClass.gt-sm="p-5" ngClass.lt-md="p-3" class="mx-auto mb-20 w-100 px-12" ngClass.lt-md="w-100 px-6">\n        <div class="mmb-form-control-onboarding mb-4">\n            <div class="wrapper-control mmb-display-flex mmb-align-items-center" [ngClass]="{\'focus\': focusText}">\n                <div class="mr-2">\n                    <img src="assets/images/icon-grey-search.svg">\n                </div>\n                <div\n                    class="position-relative mmb-display-flex mmb-align-items-center mmb-justify-content-between w-100">\n                    <input #input class="mmb-border-none w-100" type="text" tabindex="-1" (focus)="onFocus($event)"\n                        (blur)="onBlurText()" [ngbTypeahead]="languageOptions$" [resultFormatter]="resultFormat"\n                        [inputFormatter]="inputFormat" placeholder="Select language"\n                        (selectItem)="onLanguageSelected($event, input)">\n                    <i class="ri-arrow-down-s-line position-absolute mmb-right-0px"></i>\n                </div>\n            </div>\n\n            <div class="mb-10 pt-10" *ngIf="selectedLanguages && selectedLanguages.length > 0">\n                <div fxLayout="column" fxLayoutAlign="center">\n                    <div fxFlex="row" fxLayoutAlign="start center" fxLayoutGap.gt-sm="20px" fxLayoutGap.lt-sm="10px">\n                        <div fxFlex.gt-sm="200px" fxFlex.lt-md="120px" fxFlex.lt-sm="100px">\n                        </div>\n\n                        <div fxFlex *ngFor="let level of proficiencyLevels; let i= index">\n                            <div class="text-center">\n                                <label class="text-white mmb-caption">{{ level.name }}</label>\n                            </div>\n                        </div>\n                    </div>\n\n                    <div *ngFor="let item of selectedLanguages; let i = index">\n                        <div fxFlex="row" fxLayoutAlign="start center" fxLayoutGap.gt-sm="20px"\n                            fxLayoutGap.lt-sm="10px">\n                            <div fxFlex.gt-sm="200px" fxFlex.lt-md="120px" fxFlex.lt-sm="100px"\n                                class="py-2 px-4 mmb-caption-2 text-white" ngClass.gt-sm="text-right"\n                                ngClass.lt-sm="text-left">\n                                {{ item.language.name }}</div>\n\n                            <div fxFlex *ngFor="let level of proficiencyLevels; let i= index">\n                                <div ngClass.gt-sm="p-4" ngClass.lt-md="p-4" ngClass.lt-sm="p-2 px-1"\n                                    (click)="onSelectLevel(item.language, level)">\n                                    <div class="py-2 text-center mmb-caption-2 border-radius-xl text-white  mmb-border-primary--sm cursor-pointer"\n                                        [ngClass]="{\'bg-white text-primary mmb-border-none\': isLanguageLevelSelected(item.language, level)}">\n                                        {{ i + 1 }}\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n\n    </div>\n\n    <div\n        class="pt-12 pb-12 bg-darkest-700 mmb-onboarding-footer flex-1 text-center mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <button [ngClass]="{\'mmb-caption-2--disabled\': !selectedLanguages || selectedLanguages.length === 0}"\n                (click)="addLanguage()" class="mmb-btn mmb-btn-primary w-300px">Save</button>\n        </div>\n    </div>\n</div>',styles:[Fn()]})],W);var Nn=n(96753),Bn=n.n(Nn);let K=class{constructor(e){this.fb=e,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.form=this.fb.group({selectedCountries:[this.countriesConnections],newCountryInput:[]})}
1onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:l.QS}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],countriesConnections:[{type:t.IIB}],user:[{type:t.IIB}]}};K=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-world-connections-modal",template:'<div class="w-100 bg-darkest-900" ngbAutoFocus>\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <mmb-web-app-user-onboarding-step-countries-connection [form]="form" [user]="user"\n        [isOpenedInModal]="true" (saveDone)="addSuccess.emit($event)" [countriesConnections]="countriesConnections">\n    </mmb-web-app-user-onboarding-step-countries-connection>\n</div>\n',styles:[Bn()]})],K);var ye=n(7318);let Y=class{constructor(e,s,a,m,p){this.userOnboardingService=e,this.profileService=s,this.modalService=a,this.sharedService=m,this.route=p,this.updateUser=new t.vpe}ngOnInit(){this._getPersonaOptions(),this._getUserCountryConnections(),this._getProficiencyLevels(),this.sharedService.referenceTypes$.subscribe(e=>{e&&(this._industries=e.type_reference_industry_secondary)})}ngAfterViewInit(){this.route.queryParams.subscribe(e=>{e&&e.edit===Ee.l.INDUSTRY&&this.openIndustryModal()})}getPersona(e){return this._findItemById(this.personas,e)}openPersonaModal(){const e=this.modalService.open(Q,{centered:!0,size:"lg"});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{e.close(),s&&(this.user.credentials.candidate_type_user=s)}),e.componentInstance.closed.subscribe(s=>{e.close()})}openIndustryModal(){const e=this.modalService.open(A,{centered:!0});e.componentInstance.user=this.user,e.componentInstance.editMode=ye.k.INDUSTRY,e.componentInstance.addSuccess.subscribe(s=>{e.close(),s&&s.industry&&(this.user.credentials.industry_secondary=s.industry.value)}),e.componentInstance.closed.subscribe(s=>{e.close()})}openSpokenLanguagesModal(){const e=this.modalService.open(W,{centered:!0,size:"lg"});e.componentInstance.user=this.user,e.componentInstance.selectedLanguages=this.user.languages,e.componentInstance.proficiencyLevels=this.languageProficiencyLevels,e.componentInstance.addSuccess.subscribe(s=>{e.close()}),e.componentInstance.closed.subscribe(s=>{e.close()})}openWorldConnectionsModal(){const e=this.modalService.open(K,{centered:!0,size:"lg"});e.componentInstance.user=this.user,e.componentInstance.countriesConnections=this.countriesConnections,e.componentInstance.addSuccess.subscribe(s=>{e.close(),this.userCountryConnections=null,this._getUserCountryConnections()}),e.componentInstance.closed.subscribe(s=>{e.close()})}getIndustry(e){let s=this._industries.find(a=>a.value===e);return s?s.name:""}_getUserCountryConnections(){this.profileService.getUserInternational().subscribe(e=>{this.countriesConnections=e,this._mapCountriesConnections(e)})}_mapCountriesConnections(e){let s=[];for(let a of e)s[a.country.id]||(s[a.country.id]={country:a.country,uuid:a.uuid,country_statuses:[]}),a.country_status.recordUuid=a.uuid,s[a.country.id].country_statuses.push(a.country_status);this.userCountryConnections=s}_getProficiencyLevels(){this.sharedService.getLanguageProficiencyLevels().subscribe(e=>{this.languageProficiencyLevels=e})}_getPersonaOptions(){this.userOnboardingService.getUserProfileReferenceType().subscribe(e=>{this.personas=e})}_findItemById(e,s){return e?e.find(a=>a.value===s):null}static#e=this.ctorParameters=()=>[{type:_.m},{type:u.H},{type:b.FF},{type:g.F},{type:h.gz}];static#t=this.propDecorators={updateUser:[{type:t.r_U}],user:[{type:t.IIB}]}};Y=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-step-identity",template:'<div class="w-100 position-relative" *ngIf="getPersona(user.credentials.candidate_type_user) as selectedPersona">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openPersonaModal()" [value]="selectedPersona">\n    </mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        My Primary Persona\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto" fxLayout="row" fxLayoutAlign="start start" fxLayoutGap="8px">\n        <div class="position-relative border-radius-sm mmb-overflow-hidden w-160px">\n            <img class="h-100px w-100 object-fit-cover" [src]="selectedPersona.avatar">\n            <div\n                class="position-absolute z-index-100 mmb-caption-2 text-white bottom-0 bg-dark--overlay absolute-center w-100 text-center border-radius-sm w-75p">\n                {{ selectedPersona.name }}</div>\n        </div>\n    </div>\n</div>\n\n<div class="w-100 mt-10 position-relative" *ngIf="user.credentials.industry_secondary">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openIndustryModal()" [value]="user.credentials.industry_secondary">\n    </mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        My Industry\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto" fxLayout="row" fxLayoutAlign="start start" fxLayoutGap="8px">\n        {{ getIndustry(user.credentials.industry_secondary) }}\n    </div>\n</div>\n\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openSpokenLanguagesModal()"\n        [value]="user.languages && user.languages.length > 0">\n    </mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        My Languages\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto" fxLayout="row" fxLayoutAlign="start start" fxLayoutGap="8px">\n        <div *ngIf="!user.languages || user.languages.length === 0">\n            Add languages\n        </div>\n        <div *ngFor="let item of user.languages"\n            class="mmb-border mr-2 bg-white mmb-caption-2 py-2 px-4 border-radius-xl mb-2">\n            {{ item.language.name }}
1\n            <span *ngIf="languageProficiencyLevels">\n                . <span class="text-primary">{{\n                    item.level.value }} / {{\n                    languageProficiencyLevels.length }}</span>\n            </span>\n        </div>\n    </div>\n</div>\n\n<div class="w-100 mt-10 position-relative">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openWorldConnectionsModal()"\n        [value]="userCountryConnections && userCountryConnections.length > 0">\n    </mmb-web-app-edit-profile-action-panel>\n\n    <div class="mb-4 mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        My Country Connections & Experiences\n    </div>\n    <ng-container *ngFor="let connection of userCountryConnections">\n        <div *ngIf="connection && connection.country" fxLayout="row" fxLayoutAlign="start start"\n            class="pl-4 mmb-border-bottom--lightest---dash py-3">\n            <div fxFlex="200px" class="mb-3 mmb-caption">{{ connection.country.name }}</div>\n            <div fxFlex="150px" class="mb-3 ml-3">\n                <div *ngIf="connection.country.avatar">\n                    <img class="w-50px" [src]="connection.country.avatar" />\n                </div>\n                <div *ngIf="!connection.country.avatar" class="fp fp-lg mr-2" [ngClass]="connection.country.code"></div>\n            </div>\n            <div fxLayout="row wrap" fxLayoutAlign="start center">\n                <div *ngFor="let status of connection.country_statuses"\n                    class="mr-2 bg-white mmb-body-1 py-2 px-4 border-radius-xl mb-2 mmb-border">\n                    {{ status.name }}</div>\n            </div>\n        </div>\n    </ng-container>\n</div>',styles:[wn()]})],Y);var Gn=n(18033),Vn=n.n(Gn);var Xn=n(45426),$n=n.n(Xn);let J=class{constructor(e){this.fb=e,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.form=this.fb.group({selectedCauses:[this.user.causes]})}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:l.QS}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],user:[{type:t.IIB}]}};J=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-causes-modal",template:'<div class="w-100 bg-darkest-900" ngbAutoFocus>\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <mmb-web-app-user-onboarding-step-interested-in-causes [form]="form" [isOpenedInModal]="true"\n        (saveDone)="addSuccess.emit($event)">\n    </mmb-web-app-user-onboarding-step-interested-in-causes>\n</div>',styles:[$n()]})],J);var Qn=n(6819),Wn=n.n(Qn);let Z=class{constructor(e){this.fb=e,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.form=this.fb.group({})}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:l.QS}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],user:[{type:t.IIB}]}};Z=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-org-types-modal",template:'<div class="w-100 bg-darkest-900" ngbAutoFocus>\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <mmb-web-app-user-onboarding-step-org-type-interest [user]="user" [form]="form" [isOpenedInModal]="true" (saveDone)="addSuccess.emit($event)">\n    </mmb-web-app-user-onboarding-step-org-type-interest>\n</div>',styles:[Wn()]})],Z);var Yn=n(37408),Jn=n.n(Yn);let q=class{constructor(e){this.fb=e,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.form=this.fb.group({})}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:l.QS}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}]}};q=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-primary-industries-modal",template:'<div class="w-100 bg-darkest-900" ngbAutoFocus>\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <mmb-web-app-user-onboarding-step-interested-in [form]="form" [isOpenedInModal]="true" (saveDone)="addSuccess.emit($event)">\n    </mmb-web-app-user-onboarding-step-interested-in>\n</div>',styles:[Jn()]})],q);let ee=class{constructor(e,s,a){this.userOnboardingService=e,this.modalService=s,this.route=a,this.orgTypeInterests=[],this.scoringLevels=Ae.l}ngOnInit(){this._getUserIndustries(),this._getUserOrgTypeInterests()}openIndustriesModal(){const e=this.modalService.open(q,{centered:!0,size:"lg"});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{e.close(),this._getUserIndustries()}),e.componentInstance.closed.subscribe(s=>{e.close()})}openOrgTypesModal(){const e=this.modalService.open(Z,{centered:!0,size:"lg"});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{e.close(),this._getUserOrgTypeInterests()}),e.componentInstance.closed.subscribe(s=>{e.close()})}sortCausesByValue(e){return e.sort((s,a)=>s.cause.value>a.cause.value?1:-1)}openCausesModal(){const e=this.modalService.open(J,{centered:!0,size:"lg"});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{e.close()}),e.componentInstance.closed.subscribe(s=>{e.close()})}getProgressBarPercent(e){return 100*this.getItemScore(e)/this.scoringLevels.length+"%"}getItemScore(e){return this.scoringLevels.length-e+1}_getUserIndustries(){this.userOnboardingService.getUserPrimaryIndustry().subscribe(e=>{this.selectedIndustries=e})}_getUserOrgTypeInterests(){this.orgTypeInterests=[],this.userOnboardingService.getUserOrgTypeInterests().subscribe(e=>{for(let s of e)this.orgTypeInterests.push({orgType:s.organisation_type,level:s.level,uuid:s.uuid})})}static#e=this.ctorParameters=()=>[{type:_.m},{type:b.FF},{type:h.gz}];static#t=this.propDecorators={user:[{type:t.IIB}]}};ee=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-step-interest",template:'<div class="w-100 position-relative mt-10">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openIndustriesModal()" [value]="selectedIndustries && selectedIndustries.length > 0">\n    </mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        Industries I\'m interested in\n    </div>\n    <div class="mmb-body-1 mt-4 h-auto" fxLayout="row wrap" fxLayoutAlign="start start" fxLayoutGap="8px">\n        <div *ngFor="let item of selectedIndustries"\n            class="mmb-border mr-2 bg-white mmb-caption-2 py-2 px-4 border-radius-xl mb-2">\n            {{ item.industry.name }} </div>\n    </div>\n</div>\n\n<div class="w-100 position-relative mt-10">\n    <mmb-web-app-edit-profile-action-panel  (clicked)="openOrgTypesModal()" [value]="orgTypeInterests && orgTypeInterests.length > 0">\n    </mmb-web-app-edit-profile-action-panel>\n\n    <div class="mb-9 mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        Types of organisation I\'m interested in\n    </div>\n\n    <div fxLayout="row wrap" fxLayoutAlign="start center" class="mb-3 pl-4" *ngFor="let item of orgTypeInterests">\n        <div fxFlex="30%" class="mmb-caption-2">{{ item.orgType.name }}</div>\n        <div fxFlex="70%">\n            <div class="w-75p h-10px mmb-border-badge border-radius-sm">\n                <div class="bg-primary h-10px border-radius-sm" [style.width]="getProgressBarPercent(item.level.value)">\n                </div>\n            </div>\n        </div>\n    </div>\n    \x3c!-- <div fxLayout="row wrap" fxLayoutAlign="start center" class="mt-8">\n        <div class="mmb-caption-2">\n            Not interested: New small businesses, Small businesses, Growth stage startup,<br />\n            Medium business, Large business Unicorn startup Corporate\n        </div>\n    </div> --\x3e\n\n</div>\n<div class="w-100 position-relative mt-10">\n    <mmb-web-app-edit-profile-action-panel (clicked)="openCausesModal()" [value]="user.causes && user.causes.length > 0">\n    </mmb-web-app-edit-profile-action-panel>\n\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        Causes I\'m interested in\n    </div>\n    <div class="mmb-caption-2 pl-4 text-uppercase text-grey--light mt-3">\n        UN Sustainable Development Goals\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto" fxLayout="row" fxLayoutAlign="start start" fxLayoutGap="8px">\n        <div class="mb-2" fxLayout="row wrap" fxLayoutAlign="start center">\n            <ng-container *ngFor="let item of sortCausesByValue(user.causes)">\n                <div class="mr-2 mb-2" *ngIf="item.cause.parent !== 1">\n                    <div class="position-relative border-radius-12 mmb-overflow-hidden w-100">\n                        <img class="h-100px w-100p object-fit-cover" [src]="item.cause.avatar" />\n                    </div>\n                </div>\n            </ng-container>\n        </div>\n    </div>\n\n    <div class="mmb-caption-2 pl-4 text-uppercase text-grey--light mt-3">\n        \'The Continent\' Transformation Goals\n    </div>\n    <div class="mmb-body-1 pl-4 mt-4 h-auto" fxLayout="row" fxLayoutAlign="start start" fxLayoutGap="8px">\n        <div class="mb-2" fxLayout="row wrap" fxLayoutAlign="start center">\n            <ng-container *ngFor="let item of user.causes">\n                <div class="mr-2 mb-2" *ngIf="item.cause.parent === 1">\n                    <div class="position-relative border-radius-12 mmb-overflow-hidden w-100">\n                        <img class="h-100px w-100p object-fit-cover" [src]="item.cause.avatar" />\n                    </div>\n                </div>\n            </ng-container>\n        </div>\n    </div>\n</div>',styles:[Vn()]})],ee);var qn=n(59205),es=n.n(qn);var ns=n(79930),ss=n.n(ns);let te=class{constructor(e,s,a,m){this.fb=e,this.sharedService=s,this.profileService=a,this.toastr=m,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){this.form=this.fb.group({currentCountry:[this.user.country_current,l.kI.required],currentCity:[this.user.city_current?this.user.city_current:this.user.city_custom_current,l.kI.required]}),this._subscribeToCurrentCountryValueChanges(),this._subscribeToCurrentCityValueChanges()}
1onClose(){this.closed.emit()}onFocus(e){e.stopPropagation(),setTimeout(()=>{const s=new Event("input");e.target.dispatchEvent(s)},0)}resultFormatCountryValue(e){return e.name_ascii?e.name_ascii:e.name}inputFormatCountryValue(e){return e.name_ascii?e.name_ascii:e.name?e.name:e}isCountryValueExists(e){return e&&e.id?null:""}onSave(){let e={country_current:this.form.controls.currentCountry.value.id},s=this.form.controls.currentCity.value;s&&s.id?e.city_current=this.form.controls.currentCity.value.id:e.city_custom_current=this.form.controls.currentCity.value,this.profileService.updateUserLocation(e).subscribe(a=>{this.addSuccess.emit({currentCountry:this.form.controls.currentCountry.value,currentCity:this.form.controls.currentCity.value})},a=>{this.toastr.error("Unable to save current location","Error")})}_subscribeToCurrentCountryValueChanges(){const e=this.form.controls.currentCountry;this.currentCountriesSearch=s=>s.pipe((0,y.b)(300),(0,x.x)(),(0,C.b)(()=>this.form.controls.currentCity.setValue("")),(0,S.w)(a=>this.sharedService.getCountries(e.value)))}_subscribeToCurrentCityValueChanges(){const e=this.form.controls.currentCity;this.currentCitiesSearch=s=>s.pipe((0,y.b)(300),(0,x.x)(),(0,S.w)(a=>{let m=this.form.controls.currentCountry.value;return this.sharedService.getCitiesByCountry(m.code,e.value)}))}static#e=this.ctorParameters=()=>[{type:l.QS},{type:g.F},{type:u.H},{type:v._W}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],user:[{type:t.IIB}]}};te=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-displayed-location-modal",template:'<div class="w-100 bg-darkest-900" [formGroup]="form">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <div\n        class="text-center py-3 mb-12 bg-darkest-700 mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <h5 ngClass.gt-sm="mmb-title" ngClass.lt-md="mmb-caption-2"\n                class="mb-2 text-black text-white">Your current location\n            </h5>\n        </div>\n    </div>\n\n    <div class="px-10 mb-5">\n        <div class="mmb-form-control-onboarding mb-3">\n            <label>Country</label>\n            <div class="bg-white p-2 mmb-border--dark border-radius-xs mmb-display-flex mmb-align-items-center">\n                <div class="mr-2">\n                    <img src="assets/images/icon-grey-search.svg">\n                </div>\n                <div\n                    class="position-relative mmb-display-flex mmb-align-items-center mmb-justify-content-between w-100">\n                    <input class="bg-white mmb-border-none w-100" (focus)="onFocus($event)" type="text"\n                        formControlName="currentCountry" [ngbTypeahead]="currentCountriesSearch"\n                        [resultFormatter]="resultFormatCountryValue" [inputFormatter]="inputFormatCountryValue"\n                        placeholder="Search country" tabindex="-1">\n                    <i class="ri-arrow-down-s-line position-absolute mmb-right-0px"></i>\n                </div>\n            </div>\n        </div>\n        <div class="mmb-form-control-onboarding">\n            <label>City</label>\n\n            <div class="bg-white p-2 mmb-border--dark border-radius-xs mmb-display-flex mmb-align-items-center"\n                [ngClass]="{\'input-group--disabled\': form.controls[\'currentCountry\'].invalid}">\n                <div class="mr-2">\n                    <img src="assets/images/icon-grey-search.svg">\n                </div>\n                <div\n                    class="position-relative mmb-display-flex mmb-align-items-center mmb-justify-content-between w-100">\n                    <input class="bg-white mmb-border-none w-100" (focus)="onFocus($event)"\n                        [ngClass]="{\'input-group--disabled\': form.controls[\'currentCountry\'].invalid}
1"\n                        [attr.disabled]="isCountryValueExists(form.controls[\'currentCountry\'].value)"\n                        [ngbTypeahead]="currentCitiesSearch" [resultFormatter]="resultFormatCountryValue"\n                        [inputFormatter]="inputFormatCountryValue" placeholder="Search city"\n                        formControlName="currentCity" type="text" tabindex="-1">\n                    <i class="ri-arrow-down-s-line position-absolute mmb-right-0px"></i>\n                </div>\n            </div>\n        </div>\n    </div>\n\n    <div\n        class="pt-12 pb-12 bg-darkest-700 mmb-onboarding-footer flex-1 text-center mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <button [ngClass]="{\'mmb-caption-2--disabled\': form.invalid}" class="mmb-btn mmb-btn-primary w-300px"\n                (click)="onSave()">Save</button>\n        </div>\n    </div>\n</div>',styles:[ss()]})],te);var xe=n(11751);var os=n(88808),rs=n.n(os);let ne=class{constructor(e,s,a){this.fb=e,this.profileService=s,this.toastr=a,this.addSuccess=new t.vpe,this.closed=new t.vpe,this.form=this.fb.group({password:["",[l.kI.required]],confirmPassword:["",[l.kI.required]]},{validator:this._isPasswordMatchingValidator})}ngOnInit(){}onClose(){this.closed.emit()}onSave(){this.profileService.updateUserPassword(this.form.controls.password.value).subscribe(e=>{this.toastr.success("Your password has been changed successfully"),this.addSuccess.emit()},e=>{e&&e[0]?this.toastr.error(e[0],"Error"):this.toastr.error("Unable to change password","Error")})}_isPasswordMatchingValidator(e){return e.controls.password.value===e.controls.confirmPassword.value?null:{mismatch:!0}}static#e=this.ctorParameters=()=>[{type:l.QS},{type:u.H},{type:v._W}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],user:[{type:t.IIB}]}};ne=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-change-password-modal",template:'<div class="w-100 bg-darkest-900" [formGroup]="form" *ngIf="form">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <div\n        class="text-center py-3 mb-12 bg-darkest-700 mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <h5 ngClass.gt-sm="mmb-title" ngClass.lt-md="mmb-caption-2"\n                class="mb-2 text-black text-white">Change password\n            </h5>\n        </div>\n    </div>\n\n    <div class="px-10 mb-5">\n        <div class="mmb-form-control-onboarding mb-6" fxLayout="column">\n            <label>Password</label>\n            <input class="mmb-form-control" placeholder="Enter the new password" type="password" formControlName="password">\n        </div>\n\n        <div class="mmb-form-control-onboarding mb-6" fxLayout="column">\n            <label>Confirm Password</label>\n            <input class="mmb-form-control" placeholder="Confirm password" type="password" formControlName="confirmPassword">\n        </div>\n    </div>\n\n    <div\n        class="pt-12 pb-12 bg-darkest-700 mmb-onboarding-footer flex-1 text-center mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <button [ngClass]="{\'mmb-caption-2--disabled\': form.invalid}"\n                class="mmb-btn mmb-btn-primary w-300px" (click)="onSave()">Save</button>\n        </div>\n    </div>\n</div>',styles:[rs()]})],ne);var ls=n(56326),cs=n.n(ls),Me=n(3790);let se=class{constructor(e,s,a){this.profileService=e,this.authService=s,this.toastr=a,this.addSuccess=new t.vpe,this.closed=new t.vpe}ngOnInit(){}onSave(){let e=!1,s=!1;e=this.form.controls.firstName.dirty||this.form.controls.lastName.dirty,s=this.form.controls.email.dirty,e&&this._updateDetails().subscribe(()=>{this.addSuccess.emit({firstName:this.form.controls.firstName.value,lastName:this.form.controls.lastName.value,email:this.form.controls.email.value})}),s&&this._updateEmail().subscribe({next:()=>{this.addSuccess.emit({firstName:this.form.controls.firstName.value,lastName:this.form.controls.lastName.value,email:this.form.controls.email.value})},error:a=>{if(429===a?.status){const m=a?.error?.message||"Too many attempts. Please try again later.";this.toastr.error(m,"Rate limit")}else this.toastr.error("Unable to change email. Please try again later.","Error")}}),!e&&!s&&this.addSuccess.emit()}
1onClose(){this.closed.emit()}_updateEmail(){return this.authService.changeEmail(this.form.controls.email.value)}_updateDetails(){return this.profileService.updateUserNameByUuid(this.form.controls.firstName.value,this.form.controls.lastName.value,this.user.uuid)}static#e=this.ctorParameters=()=>[{type:u.H},{type:Me.e},{type:v._W}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],form:[{type:t.IIB}],user:[{type:t.IIB}]}};se=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-edit-personal-details-modal",template:'<div class="w-100 bg-darkest-900" [formGroup]="form" *ngIf="form">\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <div\n        class="text-center py-3 mb-12 bg-darkest-700 mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <h5 ngClass.gt-sm="mmb-title" ngClass.lt-md="mmb-caption-2"\n                class="mb-2 text-black text-white">Edit personal details\n            </h5>\n        </div>\n    </div>\n\n    <div class="px-10 mb-5">\n        <div class="mmb-form-control-onboarding mb-6" fxLayout="column">\n            <label>First name</label>\n            <input class="mmb-form-control" placeholder="Enter first name" type="text" formControlName="firstName">\n        </div>\n\n        <div class="mmb-form-control-onboarding mb-6" fxLayout="column">\n            <label>Last name</label>\n            <input class="mmb-form-control" placeholder="Enter last name" type="text" formControlName="lastName">\n        </div>\n\n        <div class="mmb-form-control-onboarding mb-6" fxLayout="column">\n            <label>Email address</label>\n            <input class="mmb-form-control" placeholder="Enter email address" type="email" formControlName="email">\n        </div>\n    </div>\n\n    <div\n        class="pt-12 pb-12 bg-darkest-700 mmb-onboarding-footer flex-1 text-center mmb-display-flex flex-row justify-content-around mmb-align-items-center">\n        <div>\n            <button [ngClass]="{\'mmb-caption-2--disabled\': form.invalid}"\n                class="mmb-btn mmb-btn-primary w-300px" (click)="onSave()">Save</button>\n        </div>\n    </div>\n</div>',styles:[cs()]})],se);var ms=n(65808),ps=n.n(ms);let E=class{constructor(e){this.fb=e,this.addSuccess=new t.vpe,this.closed=new t.vpe,this.INTRODUCE_YOURSELF_EDIT_MODE=xe.n}ngOnInit(){this.form=this.fb.group({name:[this.user.credentials?this.user.first_name:""],gender:[this.user.gender?this.user.gender:""],dob:[this.user.birth_date?this.user.birth_date:"",l.kI.required],country_signup:[this.user.country_signup?this.user.country_signup:""],city_signup:[this.user.city_signup?this.user.city_signup:this.user.city_custom_signup]})}onClose(){this.closed.emit()}static#e=this.ctorParameters=()=>[{type:l.QS}];static#t=this.propDecorators={addSuccess:[{type:t.r_U}],closed:[{type:t.r_U}],user:[{type:t.IIB}]}};E=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-date-of-birth-modal",template:'<div class="w-100 bg-darkest-900" ngbAutoFocus>\n    <div class="cursor-pointer position-absolute top-0 right-0 mt-3" (click)="onClose()">\n        <i class="ri-close-line text-white ri-lg ml-n7"></i>\n    </div>\n    <mmb-web-app-user-onboarding-introduce-yourself [user]="user" [form]="form" [isOpenedInModal]="true"\n        [editMode]="INTRODUCE_YOURSELF_EDIT_MODE.DATE_OF_BIRTH" (saveDone)="addSuccess.emit($event)">\n    </mmb-web-app-user-onboarding-introduce-yourself>\n</div>',styles:[ps()]})],E);var f=n(98896);let ie=class{constructor(e,s,a,m,p){this.modalService=e,this.fb=s,this.route=a,this.router=m,this.authService=p}ngOnInit(){this.route.queryParams.subscribe(e=>{e&&e.edit===Ee.l.DISPLAYED_LOCATION&&this.openAddDisplayedLocationModal()})}openEditProfilePicModal(){const e=this.modalService.open(xe.x,{centered:!0});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{e.close()}),e.componentInstance.closed.subscribe(s=>{e.close()})}openDateOfBirthModal(){const e=this.modalService.open(E,{centered:!0});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{this.user.birth_date=s.birth_date,e.close()}),e.componentInstance.closed.subscribe(s=>{e.close()})}openEditPersonalDetailsModal(){const e=this.modalService.open(se,{centered:!0});let s=this.fb.group({firstName:[this.user.first_name,[l.kI.required]],lastName:[this.user.last_name,[l.kI.required]],email:[this.user?.email||this.user?.email_pending||"",[l.kI.required,l.kI.email]]});e.componentInstance.form=s,e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(a=>{e.close(),this.user.first_name=a.firstName,this.user.last_name=a.lastName,this.user.email=a.email}),e.componentInstance.closed.subscribe(a=>{e.close()})}openChangePasswordModal(){const e=this.modalService.open(ne,{centered:!0});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{e.close()}),e.componentInstance.closed.subscribe(s=>{e.close()})}openAddDisplayedLocationModal(){const e=this.modalService.open(te,{centered:!0});e.componentInstance.user=this.user,e.componentInstance.addSuccess.subscribe(s=>{this.user.country_current=s.currentCountry,s.currentCity&&s.currentCity.id?this.user.city_current=s.currentCity:this.user.city_custom_current=s.currentCity,e.close()}),e.componentInstance.closed.subscribe(s=>{e.close()})}logoutAllDevices(){this.authService.logoutAllDevices()}getDisplayPhone(){return(0,f.jo)(this.user?.phone_number)?this.user.phone_number:(0,f.jo)(this.user?.phone_number_pending)?this.user.phone_number_pending:null}hasPhone(){return(0,f.yi)(this.user)}hasEmail(){return(0,f.LR)(this.user)}needsEmailVerify(){return(0,f.LR)(this.user)&&!(0,f.I7)(this.user)}needsPhoneVerify(){return(0,f.jo)(this.user?.phone_number_pending)&&!(0,f.cK)(this.user)}navigateToPhoneFlow(){this.router.navigate([this.hasPhone()?"/change-phone":"/add-phone"])}navigateToEmailFlow(){this.router.navigate([this.hasEmail()?"/change-email":"/add-email"])}getCurrentLocation(){let e=this.user.country_current?this.user.country_current.name:"-";return this.user.city_current?e=`${this.user.city_current.name_ascii}, ${e}`:this.user.city_custom_current&&(e=`${this.user.city_custom_current}, ${e}`),e}getSignupLocation(){let e=this.user.country_signup?this.user.country_signup.name:"-";return this.user.city_signup?e=`${this.user.city_signup.name_ascii}, ${e}`:this.user.city_custom_signup&&(e=`${this.user.city_custom_signup}, ${e}`),e}static#e=this.ctorParameters=()=>[{type:b.FF},{type:l.QS},{type:h.gz},{type:h.F0},{type:Me.e}];static#t=this.propDecorators={user:[{type:t.IIB}]}};ie=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-account",template:'<div *ngIf="user">\n    <div class="w-100 position-relative">\n        <mmb-web-app-edit-profile-action-panel (clicked)="openEditProfilePicModal()" [value]="user.profile_image">\n        </mmb-web-app-edit-profile-action-panel>\n\n        <div class="mb-4 mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n            Profile Image\n        </div>\n        <div class="mmb-body-1 mt-4 h-auto position-relative w-100 pl-4" fxLayout="row" fxLayoutAlign="start start">\n            <img *ngIf="user.profile_image" [src]="user.profile_image" onerror="this.src=\'assets/images/avatars/
1avatar-not-found.svg\'" alt=""\n                class="w-160px h-160px object-fit-cover border-radius-lg" />\n                <div fxLayout="row nowrap" fxLayoutAlign="center center" *ngIf="!user.profile_image" class="border-radius-lg bg-secondary-light w-130px h-130px">\n                    <i class="mmb-display-1 ri-user-6-line text-primary font-weight-100"></i>\n                </div>\n        </div>\n    </div>\n\n    <div class="w-100 position-relative mt-8">\n        <mmb-web-app-edit-profile-action-panel (clicked)="openEditPersonalDetailsModal()" [value]="user.first_name">\n        </mmb-web-app-edit-profile-action-panel>\n\n        <div class="mb-4 mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n            My Account Details\n        </div>\n        <div class="mmb-body-1 mt-4 h-auto position-relative w-100 pl-4" fxLayout="column">\n            <div class="mmb-form-group mb-2">\n                <input class="mmb-form-control mmb-caption" ([ngModel])="name" type="text"\n                    value="{{ user.first_name }} {{ user.last_name }}" readonly disabled>\n            </div>\n            <div class="mmb-form-group mb-3">\n                <input class="mmb-form-control mmb-caption" ([ngModel])="email" type="text" [value]="user.email || user.email_pending || \'Add email address\'" readonly disabled>\n                <button class="mmb-btn mmb-btn-tertiary px-4 py-1 mt-2" (click)="navigateToEmailFlow()">{{ hasEmail() ? \'Change\' : \'Add\' }} email</button>\n                <a *ngIf="needsEmailVerify()" class="mmb-btn mmb-btn-tertiary px-4 py-1 mt-2 ml-2" [routerLink]="[\'/verify-email\']">Verify</a>\n            </div>\n            <div class="mmb-form-group mb-3">\n                <input class="mmb-form-control mmb-caption" type="text" [value]="getDisplayPhone() || \'Add phone number\'" readonly disabled>\n                <button class="mmb-btn mmb-btn-tertiary px-4 py-1 mt-2" (click)="navigateToPhoneFlow()">{{ hasPhone() ? \'Change\' : \'Add\' }} phone number</button>\n                <a *ngIf="needsPhoneVerify()" class="mmb-btn mmb-btn-tertiary px-4 py-1 mt-2 ml-2" [routerLink]="[\'/verify-phone-number\']">Verify</a>\n            </div>\n            <div class="mmb-form-group mb-2">\n                <button class="mmb-btn mmb-btn-tertiary px-4 py-1" (click)="openChangePasswordModal()">Change\n                    password</button>\n            </div>\n            <div class="mmb-form-group mb-2">\n                <button class="mmb-btn mmb-btn-tertiary px-4 py-1" (click)="logoutAllDevices()">Log out from all devices</button>\n            </div>\n        </div>\n    </div>\n    <div class="w-100 position-relative mt-8">\n        <mmb-web-app-edit-profile-action-panel [value]="user.birth_date" (clicked)="openDateOfBirthModal()">\n        </mmb-web-app-edit-profile-action-panel>\n\n        <div class="mb-4 mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n            Date of birth\n        </div>\n        <div class="mmb-body-1 mt-4 h-auto position-relative w-100 pl-4" fxLayout="column">\n            <div class="mmb-form-group mb-2">\n                <input class="mmb-form-control mmb-caption" [value]="user.birth_date" type="date" readonly disabled>\n            </div>\n        </div>\n    </div>\n\n    <div class="w-100 position-relative mt-8">\n        \x3c!-- TBD: Do we need edit functionality for initial location? --\x3e\n        \x3c!-- <mmb-web-app-edit-profile-action-panel [value]="user.city_signup">\n        </mmb-web-app-edit-profile-action-panel> --\x3e\n\n        <div class="mb-4 mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n            My Initial Location <span class="mmb-caption">(registered with)</span>\n        </div>\n        <div class="mmb-body-1 mt-4 h-auto position-relative w-100 pl-4" fxLayout="column">\n            <div class="mmb-form-group mb-2">\n                <input class="mmb-form-control mmb-caption" [value]="getSignupLocation()" type="text" readonly disabled>\n            </div>\n        </div>\n    </div>\n    <div class="w-100 position-relative mt-8" *ngIf="getCurrentLocation() as location">\n        <mmb-web-app-edit-profile-action-panel (clicked)="openAddDisplayedLocationModal()" [value]="location !== \'-\'">\n        </mmb-web-app-edit-profile-action-panel>\n\n        <div class="mb-4 mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n            My Current Location <span class="mmb-caption">(current)</span>\n        </div>\n        <div class="mmb-body-1 mt-4 h-auto position-relative w-100 pl-4" fxLayout="column">\n            <div class="mmb-form-group mb-2" *ngIf="location !== \'-\'">\n                <input class="mmb-form-control mmb-caption" [value]="getCurrentLocation()" type="text" readonly>\n            </div>\n            <div *ngIf="location === \'-\'">\n                Add current location\n            </div>\n        </div>\n    </div>\n</div>',styles:[es()]})],ie);var bs=n(49730),gs=n.n(bs);let oe=class{constructor(e){this.profileService=e,this.data=null,this.categoryGroups=[],this.preferences={},this.isLoading=!0,this.openPanels=[]}ngOnInit(){this._loadPreferences()}togglePanel(e){const s=this.openPanels.indexOf(e);s>-1?this.openPanels.splice(s,1):this.openPanels.push(e)}isPanelOpen(e){return this.openPanels.includes(e)}isSelected(e){return!!this.preferences[e.id]}onChange(e,s){const a=s.target.checked,m=e.id;this.preferences={...this.preferences,[m]:a},this._savePreferences(this.preferences)}_loadPreferences(){this.isLoading=!0,this.profileService.getMessagingPreferences().subscribe({next:e=>{this.data=e,this.preferences={...e.preferences||{}},this.categoryGroups=this._groupColumnsByCategory(e.columns||[]),this.openPanels=this.categoryGroups.map(s=>s.categoryKey),this.isLoading=!1},error:()=>{this.isLoading=!1}})}_groupColumnsByCategory(e){const s=new Map,a=new Map;for(const m of e){const p=m.category||"other";
1s.has(p)||(s.set(p,[]),a.set(p,m.category_label||p.charAt(0).toUpperCase()+p.slice(1))),s.get(p).push(m)}return Array.from(s.entries()).map(([m,p])=>({categoryKey:m,categoryLabel:a.get(m)||m,columns:p}))}_savePreferences(e){this.profileService.updateMessagingPreferences({preferences:e}).subscribe({error:()=>{}})}static#e=this.ctorParameters=()=>[{type:u.H}];static#t=this.propDecorators={user:[{type:t.IIB}]}};oe=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-step-notification",template:'<div class="w-100 position-relative">\n  <ng-container *ngIf="isLoading">\n    <div class="mb-12 p-relative">Loading communication preferences\u2026</div>\n  </ng-container>\n\n  <ng-container *ngIf="!isLoading && categoryGroups.length === 0">\n    <div class="mb-12 p-relative">No preference options available.</div>\n  </ng-container>\n\n  <ng-container *ngIf="!isLoading && categoryGroups.length > 0">\n    <div *ngFor="let group of categoryGroups" class="mb-12 p-relative">\n      <span\n        class="px-4 py-1 border-radius-lg position-absolute text-primary cursor-pointer top-0 right-0 mmb-border"\n        (click)="togglePanel(group.categoryKey)">\n        <i *ngIf="!isPanelOpen(group.categoryKey)" class="ri-arrow-down-s-line"></i>\n        <i *ngIf="isPanelOpen(group.categoryKey)" class="ri-arrow-up-s-line"></i>\n      </span>\n      <div class="mb-5 mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        {{ group.categoryLabel }}\n      </div>\n      <mat-accordion>\n        <mat-expansion-panel [expanded]="isPanelOpen(group.categoryKey)" hideToggle>\n          <div\n            *ngFor="let column of group.columns"\n            class="w-100 mmb-border border-radius-xs py-3 px-5 mb-2"\n            fxLayout="row"\n            fxLayoutAlign="space-between center">\n            <div fxLayout="column">\n              <span class="mmb-body-1 mb-2">{{ column.title }}</span>\n              <span class="mmb-caption-2">{{ column.description }}</span>\n            </div>\n            <div>\n              <label class="switch">\n                <input\n                  type="checkbox"\n                  (change)="onChange(column, $event)"\n                  [checked]="isSelected(column)" />\n                <span class="slider round"></span>\n              </label>\n            </div>\n          </div>\n        </mat-expansion-panel>\n      </mat-accordion>\n    </div>\n  </ng-container>\n</div>\n',styles:[gs()]})],oe);var _s=n(97257),fs=n.n(_s);let re=class{constructor(e,s,a){this.sharedService=e,this.userOnboardingService=s,this.profileService=a}ngOnInit(){this.sharedService.referenceTypes$.subscribe(e=>{e&&(this.seniorities=e.type_reference_user_profile_seniority)}),this._getPersonaOptions(),this._getUserCountryConnections(),this._getUserIndustries()}getSeniority(e){return this._findValueById(this.seniorities,e)}getPersona(e){return this._findItemById(this.personas,e)}_getUserIndustries(){this.userOnboardingService.getUserPrimaryIndustry().subscribe(e=>{this.selectedIndustries=e})}_getUserCountryConnections(){this.profileService.getUserInternational().subscribe(e=>{this._mapCountriesConnections(e)})}_mapCountriesConnections(e){let s=[];for(let a of e)s[a.country.id]||(s[a.country.id]={country:a.country,uuid:a.uuid,country_statuses:[]}),a.country_status.recordUuid=a.uuid,s[a.country.id].country_statuses.push(a.country_status);this.userCountryConnections=s}_getPersonaOptions(){this.userOnboardingService.getUserProfileReferenceType().subscribe(e=>{this.personas=e})}_findItemById(e,s){return e?e.find(a=>a.value===s):null}_findValueById(e,s){let a=e?e.find(m=>m.value===s):null;return a?a.name:null}static#e=this.ctorParameters=()=>[{type:g.F},{type:_.m},{type:u.H}];static#t=this.propDecorators={user:[{type:t.IIB}]}};re=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-profile-highlights-section",template:'<div class="p-5 bg-white">\n    <div class="mb-3 text-center">\n        <img class="mmb-left-0px mmb-right-0px text-center m-auto border-radius-xl h-80px w-80px mx-w-80px object-fit-cover"\n            [src]="user.profile_image" onerror="this.src=\'assets/images/avatars/onboarding-avatar.svg\'" />\n    </div>\n\n    <div class="text-center mb-8">\n        <div class="mmb-subheading-2">{{ user.first_name }} {{ user.last_name }}</div>\n        <div class="mmb-caption">{{ user.credentials.professional_title }}</div>\n    </div>\n\n    <div class="mb-6">\n        <button class="mmb-btn mmb-btn-primary w-100" [ngClass]="{\'mmb-caption-2--disabled\': true}">Follow</button>\n    </div>\n\n    <div class="p-2 text-center mmb-border mmb-caption mb-6">\n        {{ getSeniority(user.credentials.seniority_user) }} with {{ user.credentials.experience_years_user }} years of\n        experience\n    </div>\n\n    <div class="mb-6" *ngIf="getPersona(user.credentials.candidate_type_user) as selectedPersona">\n        <div class="position-relative border-radius-sm mmb-overflow-hidden w-100">\n            <img class="h-100px w-100 object-fit-cover" [src]="selectedPersona.avatar" />\n            <div\n                class="position-absolute z-index-100 mmb-caption-2 text-white bottom-0 bg-dark--overlay absolute-center w-100 text-center border-radius-sm w-75p">\n                {{ selectedPersona.name }}</div>\n        </div>\n    </div>\n\n    <div class="p-4 text-center mmb-border mmb-caption mb-3">\n        <ng-container *ngFor="let connection of userCountryConnections">\n            <div *ngIf="connection && connection.country" fxLayout="row wrap" fxLayoutAlign="center start">\n                <div fxFlex="50px">
1\n                    <div class="fp fp-lg mr-2" [ngClass]="connection.country.code"></div>\n                </div>\n                <div fxFlex="100px" class="mmb-body-1">{{ connection.country.name }}</div>\n            </div>\n        </ng-container>\n    </div>\n\n    <div class="p-4 text-center mmb-border mb-6">\n        <div class="text-uppercase mmb-body-1 mb-2">\n            <strong>Global Connections</strong>\n        </div>\n        <ng-container *ngFor="let connection of userCountryConnections">\n            <span class="mmb-body-1" *ngIf="connection && connection.country" fxLayout="row wrap"\n                fxLayoutAlign="center start">\n                {{ connection.country.name }}\n            </span>\n        </ng-container>\n    </div>\n\n    <div class="mb-10">\n        <button class="mmb-btn mmb-btn-primary w-100 mb-3"\n            [ngClass]="{\'mmb-caption-2--disabled\': (!user.linkedin || !user.linkedin.public_profile_url) }">LinkedIn</button>\n        <button class="mmb-btn mmb-btn-primary w-100 mb-3"\n            [ngClass]="{\'mmb-caption-2--disabled\':  (!user.twitter || !user.twitter.public_profile_url)}">Twitter</button>\n        <button class="mmb-btn mmb-btn-primary w-100"\n            [ngClass]="{\'mmb-caption-2--disabled\': (!user.cvs || user.cvs.length === 0)}">CV</button>\n    </div>\n\n    <div class="mb-6">\n        <div class="text-center text-uppercase mmb-body-1 mb-6">\n            <strong>Interested in industries</strong>\n        </div>\n\n        <div fxLayout="row wrap" fxLayoutAlign="start center">\n            <div class="mr-2 bg-white mmb-caption-2 py-2 px-4 mmb-border border-radius-xl mb-2"\n                *ngFor="let item of selectedIndustries">\n                {{ item.industry.name }}\n            </div>\n        </div>\n    </div>\n\n    <div class="mb-6">\n        <div class="text-center text-uppercase mmb-body-1 mb-6">\n            <strong>Cares About</strong>\n        </div>\n\n        <div class="mb-2" fxLayout="row wrap" fxLayoutAlign="start center">\n            <div *ngFor="let item of user.causes">\n                <div class="mr-2 mb-2">\n                    <div class="position-relative border-radius-12 mmb-overflow-hidden w-100">\n                        <img class="h-64px w-64px object-fit-cover" [src]="item.cause.avatar" />\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>',styles:[fs()]})],re);var ys=n(75354),xs=n.n(ys);let ae=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={user:[{type:t.IIB}]}};ae=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-profile-details-section",template:'\n<div class="p-5">\n    <p>profile-details-section works!</p>\n</div>',styles:[xs()]})],ae);var Ss=n(87905),Cs=n.n(Ss);let Ie=class{constructor(){this.clicked=new t.vpe}ngOnInit(){}onClick(){this.clicked.emit()}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={clicked:[{type:t.r_U}],value:[{type:t.IIB}]}};Ie=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-edit-profile-action-panel",template:'<i *ngIf="value" (click)="onClick()" class="ri-edit-box-line ri-lg position-absolute text-primary cursor-pointer top-0 right-0"></i>\n<i *ngIf="!value" (click)="onClick()" class="ri-add-line ri-lg position-absolute text-primary cursor-pointer top-0 right-0"></i>',styles:[Cs()]})],Ie);var Os=n(30417),ws=n(44316);var Ps=n(58359),Ls=n.n(Ps);let Se=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[]};Se=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-experience-info",template:"<p>add-experience-info works!</p>\n",styles:[Ls()]})],Se);var As=n(82180);var Ms=n(81920),ks=n.n(Ms);let Ce=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[]};Ce=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-social-link",template:"<p>add-social-link works!</p>\n",styles:[ks()]})],Ce);var Fs=n(42188),Ts=n.n(Fs);let Oe=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[]};Oe=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-add-cv",template:"<p>add-cv works!</p>\n",styles:[Ts()]})],Oe);var Us=n(62675),ke=n(23294);var Bs=n(64938),js=n.n(Bs);let we=class{constructor(e,s,a){this.sharedService=e,this.userOnboardingService=s,this.profileService=a}ngOnInit(){this.sharedService.referenceTypes$.subscribe(e=>{e&&(this.seniorities=e.type_reference_user_profile_seniority)}),this._getPersonaOptions(),this._getUserCountryConnections(),this._getUserIndustries()}getSeniority(e){return this._findValueById(this.seniorities,e)}openExternalLink(e){-1===e.indexOf("https://")&&(e=`https://${e}`),window.open(e,"_blank")}getPersona(e){return this._findItemById(this.personas,e)}getCurrentLocation(){let e=this.user.country_current?this.user.country_current.name:"-";return this.user.city_current?e=`${this.user.city_current.name}, ${e}`:this.user.city_custom_current&&(e=`${this.user.city_custom_current}, ${e}`),e}_getUserIndustries(){this.userOnboardingService.getUserPrimaryIndustry().subscribe(e=>{this.selectedIndustries=e})}_getUserCountryConnections(){this.profileService.getUserInternational().subscribe(e=>{this._mapCountriesConnections(e)})}_getPersonaOptions(){this.userOnboardingService.getUserProfileReferenceType().subscribe(e=>{this.personas=e})}_mapCountriesConnections(e){let s=[];for(let a of e)s[a.country.id]||(s[a.country.id]={country:a.country,uuid:a.uuid,country_statuses:[]}),a.country_status.recordUuid=a.uuid,s[a.country.id].country_statuses.push(a.country_status);this.userCountryConnections=s}_findItemById(e,s){return e?e.find(a=>a.value===s):null}_findValueById(e,s){let a=e?e.find(m=>m.value===s):null;return a?a.name:null}static#e=this.ctorParameters=()=>[{type:g.F},{type:_.m},{type:u.H}];static#t=this.propDecorators={user:[{type:t.IIB}]}};we=(0,i.gn)([(0,t.wA2)({selector:"mmb-web-app-step-profile-summary",template:'<div class="w-100 position-relative">\n    <div class="mmb-emphasize-left-secondary mmb-body-2 text-black text-transform-none">\n        Summary\n    </div>\n</div>\n<div class="w-100 mt-6" fxLayout="row" fxLayoutGap="10px" fxLayout.xs="column">\n    <button fxFlex class="mmb-btn mmb-btn-secondary mb-3 maxh-40px"\n        [ngClass]="{\'mmb-caption-2--disabled\': (!user.linkedin || !user.linkedin.public_profile_url) }" fxLayout="row"\n        fxLayoutAlign="center center" (click)="openExternalLink(user.linkedin.public_profile_url)">\n        <i class="ri-linkedin-box-fill ri-lg mr-2"></i> LinkedIn\n    </button>\n    <button fxFlex class="mmb-btn mmb-btn-secondary mb-3 maxh-40px" (click)="openExternalLink(user.twitter.public_profile_url)"\n        [ngClass]="{\'mmb-caption-2--disabled\': (!user.twitter || !user.twitter.public_profile_url) }" fxLayout="row"\n        fxLayoutAlign="center center">\n        <i class="ri-twitter-fill ri-lg mr-2"></i> Twitter\n    </button>\n    <button fxFlex class="mmb-btn mmb-btn-secondary maxh-40px" (click)="openExternalLink(user.cvs[0].cv)"\n        [ngClass]="{\'mmb-caption-2--disabled\': (!user.cvs || user.cvs.length === 0)}" fxLayout="row"\n        fxLayoutAlign="center center">\n        <i class="ri-file-pdf-line ri-lg mr-2"></i> CV\n    </button>\n</div>\n\n<div fxLayout="row" fxLayout.xs="column" fxLayoutGap="10px" fxLayoutAlign="space-between center">\n    <div fxLayout="row" fxLayoutAlign="center center" class="p-2 w-100 minh-40px mmb-border border-radius-xs mmb-caption  mt-8 text-center">\n        <strong class="mr-1">{{ getSeniority(user.credentials.seniority_user) }} </strong>\n         with \n         <strong class="mx-1"> {{ user.credentials.experience_years_user }} </strong> \n         years of experience\n    </div>\n    <div *ngIf="user.country_current" class="text-center" fxLayout="row" fxLayoutAlign="center center"\n        class="w-100 mmb-body-1 minh-40px p-2 mmb-border border-radius-xs" ngClass.gt-xs="mt-8" ngClass.xs="mt-2">\n        <img [src]="user.country_current.avatar" class="w-24px" />
1\n        <span class="pl-2 mmb-caption">{{ getCurrentLocation() }}</span>\n    </div>\n</div>\n\n<div class="mmb-caption text-uppercase mb-3 mt-8"><strong>Global Connections</strong></div>\n<div class="mt-4">\n    <ng-container *ngFor="let connection of userCountryConnections;let i=index">\n        <span *ngIf="connection && connection.country" class="mmb-caption-2">\n            {{ connection.country.name }}<span\n                *ngIf="userCountryConnections.length > 1 && i > 1 && i < userCountryConnections.length - 1">,\n            </span>\n        </span>\n    </ng-container>\n</div>\n\n<div class="mmb-body-1 text-uppercase mb-3 mt-6"><strong>Interested Industries</strong></div>\n<div class="mt-4">\n    <div fxLayout="row wrap" fxLayoutGap="8px" fxLayoutAlign="start center">\n        <span *ngFor="let item of selectedIndustries"\n            class="mmb-border border-radius-lg p-2 mmb-body-1 mb-2 px-5">{{ item.industry.name }}</span>\n    </div>\n</div>\n\n<div class="mmb-caption text-uppercase mb-3 mt-6"><strong>Cares About</strong></div>\n<div class="w-100  mb-6" fxLayout="row wrap" fxLayoutGap="8px" fxLayoutAlign="start center" fxLayoutGap="8px">\n    <div class="position-relative border-radius-sm mmb-overflow-hidden w-80px h-80px mb-2"\n        *ngFor="let item of user.causes">\n        <img class="h-80px w-80px object-fit-cover" [src]="item.cause.avatar">\n    </div>\n</div>\n',styles:[js()]})],we);let Re=class{};Re=(0,i.gn)([(0,t.LVF)({declarations:[M,D.A,T,U,N,B,F,pt.U,ce,w,R,j,P,L,de,O,k,me,pe,ue,be,ge,ve,_e,fe,he,H,Y,ee,ye._,ie,oe,re,ae,Ie,z,X,G,$,V,Q,W,K,q,Z,J,ws.w,Se,As.u,Ce,Oe,Us.j,xe.x,te,ne,se,A,ke.i,we,E],imports:[o.ez,le,mt.m,l.UX,l.u5,Pt.o9,b.IJ,Vt.Tx,Os.PublicModule,Gt.To],exports:[D.A,T,U,B,N,j,H,Y,ee,ye._,ie,oe,re,ae,A,ke.i,E]})],Re)},23190:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},75354:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},97257:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},36166:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},17927:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},59205:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},45426:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},42188:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},65808:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},79930:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},15168:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},58359:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},85003:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},66622:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},66181:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},80286:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},33399:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},55885:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},63714:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},50008:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},6819:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},60052:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},37408:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},98316:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},81920:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},56836:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},96753:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},88808:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},75424:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},56326:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},87905:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},49385:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},41067:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},83599:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},93743:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()}
1,93968:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,".modal-lg {\n  max-width: 1000px;\n}",""]),r.exports=o.toString()},79348:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},18033:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},49730:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},64938:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},11557:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},91636:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},95953:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},71376:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},91948:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},54446:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},59402:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},82017:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},66605:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},70364:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},27983:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()},56617:(r,c,n)=>{var i=n(337),o=n(60931)(i);o.push([r.id,"",""]),r.exports=o.toString()}}]);
2//# sourceMappingURL=958.4565bd6c7fdd179a.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.