{"version":3,"sources":["webpack:///src/app/decorators/index.ts","webpack:///src/app/components/contact/contact.component.html","webpack:///src/app/components/user-details/user-details.component.html","webpack:///src/app/components/dashboard/filter-viewer/filter-viewer.component.ts","webpack:///src/app/view-models/user-role-view-model.ts","webpack:///src/app/components/dashboard/dashboard.component.html","webpack:///src/app/dialogs/confirm.dialog.html","webpack:///src/app/components/user-manager/user-manager.component.html","webpack:///src/app/view-models/filters/idw-filter-view-model.ts","webpack:///src/app/view-models/filters/review-document-filter-view-model.ts","webpack:///src/app/components/header/header.component.ts","webpack:///src/app/view-models/document-file-view-model.ts","webpack:///src/app/services/role.service.ts","webpack:///src/app/components/user-chooser/user-chooser.component.html","webpack:///src/app/components/review/review.component.ts","webpack:///src/app/dialogs/confirm.dialog.ts","webpack:///src/app/view-models/document-view-model.ts","webpack:///src/app/components/add-correspondence/validators/before-tomorrow.validator.ts","webpack:///src/app/view-models/filters/base-filter-view-model.ts","webpack:///src/app/services/error.service.ts","webpack:///src/app/view-models/filters/correspondence-filter-view-model.ts","webpack:///src/environments/environment.ts","webpack:///src/app/components/help/help.component.ts","webpack:///src/app/view-models/filters/index.ts","webpack:///src/app/components/download/download.component.html","webpack:///src/app/components/review/review.component.html","webpack:///src/app/view-models/review-view-model.ts","webpack:///src/app/components/contact-details/contact-details.component.ts","webpack:///src/app/components/contact/contact.component.ts","webpack:///src/app/decorators/endpoint.decorator.ts","webpack:///src/app/view-models/filters/operator.ts","webpack:///src/app/components/download/download.component.ts","webpack:///src/app/dialogs/index.ts","webpack:///src/app/view-models/review-comment-view-model.ts","webpack:///src/app/view-models/correspondence-view-model.ts","webpack:///src/app/components/filtered-dashboard/filtered-dashboard.component.html","webpack:///src/app/components/dashboard/dashboard.component.ts","webpack:///src/app/view-models/correspondence-input-model.ts","webpack:///src/app/components/help/help.component.html","webpack:///src/app/components/add-correspondence/validators/index.ts","webpack:///src/app/components/manage-contacts/manage-contacts.component.ts","webpack:///src/app/dialogs/download.dialog.html","webpack:///src/app/components/dashboard/filter.dialog.html","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/view-models/filters/corr-count-filter-view-model.ts","webpack:///src/app/app.component.ts","webpack:///src/app/components/user-details/user-details.component.ts","webpack:///src/app/app.config.tokens.ts","webpack:///src/app/view-models/filters/correspondence-subfilter-view-model.ts","webpack:///src/app/components/dashboard/filter.dialog.ts","webpack:///src/app/guards/auth.guard.ts","webpack:///src/app/components/login/login.component.ts","webpack:///src/app/components/add-review/add-review.component.ts","webpack:///src/app/components/contact-details/contact-details.component.html","webpack:///src/app/view-models/category-view-model.ts","webpack:///src/app/components/dashboard/filter-viewer/filter-viewer.component.html","webpack:///src/app/components/header/header.component.html","webpack:///src/app/view-models/requestor-view-model.ts","webpack:///src/app/components/filtered-dashboard/filtered-dashboard.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/view-models/base-view-model.ts","webpack:///src/app/components/add-correspondence/add-correspondence.component.html","webpack:///src/app/view-models/correspondence-category-view-model.ts","webpack:///src/app/services/community-auth.service.ts","webpack:///src/app/view-models/requestor-correspondence-view-model.ts","webpack:///src/app/static-data/index.ts","webpack:///src/app/components/add-correspondence/validators/after-today.validator.ts","webpack:///src/$_lazy_route_resource lazy namespace object","webpack:///src/app/components/add-document/add-document.component.html","webpack:///src/app/components/correspondence/correspondence.component.ts","webpack:///src/app/view-models/correspondence-document-view-model.ts","webpack:///src/app/guards/role.guard.ts","webpack:///src/app/components/login/login.component.html","webpack:///src/app/view-models/role-view-model.ts","webpack:///src/app/view-models/idw-view-model.ts","webpack:///src/app/components/add-user/add-user.component.html","webpack:///src/app/services/log.service.ts","webpack:///src/app/view-models/index.ts","webpack:///src/app/services/progress.service.ts","webpack:///src/app/directives/secured.directive.ts","webpack:///src/app/services/corr-filter.service.ts","webpack:///src/app/pipes/pretty-size.pipe.ts","webpack:///src/app/components/add-correspondence/add-correspondence.component.ts","webpack:///src/app/services/auth.service.ts","webpack:///src/app/components/add-document/add-document.component.ts","webpack:///src/app/services/mapper.service.ts","webpack:///src/app/view-models/filters/requestor-filter-view-model.ts","webpack:///src/app/services/index.ts","webpack:///src/app/view-models/filters/review-filter-view-model.ts","webpack:///src/app/view-models/review-document-view-model.ts","webpack:///src/app/components/manage-settings/manage-settings.component.ts","webpack:///src/app/customizations-of-internals/progress-interceptor.ts","webpack:///src/app/components/add-review/add-review.component.html","webpack:///src/app/view-models/user-view-model.ts","webpack:///src/app/components/manage-contacts/manage-contacts.component.html","webpack:///src/app/static-data/received-through.ts","webpack:///src/app/static-data/states.ts","webpack:///src/app/components/user-chooser/user-chooser.component.ts","webpack:///src/app/components/user-manager/user-manager.component.ts","webpack:///src/app/view-models/corr-count-view-model.ts","webpack:///src/app/static-data/priorities.ts","webpack:///src/app/services/scroll.service.ts","webpack:///src/app/view-models/filters/correspondence-document-filter-view-model.ts","webpack:///src/app/components/correspondence/correspondence.component.html","webpack:///src/app/view-models/contact-detail-view-model.ts","webpack:///src/app/components/add-user/add-user.component.ts","webpack:///src/app/decorators/mappable.decorator.ts","webpack:///src/app/services/repository.service.ts","webpack:///src/app/app.component.html","webpack:///src/app/components/manage-settings/manage-settings.component.html","webpack:///src/main.ts","webpack:///src/app/dialogs/download.dialog.ts","webpack:///src/app/view-models/filters/user-filter-view-model.ts"],"names":["FilterViewerComponent","updated","filterTypes","f","i","filter","Filters","indexOf","splice","emit","Ascending","UserRoleViewModel","UserId","RoleId","User","Role","IdwFilterViewModel","Type","IdwFilterType","Keywords","ReviewDocumentFilterViewModel","ReviewDocFilterType","ByReviewId","ReviewId","params","append","encodeURIComponent","HeaderComponent","route","auth","title","showBreadcrumbs","isAuthenticated","DocumentFileViewModel","ContentBytes","RoleService","authService","log","routeFrag","substr","hasAnyRole","warn","RoleServiceToken","ReviewComponent","repo","mapper","dialog","fb","router","toastr","vcr","editMode","documents","statuses","myForm","buildForm","subscribe","cid","rid","Get","toPromise","then","corr","rev","setupForm","review","refreshDocuments","doc","openDialog","Filename","result","Delete","ReviewDocument","Id","d","goToCorrespondence","Update","Remind","r","success","FullName","id","docFilter","Page","rdocs","map","rd","Document","downloadDialogRef","open","disableClose","componentInstance","downloadId","afterClosed","group","status","required","instructions","get","setValue","ReviewText","ReviewStatus","Instructions","message","dialogRef","text","value","yes","navigate","errors","raw","getRawValue","onUpdate","bind","rt","trim","ct","Summary","length","join","ConfirmDialog","DocumentViewModel","ContentType","Size","DocumentFile","CorrespondenceDocument","UUID","BeforeTomorrowValidator","tomorrow","add","c","v","beforeTomorrow","BaseFilterViewModel","PageSize","set","ErrorService","handler","type","origin","packet","next","callback","pipe","msg","ErrorServiceToken","CorrespondenceFilterViewModel","Op","j","QALogServiceFactory","OAuthConfig","redirectUri","clientId","scope","responseType","clearHashAfterLogin","issuer","loginUrl","logoutUrl","environment","production","qa","appConfig","logFactory","APIBaseURI","BaseURI","HelpComponent","ReviewViewModel","CorrespondenceId","Primary","Created","ReviewComments","ReviewDocuments","ReviewStatuses","key","ContactDetailsComponent","ContactComponent","activatedRoute","contact","keywords","userRole","form","role","names","realName","firstName","middleName","lastName","alias","validator","eitherOr","fieldPath","touched","hasError","error","name","controls","ctl","endpointMetadataKey","endpoint","uri","target","Reflect","getEndpoint","Operator","DownloadComponent","download","bytes","atob","nums","Array","charCodeAt","byteArray","Uint8Array","blob","Blob","window","navigator","msSaveOrOpenBlob","url","URL","createObjectURL","downloadLink","nativeElement","innerText","href","addEventListener","ev","cancelBubble","stopPropagation","click","ReviewCommentViewModel","Comment","CorrespondenceViewModel","Title","ReceivedThrough","RequestorCorrespondences","RequestorName","RequestorDetail","DateReceived","DueDate","Status","Notes","Priority","CorrespondenceCategories","p","rc","IsPrimary","Requestor","LastName","Statuses","DashboardComponent","corrFilterSvc","correspondences","loading","limit","totalItems","corrObs","subscriber","corrObs$","noAccessDashboard","rememberFilter","refreshPaging","refreshCorrespondences","storageKey","localStorage","JSON","stringify","json","parse","MapJsonToVM","err","cfilter","Count","savedFilterName","refreshFilter","chunk","concat","$event","pageIndex","pageSize","CorrespondenceInputModel","ManageContactsComponent","requestors","valueChanges","split","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","webpackContextKeys","Object","resolve","module","exports","CorrCountFilterViewModel","h","Category","ApiContains","AppComponent","commAuthService","scroll","authConfig","breadcrumbService","oauthService","configure","addCallbackForRouteRegex","path","decodeURIComponent","hideRouteRegex","filterNames","getAvailableFilterNames","updates","getFilter","unshift","runInitialLoginSequence","_","isDoneLoading$","isDone","isAuthenticated$","isAuth","Lookup","actualUsername","user","setUserInfo","console","subscribeAll","unhandledGlobalErrors","removeFilter","payload","trigger","openMenu","beginLoginFlow","logOut","UserDetailsComponent","userRoleControl","roleFilter","roles","allRoles","refreshUser","UserRoles","find","ur","confirm","RoleName","Create","AppConfigToken","OAuthConfigToken","CorrespondenceSubFilterViewModel","CorFilterType","DateTime","EndDateTime","FilterDialog","http","formBuilder","filteredStatuses","reviewers","categories","categoryControl","keywordsControl","requestorControl","reviewerControl","commTypeControl","sortControl","statusControl","filterName","saveToFavorites","filteredCategories","cat","catFilter","cs","Name","filteredRequestors","reqFilter","filteredReviewers","revFilter","filteredCommTypes","t","RegExp","test","setupRequestorsTypeahead","setupReviewersTypeahead","loadFilter","getFirstSubFilter","com","CommunicationType","Reviewer","kw","close","subfilter","ApiEquals","push","saveFilter","reset","resetStatuses","s","ind","AuthGuard","state","debug","LoginComponent","AddReviewComponent","showErrors","submitAttempted","userSelected","returnRoute","snapshot","reduce","reviewerObs","queryParams","qparams","primary","valid","actionBtn","cancelBtn","values","reviewer","getUserInfo","newRev","CategoryViewModel","Desc","RequestorViewModel","Alias","Affiliation","FirstName","MiddleName","ContactDetails","FilteredDashboardComponent","storageFactory","getAccessToken","getItem","AppModule","BaseViewModel","CorrespondenceCategoryViewModel","CategoryId","CommunityAuthService","isAuthenticatedSubject$","asObservable","isDoneLoadingSubject$","isImpersonatedSubject$","isImpersonated","canActivateProtectedRoutes$","every","b","impersonationKey","events","event","hasValidAccessToken","navigateToLoginPage","includes","loadUserProfile","navigateByUrl","location","hash","table","kvp","loadDiscoveryDocument","tryLoginCodeFlow","Promise","reject","stateUrl","startsWith","arguments","targetUrl","noState","initCodeFlow","silentRefresh","sessionStorage","removeItem","hawkId","impersonatedHawkId","getRefreshToken","getIdentityClaims","getIdToken","isImpersonating","identityClaims","RequestorCorrespondenceViewModel","RequestorId","Correspondence","AfterTodayValidator","today","afterToday","webpackEmptyAsyncContext","CorrespondenceComponent","correspondence","activeCategories","states","priorities","receivedThrough","canIntake","canSeeAttachments","canSeeReviews","isAdmin","submitting","buildCorrespForm","cats","refresh","setupCorrForm","invalid","corrUpdate","details","RequestorFirstName","RequestorMiddleName","RequestorLastName","RequestorDetails","Address1","RequestorAddress","City","RequestorCity","State","RequestorState","PostalCode","RequestorZip","Phone","RequestorPhone","Email","RequestorEmail","promise","categoryUpdates","arr","rdp","cdp","curCats","newccvms","u","ccm","delIds","n","cc","deletes","CreateMany","refreshReviews","refreshCorrAndCats","ByCorrespondenceId","documentsObs","cdocs","cd","reviewsObs","format","RequestorFullName","Date","toISOString","datesRequired","CorrespondenceDocumentViewModel","DocumentId","RoleGuard","roleService","routeConfig","can","canActivate","fragment","RoleViewModel","Description","IDWViewModel","HawkId","Department","First","Middle","Last","ConsoleWrapper","args","apply","LogService","_err","_log","_warn","_debug","optional","LogServiceToken","ProgressService","baseUri","progressEventObservable","fn","er","ProgressServiceToken","SecuredDirective","cdr","display","routerSubscription","update","routerLinks","changes","unsubscribe","link","toArray","urlTree","toString","detectChanges","CorrFilterService","updates$","observer","updatesObserver","filters","getFilterObj","awaitingReview","CorrFilterServiceToken","PrettySize","AddCorrespondenceComponent","correspondenceCategories","correspCat","receivedThroughCommon","NewRequestor","Details","Address","Zip","filteredReceivedThrough","back","ci","onCreate","ccms","rvm","AuthenticationService","oAuth","communityAuth","decodedToken","token","headers","rs","initImplicitFlow","tryLogin","setItem","isSessionExpired","jsonToken","sub","getAccessTokenExpiration","now","AuthenticationServiceToken","AddDocumentComponent","progress","whoAmI","mode","maxRequestLength","size","disabled","percentComplete","percentCompleteDisplay","fontRefs","computedTitle","cvm","broadcast","loaded","total","Math","round","files","updateMetrics","chooser","file","tempDocs","MouseEvent","bubbles","fileInput","dispatchEvent","clearUnselectedFromUpload","self","count","cur","FormData","docs","vms","cdvms","MapperService","dict","unmappedWarning","vm","tprops","prop","desc","getOwnPropertyDescriptor","writable","iterable","MapJsonToVMArray","Symbol","iterator","MapperServiceToken","RequestorFilterViewModel","RequestorFilterType","ReviewFilterViewModel","ReviewFilterType","ReviewDocumentViewModel","Review","ManageSettingsComponent","hasDailyEmailSummary","settingsForm","EmailNotifications","username","users","updateUI","ProgressInterceptor","service","handle","UserViewModel","receivedThroughDict","k","stateKeys","UserChooserComponent","latestKeywords","latestRole","updateResults","RoleAndKeywords","AnyRoleAndKeywords","RoleIds","ret","rolesSubset","blank","UserManagerComponent","order","UserManagerComponentToken","CorrCountViewModel","prioritiesDict","ScrollService","scroll$","scrollObserver","ScrollServiceToken","CorrespondenceDocumentFilterViewModel","CorDocFilterType","ContactDetailViewModel","AddressType","Address2","Country","PreferContactBy","PrimaryContact","AddUserComponent","subscription","uvm","mapMetadataKey","mappable","propertyKey","getMappableProperties","RepositoryService","getAsHttpParams","getAccept","getToken","res","myHeaders","input","put","post","RepositoryServiceToken","DownloadDialog","UserFilterViewModel","UserFilterType"],"mappings":"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;AACA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKJ;;AAAA;;AAGA;;AAAA;AAAU,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAUF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAUF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAUF;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACoB;;AAAhB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,2BAAgB,WAAhB;;AAKN;AAAA;;AAAA;;AAAA;;AACA;AAAA;;AAAA;;AAAA;AAAuD,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACrF/D,UAAId,GAAG,GAAG;AACT,gBAAQ,MADC;AAET,mBAAW,MAFF;AAGT,gBAAQ,MAHC;AAIT,mBAAW,MAJF;AAKT,sBAAc,MALL;AAMT,mBAAW,MANF;AAOT,sBAAc,MAPL;AAQT,mBAAW,MARF;AAST,sBAAc,MATL;AAUT,mBAAW,MAVF;AAWT,sBAAc,MAXL;AAYT,mBAAW,MAZF;AAaT,sBAAc,MAbL;AAcT,mBAAW,MAdF;AAeT,sBAAc,MAfL;AAgBT,mBAAW,MAhBF;AAiBT,gBAAQ,MAjBC;AAkBT,mBAAW,MAlBF;AAmBT,gBAAQ,MAnBC;AAoBT,mBAAW,MApBF;AAqBT,gBAAQ,MArBC;AAsBT,mBAAW,MAtBF;AAuBT,gBAAQ,MAvBC;AAwBT,mBAAW,MAxBF;AAyBT,gBAAQ,MAzBC;AA0BT,mBAAW,MA1BF;AA2BT,sBAAc,MA3BL;AA4BT,mBAAW,MA5BF;AA6BT,gBAAQ,MA7BC;AA8BT,mBAAW,MA9BF;AA+BT,gBAAQ,MA/BC;AAgCT,mBAAW,MAhCF;AAiCT,gBAAQ,MAjCC;AAkCT,mBAAW,MAlCF;AAmCT,gBAAQ,MAnCC;AAoCT,mBAAW,MApCF;AAqCT,gBAAQ,MArCC;AAsCT,mBAAW,MAtCF;AAuCT,gBAAQ,MAvCC;AAwCT,mBAAW,MAxCF;AAyCT,gBAAQ,MAzCC;AA0CT,mBAAW,MA1CF;AA2CT,gBAAQ,MA3CC;AA4CT,mBAAW,MA5CF;AA6CT,gBAAQ,MA7CC;AA8CT,mBAAW,MA9CF;AA+CT,sBAAc,MA/CL;AAgDT,mBAAW,MAhDF;AAiDT,sBAAc,MAjDL;AAkDT,mBAAW,MAlDF;AAmDT,gBAAQ,MAnDC;AAoDT,mBAAW,MApDF;AAqDT,gBAAQ,MArDC;AAsDT,mBAAW,MAtDF;AAuDT,mBAAW,MAvDF;AAwDT,sBAAc,MAxDL;AAyDT,mBAAW,MAzDF;AA0DT,sBAAc,MA1DL;AA2DT,mBAAW,MA3DF;AA4DT,sBAAc,MA5DL;AA6DT,mBAAW,MA7DF;AA8DT,sBAAc,MA9DL;AA+DT,mBAAW,MA/DF;AAgET,sBAAc,MAhEL;AAiET,mBAAW,MAjEF;AAkET,sBAAc,MAlEL;AAmET,mBAAW,MAnEF;AAoET,sBAAc,MApEL;AAqET,mBAAW,MArEF;AAsET,sBAAc,MAtEL;AAuET,gBAAQ,MAvEC;AAwET,mBAAW,MAxEF;AAyET,gBAAQ,MAzEC;AA0ET,mBAAW,MA1EF;AA2ET,sBAAc,MA3EL;AA4ET,mBAAW,MA5EF;AA6ET,sBAAc,MA7EL;AA8ET,mBAAW,MA9EF;AA+ET,sBAAc,MA/EL;AAgFT,mBAAW,MAhFF;AAiFT,gBAAQ,MAjFC;AAkFT,mBAAW,MAlFF;AAmFT,gBAAQ,MAnFC;AAoFT,mBAAW,MApFF;AAqFT,gBAAQ,MArFC;AAsFT,mBAAW,MAtFF;AAuFT,gBAAQ,MAvFC;AAwFT,mBAAW,MAxFF;AAyFT,iBAAS,MAzFA;AA0FT,oBAAY,MA1FH;AA2FT,gBAAQ,MA3FC;AA4FT,mBAAW,MA5FF;AA6FT,gBAAQ,MA7FC;AA8FT,mBAAW,MA9FF;AA+FT,sBAAc,MA/FL;AAgGT,mBAAW,MAhGF;AAiGT,sBAAc,MAjGL;AAkGT,mBAAW,MAlGF;AAmGT,gBAAQ,MAnGC;AAoGT,mBAAW,MApGF;AAqGT,gBAAQ,MArGC;AAsGT,mBAAW,MAtGF;AAuGT,gBAAQ,MAvGC;AAwGT,mBAAW,MAxGF;AAyGT,gBAAQ,MAzGC;AA0GT,mBAAW,MA1GF;AA2GT,sBAAc,MA3GL;AA4GT,yBAAiB,MA5GR;AA6GT,sBAAc,MA7GL;AA8GT,yBAAiB,MA9GR;AA+GT,gBAAQ,MA/GC;AAgHT,mBAAW,MAhHF;AAiHT,gBAAQ,MAjHC;AAkHT,mBAAW,MAlHF;AAmHT,gBAAQ,MAnHC;AAoHT,mBAAW,MApHF;AAqHT,gBAAQ,MArHC;AAsHT,mBAAW,MAtHF;AAuHT,gBAAQ,MAvHC;AAwHT,mBAAW,MAxHF;AAyHT,mBAAW,MAzHF;AA0HT,sBAAc,MA1HL;AA2HT,gBAAQ,MA3HC;AA4HT,mBAAW,MA5HF;AA6HT,gBAAQ,MA7HC;AA8HT,mBAAW,MA9HF;AA+HT,gBAAQ,MA/HC;AAgIT,mBAAW,MAhIF;AAiIT,sBAAc,MAjIL;AAkIT,mBAAW,MAlIF;AAmIT,gBAAQ,MAnIC;AAoIT,mBAAW,MApIF;AAqIT,gBAAQ,MArIC;AAsIT,mBAAW,MAtIF;AAuIT,gBAAQ,MAvIC;AAwIT,mBAAW,MAxIF;AAyIT,gBAAQ,MAzIC;AA0IT,mBAAW,MA1IF;AA2IT,gBAAQ,MA3IC;AA4IT,mBAAW,MA5IF;AA6IT,gBAAQ,MA7IC;AA8IT,mBAAW,MA9IF;AA+IT,gBAAQ,MA/IC;AAgJT,mBAAW,MAhJF;AAiJT,gBAAQ,MAjJC;AAkJT,mBAAW,MAlJF;AAmJT,gBAAQ,MAnJC;AAoJT,mBAAW,MApJF;AAqJT,gBAAQ,MArJC;AAsJT,mBAAW,MAtJF;AAuJT,gBAAQ,MAvJC;AAwJT,mBAAW,MAxJF;AAyJT,gBAAQ,MAzJC;AA0JT,mBAAW,MA1JF;AA2JT,gBAAQ,MA3JC;AA4JT,mBAAW,MA5JF;AA6JT,gBAAQ,MA7JC;AA8JT,mBAAW,MA9JF;AA+JT,gBAAQ,MA/JC;AAgKT,mBAAW,MAhKF;AAiKT,gBAAQ,MAjKC;AAkKT,mBAAW,MAlKF;AAmKT,gBAAQ,MAnKC;AAoKT,mBAAW,MApKF;AAqKT,gBAAQ,MArKC;AAsKT,mBAAW,MAtKF;AAuKT,gBAAQ,MAvKC;AAwKT,mBAAW,MAxKF;AAyKT,gBAAQ,MAzKC;AA0KT,mBAAW,MA1KF;AA2KT,sBAAc,MA3KL;AA4KT,mBAAW,MA5KF;AA6KT,gBAAQ,MA7KC;AA8KT,mBAAW,MA9KF;AA+KT,gBAAQ,MA/KC;AAgLT,mBAAW,MAhLF;AAiLT,gBAAQ,MAjLC;AAkLT,mBAAW,MAlLF;AAmLT,gBAAQ,MAnLC;AAoLT,mBAAW,MApLF;AAqLT,gBAAQ,MArLC;AAsLT,mBAAW,MAtLF;AAuLT,sBAAc,MAvLL;AAwLT,mBAAW,MAxLF;AAyLT,gBAAQ,MAzLC;AA0LT,mBAAW,MA1LF;AA2LT,oBAAY,MA3LH;AA4LT,uBAAe,MA5LN;AA6LT,mBAAW,MA7LF;AA8LT,sBAAc,MA9LL;AA+LT,gBAAQ,MA/LC;AAgMT,mBAAW,MAhMF;AAiMT,gBAAQ,MAjMC;AAkMT,mBAAW,MAlMF;AAmMT,sBAAc,MAnML;AAoMT,mBAAW,MApMF;AAqMT,gBAAQ,MArMC;AAsMT,mBAAW,MAtMF;AAuMT,gBAAQ,MAvMC;AAwMT,mBAAW,MAxMF;AAyMT,gBAAQ,MAzMC;AA0MT,mBAAW,MA1MF;AA2MT,gBAAQ,MA3MC;AA4MT,mBAAW,MA5MF;AA6MT,gBAAQ,MA7MC;AA8MT,mBAAW,MA9MF;AA+MT,gBAAQ,MA/MC;AAgNT,mBAAW,MAhNF;AAiNT,gBAAQ,MAjNC;AAkNT,mBAAW,MAlNF;AAmNT,gBAAQ,MAnNC;AAoNT,mBAAW,MApNF;AAqNT,gBAAQ,MArNC;AAsNT,qBAAa,MAtNJ;AAuNT,wBAAgB,MAvNP;AAwNT,mBAAW,MAxNF;AAyNT,gBAAQ,MAzNC;AA0NT,mBAAW,MA1NF;AA2NT,gBAAQ,MA3NC;AA4NT,mBAAW,MA5NF;AA6NT,gBAAQ,MA7NC;AA8NT,mBAAW,MA9NF;AA+NT,gBAAQ,MA/NC;AAgOT,mBAAW,MAhOF;AAiOT,gBAAQ,MAjOC;AAkOT,mBAAW,MAlOF;AAmOT,iBAAS,MAnOA;AAoOT,oBAAY,MApOH;AAqOT,gBAAQ,MArOC;AAsOT,mBAAW,MAtOF;AAuOT,gBAAQ,MAvOC;AAwOT,mBAAW,MAxOF;AAyOT,gBAAQ,MAzOC;AA0OT,mBAAW,MA1OF;AA2OT,mBAAW,MA3OF;AA4OT,sBAAc,MA5OL;AA6OT,iBAAS,MA7OA;AA8OT,oBAAY,MA9OH;AA+OT,gBAAQ,MA/OC;AAgPT,mBAAW,MAhPF;AAiPT,iBAAS,MAjPA;AAkPT,oBAAY,MAlPH;AAmPT,iBAAS,MAnPA;AAoPT,sBAAc,MApPL;AAqPT,yBAAiB,MArPR;AAsPT,oBAAY,MAtPH;AAuPT,mBAAW,MAvPF;AAwPT,sBAAc,MAxPL;AAyPT,gBAAQ,MAzPC;AA0PT,mBAAW,MA1PF;AA2PT,gBAAQ,MA3PC;AA4PT,mBAAW,MA5PF;AA6PT,gBAAQ,MA7PC;AA8PT,qBAAa,MA9PJ;AA+PT,wBAAgB,MA/PP;AAgQT,mBAAW,MAhQF;AAiQT,gBAAQ,MAjQC;AAkQT,mBAAW,MAlQF;AAmQT,sBAAc,MAnQL;AAoQT,yBAAiB,MApQR;AAqQT,gBAAQ,MArQC;AAsQT,mBAAW,MAtQF;AAuQT,mBAAW,MAvQF;AAwQT,sBAAc,MAxQL;AAyQT,mBAAW,MAzQF;AA0QT,sBAAc,MA1QL;AA2QT,mBAAW,MA3QF;AA4QT,sBAAc,MA5QL;AA6QT,mBAAW,MA7QF;AA8QT,sBAAc;AA9QL,OAAV;;AAkRA,eAASyM,cAAT,CAAwBC,GAAxB,EAA6B;AAC5B,YAAI9M,EAAE,GAAG+M,qBAAqB,CAACD,GAAD,CAA9B;AACA,eAAOE,mBAAmB,CAAChN,EAAD,CAA1B;AACA;;AACD,eAAS+M,qBAAT,CAA+BD,GAA/B,EAAoC;AACnC,YAAG,CAACE,mBAAmB,CAACC,CAApB,CAAsB7M,GAAtB,EAA2B0M,GAA3B,CAAJ,EAAqC;AACpC,cAAII,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAI,WAAC,CAACE,IAAF,GAAS,kBAAT;AACA,gBAAMF,CAAN;AACA;;AACD,eAAO9M,GAAG,CAAC0M,GAAD,CAAV;AACA;;AACDD,oBAAc,CAACQ,IAAf,GAAsB,SAASC,kBAAT,GAA8B;AACnD,eAAOC,MAAM,CAACF,IAAP,CAAYjN,GAAZ,CAAP;AACA,OAFD;;AAGAyM,oBAAc,CAACW,OAAf,GAAyBT,qBAAzB;AACAU,YAAM,CAACC,OAAP,GAAiBb,cAAjB;AACAA,oBAAc,CAAC7M,EAAf,GAAoB,MAApB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UC5Ra2N,wB;;;;;AAAb;AAAA;;AAAA;;;AAEW,kBAAAtS,OAAA,GAA2C,EAA3C;AAFX;AAwBC;;;;4CApByB;AAClB,gBAAIkB,MAAM,GAAG,IAAI,+DAAJ,EAAb;;AACA,iBAAK,IAAIqR,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAC,KAAKvS,OAAL,CAAagH,MAA7B,EAAqCuL,CAAC,EAAtC,EAA0C;AAEtC,kBAAI,KAAKvS,OAAL,CAAauS,CAAb,EAAgBvS,OAAhB,CAAwBgH,MAAxB,IAAkC,CAAtC,EAAyC;AACrC;AACA9F,sBAAM,GAAGA,MAAM,CAACC,MAAP,kBAAwBoR,CAAxB,kCAAiD,mFAAcC,QAA/D,EAAT;AACAtR,sBAAM,GAAGA,MAAM,CAACC,MAAP,kBAAwBoR,CAAxB,gCAA+C,mDAASE,WAAxD,EAAT;AACA;AACH;;AAED,mBAAI,IAAI3S,CAAC,GAAC,CAAV,EAAaA,CAAC,GAAC,KAAKE,OAAL,CAAauS,CAAb,EAAgBvS,OAAhB,CAAwBgH,MAAvC,EAA+ClH,CAAC,EAAhD,EAAoD;AAChDoB,sBAAM,GAAGA,MAAM,CAACC,MAAP,kBAAwBoR,CAAxB,uBAAsCzS,CAAtC,uBAAoD,KAAKE,OAAL,CAAauS,CAAb,EAAgBvS,OAAhB,CAAwBF,CAAxB,EAA2Ba,IAA/E,EAAT;AACAO,sBAAM,GAAGA,MAAM,CAACC,MAAP,kBAAwBoR,CAAxB,uBAAsCzS,CAAtC,qBAAkD,KAAKE,OAAL,CAAauS,CAAb,EAAgBvS,OAAhB,CAAwBF,CAAxB,EAA2B+I,EAA7E,EAAT;;AACA,qBAAK,IAAIC,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAC,KAAK9I,OAAL,CAAauS,CAAb,EAAgBvS,OAAhB,CAAwBF,CAAxB,EAA2Be,QAA3B,CAAoCmG,MAApD,EAA4D8B,CAAC,EAA7D;AACI5H,wBAAM,GAAGA,MAAM,CAACC,MAAP,kBAAwBoR,CAAxB,uBAAsCzS,CAAtC,2BAAwD,KAAKE,OAAL,CAAauS,CAAb,EAAgBvS,OAAhB,CAAwBF,CAAxB,EAA2Be,QAA3B,CAAoCiI,CAApC,CAAxD,EAAT;AADJ;AAEH;AACJ;;AACD,mBAAO5H,MAAP;AACH;;;;QAvByC,2E;;AAE1C,kBADC,6DAAS,kCAAT,CACD,G,kCAAA,E,SAAA,E,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCeSwR,Y;AAKX,8BAC6C5Q,WAD7C,EAES6Q,eAFT,EAG4CrQ,IAH5C,EAIuCiE,MAJvC,EAKqCxE,GALrC,EAM4CuN,aAN5C,EAOwCsD,MAPxC,EAQkCC,UARlC,EASYC,iBATZ,EAUYC,YAVZ,EAWYpQ,MAXZ,EAYYC,GAZZ,EAYiC;AAAA;;AAAA;;AAXY,eAAAd,WAAA,GAAAA,WAAA;AACpC,eAAA6Q,eAAA,GAAAA,eAAA;AACmC,eAAArQ,IAAA,GAAAA,IAAA;AACL,eAAAiE,MAAA,GAAAA,MAAA;AACF,eAAAxE,GAAA,GAAAA,GAAA;AACO,eAAAuN,aAAA,GAAAA,aAAA;AACJ,eAAAsD,MAAA,GAAAA,MAAA;AACN,eAAAC,UAAA,GAAAA,UAAA;AACtB,eAAAC,iBAAA,GAAAA,iBAAA;AACA,eAAAC,YAAA,GAAAA,YAAA;AACA,eAAApQ,MAAA,GAAAA,MAAA;AACA,eAAAC,GAAA,GAAAA,GAAA;AAmEZ,eAAApB,KAAA,GAAQ,UAAR;AAlEE,eAAKuR,YAAL,CAAkBC,SAAlB,CAA4BH,UAA5B;AACAC,2BAAiB,CAACG,wBAAlB,CAA2C,MAA3C,EAAmD,UAACC,IAAD;AAAA,mBAAUA,IAAI,CAAC3B,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAV;AAAA,WAAnD;AACAuB,2BAAiB,CAACG,wBAAlB,CAA2C,YAA3C,EAAyD,UAACC,IAAD;AAAA,mBAAUC,kBAAkB,CAACD,IAAD,CAA5B;AAAA,WAAzD;AACAJ,2BAAiB,CAACG,wBAAlB,CAA2C,WAA3C,EAAwD,UAACC,IAAD;AAAA,mBAAUA,IAAI,CAAC3B,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAV;AAAA,WAAxD;AACAuB,2BAAiB,CAACM,cAAlB,CAAiC,YAAjC;AACAN,2BAAiB,CAACM,cAAlB,CAAiC,kBAAjC;AACA,eAAKC,WAAL,GAAmB,KAAK/D,aAAL,CAAmBgE,uBAAnB,EAAnB;AAEA,eAAKhE,aAAL,CAAmBiE,OAAnB,CAA2BrQ,SAA3B,CAAqC,YAAM;AACzC,mBAAI,CAACmQ,WAAL,GAAmB,OAAI,CAAC/D,aAAL,CAAmBgE,uBAAnB,EAAnB;AACD,WAFD;;AAGA,cAAI,KAAKxR,WAAL,CAAiBJ,eAArB,EAAsC;AAClC,gBAAIgP,OAAO,GAAG,IAAI,6EAAJ,EAAd;AACAA,mBAAO,CAAC1Q,OAAR,GAAkB,KAAKsP,aAAL,CAAmBgE,uBAAnB,GAA6CvO,GAA7C,CAAiD,UAAAlF,CAAC;AAAA,qBAAI,OAAI,CAACyP,aAAL,CAAmBkE,SAAnB,CAA6B3T,CAA7B,CAAJ;AAAA,aAAlD,CAAlB;AACA6Q,mBAAO,CAAC1Q,OAAR,CAAgByT,OAAhB,CAAwB,KAAKnE,aAAL,CAAmBkE,SAAnB,CAA6B,iBAA7B,CAAxB;AACA,iBAAKlR,IAAL,CAAUuC,IAAV,CAAe,+DAAf,EAAmC6L,OAAnC,EACGpN,SADH,GAEGC,IAFH,CAEQ,YAAM,CAAG,CAFjB;AAGH;;AAED,4DAAK,KAAKoP,eAAL,CAAqBe,uBAArB,EAAL,EACSjL,IADT,CAEY,iEAAU,UAAAkL,CAAC;AAAA,mBAAI,OAAI,CAAChB,eAAL,CAAqBiB,cAAzB;AAAA,WAAX,CAFZ,EAGY,8DAAO,UAAAC,MAAM;AAAA,mBAAIA,MAAJ;AAAA,WAAb,CAHZ,EAIY,iEAAU,UAAAF,CAAC;AAAA,mBAAI,OAAI,CAAChB,eAAL,CAAqBmB,gBAAzB;AAAA,WAAX,CAJZ,EAKY,2DAAI,UAAMC,MAAN;AAAA,mBAAgB,SAAD;AAAA;AAAA;AAAA;AAAA;AAAA,2BACbA,MADa;AAAA;AAAA;AAAA;;AAAA;AAEH,6BAAMzR,IAAI,CAAC0R,MAAL,CAAY,0DAAZ,EAA2B,KAAKrB,eAAL,CAAqBsB,cAAhD,EAAgE3Q,SAAhE,EAAN;;AAFG;AAEf,2BAAK4Q,IAFU;AAGf,2BAAKpS,WAAL,CAAiBqS,WAAjB,CAA6B,KAAKD,IAAlC;AAHe;AAAA;;AAAA;AAKf,2BAAKnS,GAAL,CAASI,IAAT,CAAc,oBAAd;;AALe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAf;AAAA,WAAJ,EAOG,UAAAsO,GAAG;AAAA,mBAAI2D,OAAO,CAACxI,KAAR,CAAc6E,GAAd,CAAJ;AAAA,WAPN,CALZ,EAaUvN,SAbV;AAeE,eAAKqD,MAAL,CAAY8N,YAAZ,CAAyB,KAAKC,qBAAL,CAA2B3N,IAA3B,CAAgC,IAAhC,CAAzB;AACH;;;;qCAEU,CACV;;;uCAEoBkF,I,EAAc;AACjC,iBAAKyD,aAAL,CAAmBiF,YAAnB,CAAgC1I,IAAhC;AACD;;;gDAE6B2I,O,EAAwB;AACpDJ,mBAAO,CAACxI,KAAR,CAAc4I,OAAd;AACA,iBAAK7R,MAAL,CAAYiJ,KAAZ,CAAkB4I,OAAO,CAACvO,OAA1B,kBAA4CuO,OAAO,CAACpM,IAApD;AACD;;;uCAGY;AACX,iBAAKqM,OAAL,CAAaC,QAAb;AACD;;;kCAEI;AACH,iBAAK5S,WAAL,CAAiB6S,cAAjB;AACD;;;mCACK;AACJ,iBAAK5B,YAAL,CAAkB6B,MAAlB,CAAyB,KAAzB;AACD;;;mCAEQ5D,M,EAAQ;AACf,iBAAK4B,MAAL,CAAYA,MAAZ,CAAmB5B,MAAnB;AACD;;;;;;;;;;;;;;;;;;;;;ACvGH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAWA;AACA;;;UACa6D,oB;AAOX,sCAC0CvS,IAD1C,EAEmCP,GAFnC,EAGSS,MAHT,EAIUlB,KAJV,EAKUoB,MALV,EAKwB;AAAA;;AAJkB,eAAAJ,IAAA,GAAAA,IAAA;AACP,eAAAP,GAAA,GAAAA,GAAA;AAC1B,eAAAS,MAAA,GAAAA,MAAA;AACC,eAAAlB,KAAA,GAAAA,KAAA;AACA,eAAAoB,MAAA,GAAAA,MAAA;AAER,eAAKoS,eAAL,GAAuB,IAAI,0DAAJ,EAAvB;AACD;;;;qCAEU;AAAA;;AACT;AACA,gBAAIC,UAAU,GAAG,IAAI,gEAAJ,EAAjB;AACAA,sBAAU,CAAC/M,QAAX,GAAsB,EAAtB;AACA,iBAAK1F,IAAL,CAAUuC,IAAV,CAAe,0DAAf,EAA8BkQ,UAA9B,EACG7R,SADH,CACa,UAAA8R,KAAK,EAAI;AAClB,qBAAI,CAACC,QAAL,GAAgBD,KAAhB;AACA,qBAAI,CAACA,KAAL,GAAaA,KAAb;AACD,aAJH;AAMA,iBAAK1T,KAAL,CAAWJ,MAAX,CAAkBgC,SAAlB,CAA4B,UAAAhC,MAAM,EAAI;AACpC,kBAAIyD,EAAE,GAAW,CAACzD,MAAM,CAAC,IAAD,CAAxB;;AACA,qBAAI,CAACgU,WAAL,CAAiBvQ,EAAjB;AACD,aAHD;AAID;;;qCAEUsB,O,EAAe;AAAA;;AACxB,iBAAKC,SAAL,GAAiB,KAAK1D,MAAL,CAAY2C,IAAZ,CACf,sDADe,EACA;AACfC,0BAAY,EAAE;AADC,aADA,CAAjB;AAIA,iBAAKc,SAAL,CAAeb,iBAAf,CAAiC7D,KAAjC,GAAyC,iBAAzC;AACA,iBAAK0E,SAAL,CAAeb,iBAAf,CAAiCY,OAAjC,GAA2CA,OAA3C;AAEA,iBAAKC,SAAL,CAAeX,WAAf,GAA6BrC,SAA7B,CAAuC,UAAAc,MAAM,EAAI;AAC/C,qBAAI,CAACkC,SAAL,GAAiB,IAAjB;AACD,aAFD;AAGA,mBAAO,KAAKA,SAAL,CAAeX,WAAf,GAA6BjC,SAA7B,EAAP;AACD;;;sCAEWqB,E,EAAY;AAAA;;AACtB,iBAAKrC,IAAL,CAAUe,GAAV,CAAc,0DAAd,EAA6BsB,EAA7B,EACGrB,SADH,GAEGC,IAFH,CAEQ,UAAA2Q,IAAI,EAAI;AACZ,qBAAI,CAACA,IAAL,GAAYA,IAAZ;AACA,qBAAI,CAACc,KAAL,GAAa,OAAI,CAACC,QAAL,CAAclV,MAAd,CAAqB,UAAAyE,CAAC;AAAA,uBAAI0P,IAAI,CAACiB,SAAL,CAAeC,IAAf,CAAoB,UAAAC,EAAE;AAAA,yBAAIA,EAAE,CAAC9U,MAAH,IAAaiE,CAAC,CAACL,EAAnB;AAAA,iBAAtB,KAAgD,IAApD;AAAA,eAAtB,CAAb;AACD,aALH;AAMD;;;uCAEY;AAAA;;AACX,iBAAKL,UAAL,2CAAmD,KAAKoQ,IAAL,CAAUxP,QAA7D,QACGnB,IADH,CACQ,UAAA+R,OAAO,EAAI;AACf,kBAAIA,OAAJ,EAAa;AACX,uBAAI,CAAChT,IAAL,CAAU2B,MAAV,CAAiB,0DAAjB,EAAgC,OAAI,CAACiQ,IAAL,CAAU/P,EAA1C,EACGb,SADH,GAEGC,IAFH,CAEQ,UAAAiB,CAAC,EAAI;AACT,yBAAI,CAAC9B,MAAL,CAAY4D,QAAZ,CAAqB,CAAC,QAAD,CAArB;AACD,iBAJH,WAKS,UAAAuL,CAAC,EAAI;AACV,yBAAI,CAAC9P,GAAL,CAASI,IAAT,CAAc,SAAd,EAAyB0P,CAAzB;AACD,iBAPH;AAQD;AACF,aAZH;AAaD;;;qCAEU/G,Q,EAA6B;AAAA;;AACtC,iBAAKhH,UAAL,uBAA+BgH,QAAQ,CAACrK,IAAT,CAAc8U,QAA7C,mBAA8D,KAAKrB,IAAL,CAAUxP,QAAxE,QACGnB,IADH,CACQ,UAAA+R,OAAO,EAAI;AACf,kBAAIA,OAAJ,EAAa;AACX,uBAAI,CAAChT,IAAL,CAAU2B,MAAV,CAAiB,8DAAjB,EAAoC6G,QAAQ,CAAC3G,EAA7C,EACGb,SADH,GAEGC,IAFH,CAEQ,UAAA8R,EAAE,EAAI;AACV,yBAAI,CAACH,WAAL,CAAiB,OAAI,CAAChB,IAAL,CAAU/P,EAA3B;AACH,iBAJD;AAKD;AACF,aATH;AAUD;;;oCAES;AAAA;;AACR,gBAAIkR,EAAE,GAAG,IAAI,8DAAJ,EAAT;AACAA,cAAE,CAAC/U,MAAH,GAAY,KAAK4T,IAAL,CAAU/P,EAAtB;AACAkR,cAAE,CAAC9U,MAAH,GAAY,KAAKuU,eAAL,CAAqB1O,KAAjC;AACA,gBAAI,CAAEiP,EAAE,CAAC9U,MAAT,EACE;AAEF,iBAAK+B,IAAL,CAAUkT,MAAV,CAAiB,8DAAjB,EAAoCH,EAApC,EACG/R,SADH,GAEGC,IAFH,CAEQ,UAAAiB,CAAC,EAAI;AACT,qBAAI,CAAC0Q,WAAL,CAAiB,OAAI,CAAChB,IAAL,CAAU/P,EAA3B;AACD,aAJH;AAKD;;;;;;;;;;;;;;;;;;;;;ACjHH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAEO,UAAIsR,cAAc,GAAG,IAAI,4DAAJ,CAAmB,YAAnB,CAArB;AACA,UAAIC,gBAAgB,GAAG,IAAI,4DAAJ,CAAmB,cAAnB,CAAvB;AACA,UAAI3L,OAAO,GAAG,IAAI,4DAAJ,CAAmB,SAAnB,CAAd;AACA,UAAID,UAAU,GAAG,IAAI,4DAAJ,CAAmB,YAAnB,CAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJP;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAGa6L,gC;;;;;AAAb;AAAA;;AAAA;;;AACW,kBAAAhV,IAAA,GAAsBiV,aAAa,CAAC/U,QAApC;AACA,kBAAAgI,EAAA,GAAe,mDAAS4J,WAAxB;AAEA,kBAAA5R,QAAA,GAAqB,EAArB;AACA,kBAAAgV,QAAA,GAAiB,IAAjB;AACA,kBAAAC,WAAA,GAAoB,IAApB;AANX;AAWC;;;;4CAHyB;AAClB,kBAAM,IAAIhE,KAAJ,CAAU,8CAAV,CAAN;AACH;;;;QAViD,2E;;AAatD,UAAY8D,aAAZ;;AAAA,iBAAYA,aAAZ,EAAyB;AACrB;AACA;AAEA;;AACA;AAEA;;AACA;AAEA;;AACA;AAEA;AAEA;AAEA;AACH,OAlBD,EAAYA,aAAa,KAAbA,aAAa,MAAzB;;;;;;;;;;;;;;;;;AChBA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAwBaG,Y;AACT,8BACS7P,SADT,EAEU8P,IAFV,EAGUC,WAHV,EAI0C3T,IAJ1C,EAK0CgN,aAL1C,EAK2E;AAAA;;AAAA;;AAJlE,eAAApJ,SAAA,GAAAA,SAAA;AACC,eAAA8P,IAAA,GAAAA,IAAA;AACA,eAAAC,WAAA,GAAAA,WAAA;AACgC,eAAA3T,IAAA,GAAAA,IAAA;AACA,eAAAgN,aAAA,GAAAA,aAAA;AAyO1C,eAAAsB,eAAA,GAA0B,IAA1B;AACA,eAAA5N,MAAA,GAAoB,IAApB;AAaA,eAAAkT,gBAAA,GAA6B,qDAA7B;AAOA,eAAA7E,UAAA,GAAoB,EAApB;AAIA,eAAA8E,SAAA,GAAmB,EAAnB;AACA,eAAAC,UAAA,GAAoB,EAApB;AAAwB;;;;;;;;;;;;;;;;;;;;;;;AAjQtB,eAAKxF,eAAL,GAAuB,IAAvB;AACA,eAAK7Q,MAAL,GAAc,IAAI,kFAAJ,EAAd;AACA,eAAKH,WAAL,GAAmB,kEAAnB;AAEA,eAAKyW,eAAL,GAAuB,IAAI,0DAAJ,EAAvB;AACA,eAAKC,eAAL,GAAuB,IAAI,0DAAJ,EAAvB;AACA,eAAKC,gBAAL,GAAwB,IAAI,0DAAJ,EAAxB;AACA,eAAKC,eAAL,GAAuB,IAAI,0DAAJ,EAAvB;AACA,eAAKC,eAAL,GAAuB,IAAI,0DAAJ,EAAvB;AACA,eAAKC,WAAL,GAAmB,IAAI,0DAAJ,EAAnB;AACA,eAAKC,aAAL,GAAqB,IAAI,0DAAJ,EAArB;AACA,eAAKC,UAAL,GAAkB,IAAI,0DAAJ,EAAlB;AACA,eAAKC,eAAL,GAAuB,IAAI,0DAAJ,EAAvB;AACA,eAAKC,kBAAL,GAA0B,KAAKT,eAAL,CAAqB/E,YAArB,CAAkC7I,IAAlC,CACxB,iEAAU,IAAV,CADwB,EAExB,gEAAS,UAAAsO,GAAG,EAAI;AACd,gBAAIC,SAAS,GAAG,IAAI,gEAAJ,EAAhB;AACAA,qBAAS,CAAChP,QAAV,GAAqB,GAArB;AACAgP,qBAAS,CAACnW,QAAV,GAAqBkW,GAAG,GAAGA,GAAG,CAACxF,KAAJ,EAAH,GAAiB,EAAzC;AACA,mBAAO,OAAI,CAACjP,IAAL,CAAUuC,IAAV,CAAe,8DAAf,EAAkCmS,SAAlC,EAA6CvO,IAA7C,CAAkD,2DAAI,UAAAwO,EAAE;AAAA,qBAAIA,EAAE,CAAClS,GAAH,CAAO,UAAA6C,CAAC;AAAA,uBAAIA,CAAC,CAACsP,IAAN;AAAA,eAAR,CAAJ;AAAA,aAAN,CAAlD,CAAP;AACD,WALD,CAFwB,CAA1B;AAQA,eAAKC,kBAAL,GAA0B,KAAKZ,gBAAL,CAAsBjF,YAAtB,CAAmC7I,IAAnC,CACxB,iEAAU,IAAV,CADwB,EAExB,gEAAS,UAAAgJ,GAAG,EAAI;AACd,gBAAI2F,SAAS,GAAG,IAAI,qEAAJ,EAAhB;AACAA,qBAAS,CAACzW,IAAV,GAAiB,iEAAoBE,QAArC;AACAuW,qBAAS,CAACvW,QAAV,GAAqB4Q,GAAG,GAAGA,GAAG,CAACF,KAAJ,EAAH,GAAiB,EAAzC;AACA,mBAAO,OAAI,CAACjP,IAAL,CAAUuC,IAAV,CAAe,+DAAf,EAAmCuS,SAAnC,CAAP;AACD,WALD,CAFwB,CAA1B;AAQA,eAAKC,iBAAL,GAAyB,KAAKb,eAAL,CAAqBlF,YAArB,CAAkC7I,IAAlC,CACvB,iEAAU,IAAV,CADuB,EAEvB,gEAAS,UAAAhF,GAAG,EAAI;AACd,gBAAI6T,SAAS,GAAG,IAAI,gEAAJ,EAAhB;AACAA,qBAAS,CAACzW,QAAV,GAAqB4C,GAAG,GAAGA,GAAG,CAAC8N,KAAJ,EAAH,GAAiB,EAAzC;AACA,mBAAO,OAAI,CAACjP,IAAL,CAAUuC,IAAV,CAAe,0DAAf,EAA8ByS,SAA9B,CAAP;AACD,WAJD,CAFuB,CAAzB;AAQA,eAAKC,iBAAL,GAAyB,KAAKd,eAAL,CAAqBnF,YAArB,CAAkC7I,IAAlC,CACvB,iEAAU,IAAV,CADuB,EAEvB,2DAAI,UAAA+O,CAAC;AAAA,mBAAIA,CAAC,GAAG,6DAAgBzX,MAAhB,CAAuB,UAAAyE,CAAC;AAAA,qBAAIA,CAAC,IAAI,IAAIiT,MAAJ,CAAWD,CAAX,EAAc,IAAd,EAAoBE,IAApB,CAAyBlT,CAAzB,CAAT;AAAA,aAAxB,CAAH,GAAmE,4DAAxE;AAAA,WAAL,CAFuB,CAAzB;AAGD;;;;qCAEU;AACT;AACA,iBAAKmT,wBAAL;AACA,iBAAKC,uBAAL;AACA,iBAAKC,UAAL;AACD;;;uCAEY;AACX,gBAAId,GAAG,GAAG,KAAKe,iBAAL,CAAuB,mEAActF,QAArC,CAAV;AACA,gBAAIuF,GAAG,GAAG,KAAKD,iBAAL,CAAuB,mEAAcE,iBAArC,CAAV;AACA,gBAAIvG,GAAG,GAAG,KAAKqG,iBAAL,CAAuB,mEAAc5I,SAArC,CAAV;AACA,gBAAIzL,GAAG,GAAG,KAAKqU,iBAAL,CAAuB,mEAAcG,QAArC,CAAV;AACA,gBAAIxS,MAAM,GAAG,KAAKqS,iBAAL,CAAuB,mEAAcnJ,MAArC,CAAb;AACA,gBAAIuJ,EAAE,GAAG,KAAKJ,iBAAL,CAAuB,mEAAcjX,QAArC,CAAT;AACA,gBAAGkW,GAAH,EAAQ,KAAKV,eAAL,CAAqBxQ,QAArB,CAA8BkR,GAAG,CAAClW,QAAJ,CAAa,CAAb,KAAmB,EAAjD;AACR,gBAAGkX,GAAH,EAAQ,KAAKtB,eAAL,CAAqB5Q,QAArB,CAA8BkS,GAAG,CAAClX,QAAJ,CAAa,CAAb,KAAmB,EAAjD;AACR,gBAAG4Q,GAAH,EAAQ,KAAK8E,gBAAL,CAAsB1Q,QAAtB,CAA+B,CAAC4L,GAAG,CAAC5Q,QAAJ,IAAgB,EAAjB,EAAqBoG,IAArB,CAA0B,GAA1B,CAA/B;AACR,gBAAGxD,GAAH,EAAQ,KAAK+S,eAAL,CAAqB3Q,QAArB,CAA8B,CAACpC,GAAG,CAAC5C,QAAJ,IAAgB,EAAjB,EAAqBoG,IAArB,CAA0B,GAA1B,CAA9B;AACR,gBAAGxB,MAAH,EAAW,KAAKkR,aAAL,CAAmB9Q,QAAnB,CAA4BJ,MAAM,CAAC5E,QAAP,CAAgB,CAAhB,KAAsB,EAAlD;AACX,gBAAGqX,EAAH,EAAO,KAAK5B,eAAL,CAAqBzQ,QAArB,CAA8B,CAACqS,EAAE,CAACrX,QAAH,IAAe,EAAhB,EAAoBoG,IAApB,CAAyB,GAAzB,CAA9B;AACP,iBAAKyP,WAAL,CAAiB7Q,QAAjB,CAA0B,KAAK9F,MAAL,CAAYK,SAAZ,GAAwB,MAAxB,GAAiC,OAA3D;;AACA,gBAAI,KAAKwQ,eAAT,EAA0B;AACxB,mBAAKiG,eAAL,CAAqBhR,QAArB,CAA8B,IAA9B;AACA,mBAAK+Q,UAAL,CAAgB/Q,QAAhB,CAAyB,KAAK+K,eAA9B;AACD,aAHD,MAGO;AACL,mBAAKiG,eAAL,CAAqBhR,QAArB,CAA8B,KAA9B;AACD;AACF;;;4CAEiBuC,I,EAAqB;AACrC,mBAAO,CAAC,KAAKrI,MAAL,CAAYC,OAAZ,CAAoBD,MAApB,CAA2B,UAAAF,CAAC;AAAA,qBAAIA,CAAC,CAACc,IAAF,IAAUyH,IAAd;AAAA,aAA5B,KAAmD,EAApD,EAAwD,CAAxD,CAAP;AACD;;;kCAEO;AACN,iBAAKlC,SAAL,CAAeiS,KAAf,CAAqB,KAAKpY,MAA1B;AACD;;;yCAEc;AACb,iBAAKA,MAAL,CAAYC,OAAZ,GAAsB,EAAtB;;AACA,gBAAI,KAAKqW,eAAL,CAAqBjQ,KAAzB,EAAgC;AAC9B,kBAAIgS,SAAS,GAAG,IAAI,qFAAJ,EAAhB;AACAA,uBAAS,CAACzX,IAAV,GAAiB,mEAAc6R,QAA/B;AACA4F,uBAAS,CAACvP,EAAV,GAAe,8DAASwP,SAAxB;AACAD,uBAAS,CAACvX,QAAV,GAAqB,CAAC,KAAKwV,eAAL,CAAqBjQ,KAAtB,CAArB;AACA,mBAAKrG,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,SAAzB;AACD;;AACD,gBAAI,KAAK3B,eAAL,CAAqBrQ,KAAzB,EAAgC;AAC9B,kBAAIgS,UAAS,GAAG,IAAI,qFAAJ,EAAhB;;AACAA,wBAAS,CAACzX,IAAV,GAAiB,mEAAcqX,iBAA/B;AACAI,wBAAS,CAACvP,EAAV,GAAe,8DAASwP,SAAxB;AACAD,wBAAS,CAACvX,QAAV,GAAqB,CAAC,KAAK4V,eAAL,CAAqBrQ,KAAtB,CAArB;AACA,mBAAKrG,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,UAAzB;AACD;;AACD,gBAAI,KAAK7B,gBAAL,CAAsBnQ,KAA1B,EAAiC;AAC/B,kBAAIgS,WAAS,GAAG,IAAI,qFAAJ,EAAhB;;AACAA,yBAAS,CAACzX,IAAV,GAAiB,mEAAcuO,SAA/B;AACAkJ,yBAAS,CAACvX,QAAV,GAAqB,KAAK0V,gBAAL,CAAsBnQ,KAAtB,CAA4BmL,KAA5B,CAAkC,KAAlC,CAArB;AACA,mBAAKxR,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,WAAzB;AACD;;AACD,gBAAI,KAAK5B,eAAL,CAAqBpQ,KAAzB,EAAgC;AAC9B,kBAAIgS,WAAS,GAAG,IAAI,qFAAJ,EAAhB;;AACAA,yBAAS,CAACzX,IAAV,GAAiB,mEAAcsX,QAA/B;AACAG,yBAAS,CAACvX,QAAV,GAAqB,KAAK2V,eAAL,CAAqBpQ,KAArB,CAA2BmL,KAA3B,CAAiC,KAAjC,CAArB;AACA,mBAAKxR,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,WAAzB;AACD;;AACD,gBAAI,KAAKzB,aAAL,CAAmBvQ,KAAvB,EAA8B;AAC5B,kBAAIgS,WAAS,GAAG,IAAI,qFAAJ,EAAhB;;AACAA,yBAAS,CAACzX,IAAV,GAAiB,mEAAcgO,MAA/B;AACAyJ,yBAAS,CAACvP,EAAV,GAAe,8DAASwP,SAAxB;AACAD,yBAAS,CAACvX,QAAV,GAAqB,CAAC,KAAK8V,aAAL,CAAmBvQ,KAApB,CAArB;AACA,mBAAKrG,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,WAAzB;AACD;;AACD,gBAAI,KAAK9B,eAAL,CAAqBlQ,KAAzB,EAAgC;AAC9B,kBAAIgS,WAAS,GAAG,IAAI,qFAAJ,EAAhB;;AACAA,yBAAS,CAACzX,IAAV,GAAiB,mEAAcE,QAA/B;AACAuX,yBAAS,CAACvX,QAAV,GAAqB,KAAKyV,eAAL,CAAqBlQ,KAArB,CAA2BmL,KAA3B,CAAiC,KAAjC,CAArB;AACA,mBAAKxR,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,WAAzB;AACD;;AACD,iBAAKrY,MAAL,CAAYK,SAAZ,GAAwB,KAAKsW,WAAL,CAAiBtQ,KAAjB,IAA0B,MAAlD;;AACA,gBAAI,KAAKyQ,eAAT,EAA0B;AACxB,mBAAK0B,UAAL;AACD;;AACD,iBAAKJ,KAAL;AACD;;;uCAEY;AACX,iBAAK7I,aAAL,CAAmBiJ,UAAnB,CAA8B,KAAK3B,UAAL,CAAgBxQ,KAA9C,EAAqD,KAAKrG,MAA1D;AACD;;;wCAEa;AACZ,gBAAIqY,SAAS,GAAG,IAAI,qFAAJ,EAAhB;AACAA,qBAAS,CAACzX,IAAV,GAAiB,mEAAc6R,QAA/B;AACA4F,qBAAS,CAACvX,QAAV,GAAqB,CAAC,KAAKwV,eAAL,CAAqBjQ,KAAtB,CAArB;AACA,iBAAKrG,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,SAAzB;AACA,iBAAK/B,eAAL,CAAqBmC,KAArB;AACD;;;wCAEa;AACZ,gBAAIJ,SAAS,GAAG,IAAI,qFAAJ,EAAhB;AACAA,qBAAS,CAACzX,IAAV,GAAiB,mEAAcE,QAA/B;AACAuX,qBAAS,CAACvX,QAAV,GAAqB,CAAC,KAAKyV,eAAL,CAAqBlQ,KAAtB,CAArB;AACA,iBAAKrG,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,SAAzB;AACA,iBAAK9B,eAAL,CAAqBkC,KAArB;AACD;;;yCAEc;AACb,gBAAIJ,SAAS,GAAG,IAAI,qFAAJ,EAAhB;AACAA,qBAAS,CAACzX,IAAV,GAAiB,mEAAcuO,SAA/B;AACAkJ,qBAAS,CAACvX,QAAV,GAAqB,CAAC,KAAK0V,gBAAL,CAAsBnQ,KAAvB,CAArB;AACA,iBAAKrG,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,SAAzB;AACA,iBAAK7B,gBAAL,CAAsBiC,KAAtB;AACD;;;wCAEa;AACZ,gBAAIJ,SAAS,GAAG,IAAI,qFAAJ,EAAhB;AACAA,qBAAS,CAACzX,IAAV,GAAiB,mEAAcsX,QAA/B;AACAG,qBAAS,CAACvX,QAAV,GAAqB,CAAC,KAAK2V,eAAL,CAAqBpQ,KAAtB,CAArB;AACA,iBAAKrG,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,SAAzB;AACA,iBAAK5B,eAAL,CAAqBgC,KAArB;AACD;;;oCAES/S,M,EAAgB;AACxB,gBAAI2S,SAAJ;;AACA,iBAAK,IAAItY,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAC,KAAKC,MAAL,CAAYC,OAAZ,CAAoBgH,MAApC,EAA4ClH,CAAC,EAA7C,EAAiD;AAC/C,kBAAID,CAAC,GAAG,KAAKE,MAAL,CAAYC,OAAZ,CAAoBF,CAApB,CAAR;;AACA,kBAAID,CAAC,CAACc,IAAF,IAAU,mEAAcgO,MAA5B,EAAoC;AAClCyJ,yBAAS,GAAGvY,CAAZ;AACA;AACD;AACF;;AACD,gBAAI,CAACuY,SAAL,EAAgB;AACdA,uBAAS,GAAG,IAAI,qFAAJ,EAAZ;AACAA,uBAAS,CAACzX,IAAV,GAAiB,mEAAcgO,MAA/B;AACAyJ,uBAAS,CAACvP,EAAV,GAAe,8DAASwP,SAAxB;AACAD,uBAAS,CAACvX,QAAV,GAAqB,EAArB;AACA,mBAAKd,MAAL,CAAYC,OAAZ,CAAoBsY,IAApB,CAAyBF,SAAzB;AACD;;AACDA,qBAAS,CAACvX,QAAV,CAAmByX,IAAnB,CAAwB7S,MAAxB;AACA,iBAAKgT,aAAL;AACD;;;0CAEe;AACd,gBAAI1V,QAAQ,GAAG,sDAASgC,GAAT,CAAa,UAAA2T,CAAC;AAAA,qBAAIA,CAAJ;AAAA,aAAd,CAAf,CADc,CACuB;;;AACrC,gBAAIC,GAAJ;;AACA,iBAAK,IAAI7Y,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAC,KAAKC,MAAL,CAAYC,OAAZ,CAAoBgH,MAApC,EAA4ClH,CAAC,EAA7C,EAAiD;AAC/C,kBAAID,CAAC,GAAG,KAAKE,MAAL,CAAYC,OAAZ,CAAoBF,CAApB,CAAR;;AACA,kBAAID,CAAC,CAACc,IAAF,IAAU,mEAAcgO,MAAxB,IAAkC,CAACgK,GAAG,GAAG5V,QAAQ,CAAC9C,OAAT,CAAiBJ,CAAC,CAACgB,QAAF,CAAW,CAAX,CAAjB,CAAP,KAA2C,CAAjF,EAAoF;AAClFkC,wBAAQ,CAAC7C,MAAT,CAAgByY,GAAhB,EAAqB,CAArB;AACD;AACF;;AAED,iBAAKzC,gBAAL,GAAwBnT,QAAxB;AACD;;;qDAE0B;AAEzB;;;;;;;;;;;;;;AAcD;;;oDAEyB;AACxB;;;;;;;;;;;;;;AAcD;;;;;;;;;;;;;;;;;;;;;AClQL;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAMa6V,S;AACT,2BACY7F,YADZ,EAEYjR,WAFZ,EAGYY,MAHZ,EAG0B;AAAA;;AAFd,eAAAqQ,YAAA,GAAAA,YAAA;AACA,eAAAjR,WAAA,GAAAA,WAAA;AACA,eAAAY,MAAA,GAAAA,MAAA;AACR;;;;sCAGApB,K,EACAuX,K,EAA0B;AAAA;;AAE1B,iBAAK9F,YAAL,CAAkBC,SAAlB,CAA4B,oEAA5B,EAF0B,CAG1B;;AACAoB,mBAAO,CAAC0E,KAAR,CAAcD,KAAK,CAACxL,GAApB;AACA,mBAAO,kDAAK,KAAKvL,WAAL,CAAiB4R,uBAAjB,EAAL,EACFjL,IADE,CAEC,iEAAU,UAAAkL,CAAC;AAAA,qBAAI,OAAI,CAAC7R,WAAL,CAAiB8R,cAArB;AAAA,aAAX,CAFD,EAGC,8DAAO,UAAAC,MAAM;AAAA,qBAAIA,MAAJ;AAAA,aAAb,CAHD,EAIC,iEAAU,UAAAF,CAAC;AAAA,qBAAI,OAAI,CAAC7R,WAAL,CAAiBgS,gBAArB;AAAA,aAAX,CAJD,EAKC,2DAAI,UAAAC,MAAM,EAAI;AAAE,kBAAI,CAAEA,MAAN,EAAc,OAAI,CAACrR,MAAL,CAAY4D,QAAZ,CAAqB,CAAC,OAAD,CAArB;AAAkC,aAAhE,CALD,CAAP;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBP;AAAA;;;AAAA;AAAA;AAAA;;UAAayS,c;AACX,gCACUrW,MADV,EAE8CZ,WAF9C,EAEgF;AAAA;;AADtE,eAAAY,MAAA,GAAAA,MAAA;AACoC,eAAAZ,WAAA,GAAAA,WAAA,CAAkC,CAE5E;;AACA,eAAKY,MAAL,CAAY4D,QAAZ,CAAqB,CAAC,iBAAD,CAArB,WAAgD,UAAA9B,CAAC;AAAA,mBAAIA,CAAJ;AAAA,WAAjD;AACH;;;;qCAEU,CACV;;;;;;;;;;;;;;;;;;;;;ACpBH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAoCawU,kB;AAiBX;AACA;AACA;AACA,oCAC0C1W,IAD1C,EAEsCC,MAFtC,EAG6ChB,IAH7C,EAImCQ,GAJnC,EAKSS,MALT,EAMUC,EANV,EAOUnB,KAPV,EAQUoB,MARV,EASUC,MATV,EAUUC,GAVV,EAU+B;AAAA;;AAAA;;AATW,eAAAN,IAAA,GAAAA,IAAA;AACJ,eAAAC,MAAA,GAAAA,MAAA;AACO,eAAAhB,IAAA,GAAAA,IAAA;AACV,eAAAQ,GAAA,GAAAA,GAAA;AAC1B,eAAAS,MAAA,GAAAA,MAAA;AACC,eAAAC,EAAA,GAAAA,EAAA;AACA,eAAAnB,KAAA,GAAAA,KAAA;AACA,eAAAoB,MAAA,GAAAA,MAAA;AACA,eAAAC,MAAA,GAAAA,MAAA;AACA,eAAAC,GAAA,GAAAA,GAAA;AA7BV,eAAAC,QAAA,GAAoB,KAApB;AACA,eAAAoW,UAAA,GAAsB,KAAtB;AACA,eAAAC,eAAA,GAA2B,KAA3B;AACA,eAAAnZ,MAAA,GAA2B,IAAI,wEAAJ,EAA3B;AAGA,eAAA+C,SAAA,GAAiC,EAAjC;AACA,eAAAC,QAAA,GAA6C,2DAA7C;AAEA,eAAAoW,YAAA,GAAwB,KAAxB;AAES,eAAAtO,QAAA,GAAwB,IAAI,0DAAJ,EAAxB;AAoBP,eAAK7H,MAAL,GAAc,KAAKC,SAAL,EAAd,CAF6B,CAK7B;;AAEA,eAAKmW,WAAL,GAAmB9X,KAAK,CAAC+X,QAAN,CAAehM,GAAf,CAAmBiM,MAAnB,CAA0B,UAACvK,CAAD,EAAI2J,CAAJ;AAAA,6BAAa3J,CAAb,cAAkB2J,CAAC,CAACxF,IAApB;AAAA,WAA1B,EAAsD,EAAtD,CAAnB;AACA,eAAKvD,OAAL,GAAe,KAAKrO,KAAL,CAAWJ,MAAX,CAAkBuH,IAAlB,CAAuB,gEAAS,UAAAvH,MAAM,EAAI;AACvD,gBAAIyD,EAAE,GAAW,CAACzD,MAAM,CAAC,IAAD,CAAxB;AACA,mBAAO,OAAI,CAACoB,IAAL,CAAUe,GAAV,CAAc,oEAAd,EAAsBsB,EAAtB,CAAP;AACD,WAHqC,CAAvB,CAAf;AAKA,eAAK4U,WAAL,GAAmB,KAAKjY,KAAL,CAAWkY,WAAX,CAAuB/Q,IAAvB,CAA4B,gEAAS,UAAAgR,OAAO,EAAI;AACjE,gBAAI9U,EAAE,GAAW,CAAC8U,OAAO,CAAC,QAAD,CAAzB;;AACA,gBAAI9U,EAAE,GAAG,CAAT,EAAY;AACV,qBAAI,CAACwU,YAAL,GAAoB,IAApB;AACA,qBAAO,OAAI,CAAC7W,IAAL,CAAUe,GAAV,CAAc,0DAAd,EAA6BsB,EAA7B,CAAP;AACD,aAHD,MAGO;AACL,qBAAO,oDAAP;AACD;AACF,WAR8C,CAA5B,CAAnB;AASD;;;;sCAEQ;AACP,mBAAO,KAAKlC,EAAL,CAAQ+C,KAAR,CAAc;AACnB7B,oBAAM,EAAE,CAAC,EAAD,CADW;AAEnB+V,qBAAO,EAAE,CAAC,EAAD,EAAK,0DAAWhU,QAAhB,CAFU;AAGnBC,0BAAY,EAAE,CAAC,EAAD,CAHK;AAInBF,oBAAM,EAAE,CAAC,UAAD,EAAa,0DAAWC,QAAxB;AAJW,aAAd,CAAP;AAMD;;;sCAEW;AACV,mBAAO,KAAK1C,MAAL,CAAY2W,KAAZ,IAAqB,KAAKR,YAAjC;AACD;;;qCAEU,CACV;;;qCAEUlT,O,EAAe;AAAA;;AACxB,iBAAKC,SAAL,GAAiB,KAAK1D,MAAL,CAAY2C,IAAZ,CACf,sDADe,EACA;AACfC,0BAAY,EAAE;AADC,aADA,CAAjB;AAIA,iBAAKc,SAAL,CAAeb,iBAAf,CAAiC7D,KAAjC,GAAyC,SAAzC;AACA,iBAAK0E,SAAL,CAAeb,iBAAf,CAAiCY,OAAjC,GAA2CA,OAA3C;AACA,iBAAKC,SAAL,CAAeb,iBAAf,CAAiCuU,SAAjC,GAA6C,KAA7C;AACA,iBAAK1T,SAAL,CAAeb,iBAAf,CAAiCwU,SAAjC,GAA6C,IAA7C;AAEA,iBAAK3T,SAAL,CAAeX,WAAf,GAA6BrC,SAA7B,CAAuC,UAAAc,MAAM,EAAI;AAC/C,qBAAI,CAACkC,SAAL,GAAiB,IAAjB;AACD,aAFD;AAGA,mBAAO,KAAKA,SAAL,CAAeX,WAAf,GAA6BjC,SAA7B,EAAP;AACD;;;+CAEoB;AAAA;;AACnB,iBAAKqM,OAAL,CAAazM,SAAb,CAAuB,UAAAM,IAAI,EAAI;AAC7B,kBAAI2C,IAAI,GAAG,OAAI,CAACnD,MAAL,CAAY4C,GAAZ,CAAgB,QAAhB,EAA0BQ,KAArC;;AACA,kBAAID,IAAI,IAAIA,IAAI,CAACa,MAAjB,EAAyB;AACvB,uBAAI,CAAClD,UAAL,CAAgB,oEAAhB,EACGP,IADH,CACQ,UAAA8C,GAAG,EAAI;AACX,sBAAIA,GAAJ,EAAS;AACP,2BAAI,CAAC3D,MAAL,CAAY4D,QAAZ,CAAqB,CAAC,iBAAD,EAAoB9C,IAAI,CAACW,EAAzB,CAArB;AACD;AACF,iBALH;AAMD,eAPD,MAOO;AACL,uBAAI,CAACzB,MAAL,CAAY4D,QAAZ,CAAqB,CAAC,iBAAD,EAAoB9C,IAAI,CAACW,EAAzB,CAArB;AACD;AACF,aAZD;AAaD;;;sCAEW;AAAA;;AACV,iBAAKpC,GAAL,CAAS+W,KAAT,CAAe,KAAKnJ,OAApB,EAA6B,KAAK4J,WAAlC;AACA,6DAAc,KAAK5J,OAAnB,EAA4B,KAAK4J,WAAjC,EACGrW,SADH,CACa,UAAA4W,MAAM,EAAI;AACnB,kBAAItW,IAAI,GAAGsW,MAAM,CAAC,CAAD,CAAjB;AACA,kBAAIC,QAAQ,GAAGD,MAAM,CAAC,CAAD,CAArB;;AACA,qBAAI,CAAC/X,GAAL,CAAS+W,KAAT,CAAeiB,QAAf,EAAyBvW,IAAzB;;AACA,kBAAI,OAAI,CAACR,MAAL,CAAYuD,MAAZ,IAAsB,CAAEwT,QAA5B,EAAsC;AACpC,uBAAI,CAACd,UAAL,GAAkB,IAAlB;AACA;AACD;;AAED,kBAAI/E,IAAI,GAAG,OAAI,CAAC3S,IAAL,CAAUyY,WAAV,EAAX;;AACA,kBAAI9F,IAAJ,EAAU;AACR,oBAAIzQ,GAAG,GAAG,IAAI,4DAAJ,EAAV;AACAA,mBAAG,CAAC0G,OAAJ,GAAc,OAAI,CAACnH,MAAL,CAAY4C,GAAZ,CAAgB,SAAhB,EAA2BQ,KAAzC;AACA3C,mBAAG,CAACqC,UAAJ,GAAiB,OAAI,CAAC9C,MAAL,CAAY4C,GAAZ,CAAgB,QAAhB,EAA0BQ,KAA3C;AACA3C,mBAAG,CAACsC,YAAJ,GAAmB,OAAI,CAAC/C,MAAL,CAAY4C,GAAZ,CAAgB,QAAhB,EAA0BQ,KAA7C;AACA3C,mBAAG,CAACuC,YAAJ,GAAmB,OAAI,CAAChD,MAAL,CAAY4C,GAAZ,CAAgB,cAAhB,EAAgCQ,KAAnD;AACA3C,mBAAG,CAACnD,MAAJ,GAAayZ,QAAQ,CAAC5V,EAAtB;AACAV,mBAAG,CAACyG,gBAAJ,GAAuB1G,IAAI,CAACW,EAA5B;;AACA,uBAAI,CAAC7B,IAAL,CAAUkT,MAAV,CAAiB,4DAAjB,EAAkC/R,GAAlC,EACGH,SADH,GAEGC,IAFH,CAEQ,UAAA0W,MAAM,EAAI;AACd,sBAAIxW,GAAG,CAAC0G,OAAR,EAAiB;AACf3G,wBAAI,CAACmL,MAAL,GAAc,UAAd;;AACA,2BAAI,CAACrM,IAAL,CAAUgC,MAAV,CAAiB,oEAAjB,EAAyBd,IAAzB,EAA+BF,SAA/B,GACGC,IADH,CACQ,YAAM;AAAE,6BAAI,CAACkB,OAAL,CAAawV,MAAb,EAAqBzW,IAArB;AAA6B,qBAD7C;AAED,mBAJD,MAIO;AACL,2BAAI,CAACiB,OAAL,CAAawV,MAAb,EAAqBzW,IAArB;AACD;AACF,iBAVH;AAWD,eAnBD,MAmBO;AACL,uBAAI,CAACb,MAAL,CAAYiJ,KAAZ,CAAkB,gDAAlB;AACD;AACJ,aAjCD;AAkCD;;;kCAEOnI,G,EAAsBD,I,EAAc;AAC1C,gBAAIoD,EAAE,GAAGnD,GAAG,CAACqC,UAAJ,GAAiBrC,GAAG,CAACqC,UAAJ,CAAee,IAAf,EAAjB,GAAyC,EAAlD;AACA,gBAAIC,EAAE,GAAGtD,IAAI,CAACuD,OAAL,GAAevD,IAAI,CAACuD,OAAL,CAAaF,IAAb,EAAf,GAAqC,EAA9C;AACA,gBAAIZ,OAAO,GAAG,CACZ,SADY,EAEZW,EAAE,CAACI,MAAH,eAAgBJ,EAAE,CAAC3E,MAAH,CAAU,CAAV,EAAa,EAAb,CAAhB,SAAmC2E,EAAE,CAACI,MAAH,GAAY,EAAZ,GAAiB,KAAjB,GAAyB,EAA5D,WAAqE,EAFzD,EAGZ,kBAHY,EAIZF,EAAE,CAACE,MAAH,oBAAqBF,EAAE,CAAC7E,MAAH,CAAU,CAAV,EAAa,EAAb,CAArB,SAAwC6E,EAAE,CAACE,MAAH,GAAY,EAAZ,GAAiB,KAAjB,GAAyB,EAAjE,WAA0E,GAJ9D,EAKZC,IALY,CAKP,EALO,CAAd;AAMA,iBAAKtE,MAAL,CAAY8B,OAAZ,CAAoBwB,OAApB;AACA,iBAAKvD,MAAL,CAAY4D,QAAZ,CAAqB,CAAC,iBAAD,EAAoB9C,IAAI,CAACW,EAAzB,EAA6B,SAA7B,EAAwCV,GAAG,CAACU,EAA5C,CAArB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEC5LH,sH,IAAG,mG,IAEH,I,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGA,UAAa+V,iBAAiB;AAAA;;AAAA;;AAA9B;AAAA;;AAAA;;;AACW,kBAAAhD,IAAA,GAAe,EAAf;AACA,kBAAAiD,IAAA,GAAe,EAAf;AAFX;AAGC;;AAH6B;AAAA,QAAS,8DAAT,CAA9B;;AAAaD,uBAAiB,eAD7B,gFAAS,UAAT,CAC6B,GAAjBA,iBAAiB,CAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECFP,wgB,GAAA,wa,GAAmC,oF,IAAa;AAAhD;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAmC,S;AAAA;;;uEACnC,wgB,GAAA,wa,GAAoC,sF,IAAe;AAAnD;AAAA,S,EAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAoC,S;AAAA;;;uEAGpC;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAA0D;;;;;AAA1D;AAAA,sB,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAAoG,oF,IAA0B,gJ,IAAyB,2E,IAAC;AAApE;;AAApF,wBAAoF,SAApF;AAAmG,S,EAAA;AAAnG;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAoG;;AAAA;AAA0B,S;AAAA;;;uEAC9H;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAAiD;;;;;AAAjD;AAAA,sB,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAA2F,oF,IAA0B,gJ,IAAyB,2E,IAAC;AAApE;;AAA3E,wBAA2E,SAA3E;AAA0F,S,EAAA;AAA1F;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA2F;;AAAA;AAA0B,S;AAAA;;;uEACrH;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAAiD;;;;;AAAjD;AAAA,sB,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAA0F,8E,IAA4B,gJ,IAAyB,2E,IAAC;AAArE;;AAA3E,wBAA2E,SAA3E;AAAyF,S,EAAA;AAAzF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA0F;;AAAA;AAA4B,S;AAAA;;;uEACtH;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAAkD;;;;;AAAlD;AAAA,sB,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAAyF,uF,IAAoC,gJ,IAAyB,2E,IAAC;AAA3E;;AAA5E,wBAA4E,SAA5E;AAAwF,S,EAAA;AAAxF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAyF;;AAAA;AAAoC,S;AAAA;;;uEAC7H;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAA+C;;;;;AAA/C;AAAA,sB,GAAA,4oB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAAyE,sF,IAAsC,gJ,IAAyB,2E,IAAC,I,EAAA;AAAzI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAyE;;AAAA;AAAsC,S;AAAA;;;uEAC/G;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAAiD;;;;;AAAjD;AAAA,sB,GAAA,4oB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAA2E,wF,IAAsC,gJ,IAAyB,2E,IAAC,I,EAAA;AAA3I;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA2E;;AAAA;AAAsC,S;AAAA;;;uEANnH,0H,IACE,uH,GAAA;AAAA;AAAA,gB,GACA,uH,GAAA;AAAA;AAAA,gB,GACA,uH,GAAA;AAAA;AAAA,gB,GACA,uH,GAAA;AAAA;AAAA,gB,GACA,uH,GAAA;AAAA;AAAA,gB,GACA,wH,GAAA;AAAA;AAAA,gB,GAA2E,4E,IAAA;AAAA;AALjE,0DAA+C,YAA/C,CAA+C,iBAA/C;;AAAV,wBAAU,SAAV;;AACU,0DAAsC,YAAtC,CAAsC,QAAtC;;AAAV,wBAAU,SAAV;;AACU,0DAAsC,YAAtC,CAAsC,QAAtC;;AAAV,wBAAU,SAAV;;AACU,0DAAuC,YAAvC,CAAuC,SAAvC;;AAAV,wBAAU,SAAV;;AACU,0DAAoC,YAApC,CAAoC,MAApC;;AAAV,yBAAU,SAAV;;AACU,0DAAsC,YAAtC,CAAsC,QAAtC;;AAAV,yBAAU,SAAV;AAAgD,S,EAAA,I;AAAA;;;uEAZtD,yH,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;aACE;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAAU;;;;;AAAV;AAAA,sB,GAAA,4oB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,GAAoC,gF,IAClC,uH,GAAA;AAAA;AAAA,gB,GACA,uH,GAAA;AAAA;AAAA,gB,GAEF,oH,GAAA;AAAA;AAAA,gB,GAA+C;AAAA;;AALjD;;AAEc,8BAAwB,OAAxB,CAAwB,SAAxB;;AAAV,yBAAU,UAAV;;AACU,+BAAyB,OAAzB,CAAyB,SAAzB;;AAAV,yBAAU,UAAV;;AAEY,8BAAgC,OAAhC,CAAgC,OAAhC;;AAAd,yBAAc,UAAd;AAA8C,S,EAAA;AALhD;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAoC,S;AAAA;;;uEAFxC,uH,GAAA;AAAA;AAAA,gB,GAAoB;AAAA;AAAf,6BAAc,OAAd;;AAAL,wBAAK,SAAL;AAAmB,S,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECIX,uV,GAAA;AAAA;AAAA,gB,GAA2D;AAAvB;;AAApC,wBAAoC,SAApC;AAA0D,S,EAAA,I;AAAA;;;uEAHlE,8I,IACI,sJ,IACI,uH,IAAI,6E,IACJ,iH,GAAA;AAAA;AAAA,gB,EAEJ,2D,GAAY;AAAA;AAFI,6BAAuB,gBAAvB;;AAAZ,wBAAY,SAAZ;AAAmC,S,EAAA;AAAA;AAD/B;;AAAA;AAAS,S;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACIrB,UAAaE,kBAAkB;AAAA;;AAAA;;AAA/B;AAAA;;AAAA;;;AACI;;AACO,kBAAAC,KAAA,GAAgB,EAAhB;AAEP;;AACO,kBAAAjM,KAAA,GAAgB,EAAhB;AACP;;AACO,kBAAAkM,WAAA,GAAsB,EAAtB;AAEP;;AACO,kBAAA1L,KAAA,GAAgB,EAAhB;AACA,kBAAA2L,SAAA,GAAoB,EAApB;AACA,kBAAAC,UAAA,GAAqB,EAArB;AACA,kBAAArL,QAAA,GAAmB,EAAnB;AAeA,kBAAAb,wBAAA,GAA+D,EAA/D;AAGA,kBAAAmM,cAAA,GAA2C,EAA3C;AA/BX;AAgCC;;AAhC8B;AAAA;AAAA,8BAcR;AAAa,6BAAU,KAAKF,SAAf,cAA4B,KAAKC,UAAL,IAAmB,EAA/C,cAAqD,KAAKrL,QAA1D;AAAuE;AAd5E;AAAA;AAAA,8BAeP;AAAa,mBAAO,UAAG,KAAKA,QAAR,eAAqB,KAAKoL,SAA1B,cAAuC,KAAKC,UAAL,IAAmB,EAA1D,EAA+D3T,IAA/D,EAAP;AAA+E;AAfrF;AAAA;AAAA,8BAgBN;AACjB,gBAAI,KAAKuH,KAAL,IAAc,KAAKkM,WAAvB,EACI,iBAAU,KAAKlM,KAAf,eAAyB,KAAKkM,WAA9B,EADJ,KAEK,IAAI,KAAKlM,KAAT,EACD,OAAO,KAAKA,KAAZ,CADC,KAEA,IAAI,KAAKkM,WAAT,EACD,OAAO,KAAKA,WAAZ,CADC,KAGD,OAAO,EAAP;AACP;AAzB0B;;AAAA;AAAA,QAAS,8DAAT,CAA/B;;AA4BI,kBADC,6DAAS,kCAAT,CACD,G,4BAAA,E,0BAAA,E,MAAA;;AAGA,kBADC,6DAAS,wBAAT,CACD,G,4BAAA,E,gBAAA,E,MAAA;;AA/BSF,wBAAkB,eAD9B,6DAAS,WAAT,CAC8B,GAAlBA,kBAAkB,CAAlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;UAcaM,0B;AAIX,4CACUpZ,KADV,EAEUoB,MAFV,EAG0C4M,aAH1C,EAG2E;AAAA;;AAFjE,eAAAhO,KAAA,GAAAA,KAAA;AACA,eAAAoB,MAAA,GAAAA,MAAA;AACgC,eAAA4M,aAAA,GAAAA,aAAA;AAEzC;;;;qCAEU;AAAA;;AACT,iBAAKvP,MAAL,GAAc,KAAKuB,KAAL,CAAWJ,MAAX,CAAkBuH,IAAlB,CACZ,oEAAa,GAAb,CADY,EAEZ,2DAAI,UAAAvH,MAAM,EAAI;AACd,qBAAI,CAAC0V,UAAL,GAAkB1V,MAAM,CAAC,QAAD,CAAxB;;AACA,kBAAInB,MAAM,GAAG,OAAI,CAACuP,aAAL,CAAmBkE,SAAnB,CAA6B,OAAI,CAACoD,UAAlC,CAAb;;AACA,qBAAO7W,MAAP;AACD,aAJC,CAFY,CAAd;AAOD;;;;;;;;;;;;;;;;;;;;;ACFH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,c,CAAA;AAuCA;;;AACO,eAAS4a,cAAT,GAAuB;AAC5B,eAAOxK,YAAP;AACD;;AACM,eAASyK,cAAT,GAA0B;AAC/B,eAAOD,cAAc,GAAGE,OAAjB,CAAyB,cAAzB,CAAP;AACD;;eAmFqD,qE;UAAW,KAChB,sEAAYjR,SAAZ,CAAsBG,O;UAAO,KAC1B,sEAAYH,SAAZ,CAAsBE,U;UAAU,KAC5B,sEAAYF,S;UAAS,KAChB,sEAAYA,SAAZ,CAAsBC,U;;UAetEiR,S,GACX,qBAAc,CACZ;AACA;AACA;;AACA;;;;;;;;;;;;;;AAJY;AAiBb,O;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnMH;AAAA;;;AAAA;AAAA;AAAA;;UAAaC,a,GAAb;AAAA;;AACW,aAAA5W,EAAA,GAAa,CAAb;AACV,O;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uECcmC,mN,GAAA;AAAA;AAAA,gB,EAA8C;AAAA;AAAA,U,EAA9C,2J,EAAA;AAAA;AAAA,gB,EAA8C;AAAA;AAAA,U,EAA9C,wN,GAA+E,+H,IAE/E;AAF8C;;AAA9C,wBAA8C,SAA9C;;AAA8C;;AAA9C,wBAA8C,SAA9C;AAA8E,S,EAAA;AAA9E;;AAAA;;AAAA;;AAAA;AAA+E,S;AAAA;;;uEAQ3E;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAAqD,0E,IAAK;AAAjB,4BAAW,QAAX,CAAW,SAAX;;AAAzC,wBAAyC,SAAzC;AAAoD,S,EAAA;AAApD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAqD;;AAAA;AAAK,S;AAAA;;;uEAE9D,mN,GAAA;AAAA;AAAA,gB,EAAkD;AAAA;AAAA,U,EAAlD,2J,EAAA;AAAA;AAAA,gB,EAAkD;AAAA;AAAA,U,EAAlD,yN,GAAmF,uH,IAEnF;AAFkD;;AAAlD,wBAAkD,SAAlD;;AAAkD;;AAAlD,wBAAkD,SAAlD;AAAkF,S,EAAA;AAAlF;;AAAA;;AAAA;;AAAA;AAAmF,S;AAAA;;;uEAS/E,2H,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GAAwD,6E,IAAY;AAA7B,4BAAgB,QAAhB,CAAgB,SAAhB,CAAgB,EAAhB;;AAAvC,wBAAuC,SAAvC;;AAAuC,4BAAgB,QAAhB,CAAgB,SAAhB,CAAgB,EAAhB;;AAAvC,wBAAuC,SAAvC;AAAuD,S,EAAA;AAAC;;AAAA;AAAY,S;AAAA;;;uEAExE,mN,GAAA,oN,EAAA;AAAA;AAAA,gB,EAAkD;AAAA;AAAA,U,EAAlD,2J,EAAA;AAAA;AAAA,gB,EAAkD;AAAA;AAAA,U,GAAiC,6H,IAEnF;AAFkD;;AAAlD,wBAAkD,SAAlD;;AAAkD;;AAAlD,wBAAkD,SAAlD;AAAkF,S,EAAA;AAAlF;;AAAA;;AAAA;;AAAA;AAAmF,S;AAAA;;;uEAW/E;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAA0D,0E,IAAK;AAAjB,4BAAW,QAAX,CAAW,SAAX;;AAA9C,wBAA8C,SAA9C;AAAyD,S,EAAA;AAAzD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAA0D;;AAAA;AAAK,S;AAAA;;;uEAEnE,mN,GAAA;AAAA;AAAA,gB,EAAyD;AAAA;AAAA,U,EAAzD,2J,EAAA;AAAA;AAAA,gB,EAAyD;AAAA;AAAA,U,EAAzD,yN,GAA0F,2G,IAE1F;AAFyD;;AAAzD,wBAAyD,SAAzD;;AAAyD;;AAAzD,wBAAyD,SAAzD;AAAyF,S,EAAA;AAAzF;;AAAA;;AAAA;;AAAA;AAA0F,S;AAAA;;;uEAQ1F,mN,GAAA;AAAA;AAAA,gB,EAAsD;AAAA;AAAA,U,EAAtD,2J,EAAA;AAAA;AAAA,gB,EAAsD;AAAA;AAAA,U,EAAtD,yN,GAAuF,iI,IAEvF;AAFsD;;AAAtD,wBAAsD,SAAtD;;AAAsD;;AAAtD,wBAAsD,SAAtD;AAAsF,S,EAAA;AAAtF;;AAAA;;AAAA;;AAAA;AAAuF,S;AAAA;;;uEAGvF,mN,GAAA;AAAA;AAAA,gB,EAA8E;AAAA;AAAA,U,EAA9E,2J,EAAA;AAAA;AAAA,gB,EAA8E;AAAA;AAAA,U,EAA9E,yN,GAA+G,2H,IAE/G;AAF8E;;AAA9E,wBAA8E,SAA9E;;AAA8E;;AAA9E,wBAA8E,SAA9E;AAA8G,S,EAAA;AAA9G;;AAAA;;AAAA;;AAAA;AAA+G,S;AAAA;;;uEAQ/G,mN,GAAA,2J,EAAA,yN,GAAiD,kH,IAEjD,I,EAAA;AAFA;;AAAA;;AAAA;;AAAA;AAAiD,S;AAAA;;;uEAGjD,mN,GAAA;AAAA;AAAA,gB,EAA6D;AAAA;AAAA,U,EAA7D,2J,EAAA;AAAA;AAAA,gB,EAA6D;AAAA;AAAA,U,EAA7D,yN,GAA8F,sH,IAE9F;AAF6D;;AAA7D,wBAA6D,SAA7D;;AAA6D;;AAA7D,wBAA6D,SAA7D;AAA6F,S,EAAA;AAA7F;;AAAA;;AAAA;;AAAA;AAA8F,S;AAAA;;;uEA5B1G,yL,GAAA;AAAA;AAAA,gB,GACI,sM,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GACI,umC,GAAA,ovB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;;;0PACI,yH,GAAA;AAAA;AAAA,gB,GAEJ,yH,GAAA;AAAA;AAAA,gB,EAAU,yD,GAKlB,6M,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GACI,wmC,GAAA,qvB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;8PACA,yH,GAAA;AAAA;AAAA,gB,EAAU,yD,GAGV,0H,GAAA;AAAA;AAAA,gB,EAAU,yD,GAKlB,6M,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GACI,ypC,GAAA,qvB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;8PACA,0H,GAAA;AAAA;AAAA,gB,EAAU,yD,GAGV,0H,GAAA;AAAA;AAAA,gB,EAAU,yD,GAAkD;AAAA;AA5B5B;;AAA5C,wBAA4C,SAA5C;;AAC8B;;AAA1B,wBAA0B,SAA1B;;AAAwD;;AAAxD,wBAAwD,SAAxD;;AAEyD;;AAAjD,yBAAiD,UAAjD;;AAAY;;AAAZ,yBAAY,UAAZ;;AACgB,8BAAiC,gBAAjC;;AAAZ,yBAAY,UAAZ;;AAEM;;AAAV,yBAAU,UAAV;;AAKwB;;AAAhC,yBAAgC,UAAhC;;AAA8D;;AAA9D,yBAA8D,UAA9D;;AAEsE;;AAA9D,yBAA8D,UAA9D;;AAA4B;AAAZ;;AAAhB,yBAA4B,UAA5B,EAAgB,UAAhB;;AACU;;AAAV,yBAAU,UAAV;;AAGU;;AAAV,yBAAU,UAAV;;AAKwB;;AAAhC,yBAAgC,UAAhC;;AAA8D;;AAA9D,yBAA8D,UAA9D;;AAEiE;;AAAzD,yBAAyD,WAAzD;;AAA4B;AAAZ;;AAAhB,yBAA4B,WAA5B,EAAgB,WAAhB;;AACU;;AAAV,yBAAU,WAAV;;AAGU;;AAAV,yBAAU,WAAV;AAA4D,S,EAAA;AA1BhE;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AASJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAUJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAqF,S;AAAA;;;uEAW7F,mN,GAAA,oN,EAAA;AAAA;AAAA,gB,EAAiD;AAAA;AAAA,U,EAAjD,2J,EAAA;AAAA;AAAA,gB,EAAiD;AAAA;AAAA,U,GAAiC,yI,IAElF;AAFiD;;AAAjD,wBAAiD,SAAjD;;AAAiD;;AAAjD,wBAAiD,SAAjD;AAAiF,S,EAAA;AAAjF;;AAAA;;AAAA;;AAAA;AAAkF,S;AAAA;;;uEA2E9E,mN,GAAA;AAAA;AAAA,gB,EAA+C;AAAA;AAAA,U,EAA/C,2J,EAAA;AAAA;AAAA,gB,EAA+C;AAAA;AAAA,U,EAA/C,0N,GAAgF,+H,IAEhF;AAF+C;;AAA/C,wBAA+C,SAA/C;;AAA+C;;AAA/C,wBAA+C,SAA/C;AAA+E,S,EAAA;AAA/E;;AAAA;;AAAA;;AAAA;AAAgF,S;AAAA;;;uEAQhF,mN,GAAA;AAAA;AAAA,gB,EAAiD;AAAA;AAAA,U,EAAjD,2J,EAAA;AAAA;AAAA,gB,EAAiD;AAAA;AAAA,U,EAAjD,0N,GAAkF,sH,IAElF;AAFiD;;AAAjD,wBAAiD,SAAjD;;AAAiD;;AAAjD,wBAAiD,SAAjD;AAAiF,S,EAAA;AAAjF;;AAAA;;AAAA;;AAAA;AAAkF,S;AAAA;;;uEApKlH,0J,IACI,8U,GAAA;AAAA;AAAA,gB,GAEA,gJ,IACI;AAAA;AAAA;;AAAA;;;;;;;;;;AAA2B;;;;;AAA3B;AAAA,sB,GAAA,qK,EAAA;AAAA;AAAA;AAAA;AAAA,U,EAAA,0M,EAAA,8N,GACI,kJ,IACI,qJ,IAA6B,gG,IAC7B,uJ,IACI,yJ,IAEI,0L,GAAA;AAAA;AAAA,gB,GAEI,uM,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GACI,wmC,GAAA,qvB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;;;ydACI;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAA6B,+E,IAC7B;AAAA;;AAAA;;;;;;;;;;;SAAA,E,oGAAA,E,wGAAA,C;;mBAA6B,+E,IAEjC,yH,GAAA;AAAA;AAAA,gB,EAAU,yD,GAKlB,uM,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GACI,wmC,GAAA,qvB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;SAAA,E,uGAAA,E,2GAAA,C;;;;;;;;;;0PACI,yH,GAAA;AAAA;AAAA,gB,GAEJ,yH,GAAA;AAAA;AAAA,gB,EAAU,yD,GAKlB,uM,GAAA;AAAA;AAAA,gB,EAAA;AAAA;AAAA,gB,GACI,2K,GAAA;AAAA;AAAA,gB,GACI,2H,IAAO,oF,IACP;AAAA;;AAAA;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;0aACI,4H,GAAA;AAAA;AAAA,gB,GAEJ,4H,GAAA;AAAA;AAAA,gB,EAAU,yD,GAOtB,4H,GAAA;AAAA;AAAA,gB,GAkCA,6I,GAAA;AAAA;AAAA,gB,GACI,6H,GAAA;AAAA;AAAA,gB,GAOhB,kW,GAAA;AAAA;AAAA,gB,EAAA,qM,EAAA,gO,GACI,sJ,IAA6B,yF,IAC7B,yJ,IACI,2J,IAEI,iL,GAAA;AAAA;AAAA,gB,GACI,soC,GAAA,svB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,gB,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;8PAEJ,soC,GAAA,svB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,gB,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;8PAEJ,ynC,GAAA,svB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,gB,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;8PAIR,oL,GAAA;AAAA;AAAA,gB,GACI,ymC,GAAA,svB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;8PAIR,oL,GAAA;AAAA;AAAA,gB,GACI,ymC,GAAA,svB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;8PAGR,iL,GAAA;AAAA;AAAA,gB,GACI,soC,GAAA,svB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,gB,EAAA,8N,GACI;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAA,E,IAAA,E,IAAA,C;;;;;;;gQAGJ,soC,GAAA,svB,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,EAAA;AAAA;AAAA,U,E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AAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAWA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAoDxB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAMgB;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAWJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AA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;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA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AAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAWJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAkBR;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAQR;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAYA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAiBR;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAQJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAEJ;AAAA;AAAA;AAAA;;AAAA;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","file":"main-es5.js","sourcesContent":["export * from './endpoint.decorator';\r\nexport * from './mappable.decorator';","\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n You must provide either a valid alias, or a first and last name, or both.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
","
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

{{ user && user.FullName }}

\r\n
\r\n
\r\n
\r\n

Email

\r\n

{{ user && user.Email }}

\r\n
\r\n
\r\n

Role 0\">s

\r\n \r\n \r\n

{{ urole && urole.Role && urole.Role.RoleName }}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ role.RoleName }}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { \r\n CorrespondenceFilterViewModel as CorFilter,\r\n CorrespondenceSubFilterViewModel as CorSubFilter,\r\n CorFilterType\r\n} from '../../../view-models/filters';\r\n\r\n@Component({\r\n selector: 'app-filter-viewer',\r\n templateUrl: './filter-viewer.component.html',\r\n styleUrls: ['./filter-viewer.component.css']\r\n})\r\nexport class FilterViewerComponent implements OnInit {\r\n @Input(\"filter\") filter: CorFilter;\r\n @Output() updated: EventEmitter = new EventEmitter();\r\n\r\n filterTypes: typeof CorFilterType = CorFilterType;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n removeFilter(f: CorSubFilter) {\r\n let i = this.filter.Filters.indexOf(f);\r\n if (i >= 0)\r\n this.filter.Filters.splice(i, 1);\r\n this.updated.emit(this.filter);\r\n }\r\n\r\n switchSorting() {\r\n this.filter.Ascending = !this.filter.Ascending;\r\n this.updated.emit(this.filter);\r\n }\r\n}\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { endpoint } from '../decorators/endpoint.decorator';\r\nimport { mappable } from '../decorators';\r\nimport { UserViewModel } from './user-view-model';\r\nimport { RoleViewModel } from './role-view-model';\r\n\r\n@endpoint(\"userrole\")\r\nexport class UserRoleViewModel extends BaseViewModel {\r\n public UserId: number = 0;\r\n public RoleId: number = 0;\r\n\r\n @mappable(\"UserViewModel\")\r\n public User: UserViewModel = null;\r\n\r\n @mappable(\"RoleViewModel\")\r\n public Role: RoleViewModel = null;\r\n}","
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n

Filter

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

Sorry, you do not have access to the dashboard. Please consult an administrator of this system.

\r\n
\r\n \r\n \r\n \r\n
\r\n

{{ corr.DateReceived | amDateFormat:'MMM DD' }}

\r\n
{{corr.Status || \"Status unavailable\"}}
\r\n
\r\n \r\n
\r\n
\r\n

{{ corr.RequestorName }}

\r\n

{{ corr.Title }}

\r\n

{{ corr.Summary?.substr(0, 105) }}{{ corr.Summary?.length > 105 ? \"...\" : \"\"}}

\r\n
\r\n chevron_right\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","

{{ title }}

\r\n\r\n

{{ message }}

\r\n
\r\n\r\n \r\n \r\n","
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n - All - \r\n \r\n \r\n {{ role.RoleName }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Users

\r\n
\r\n
\r\n \r\n \r\n
\r\n

{{ user.LastFirst }}

\r\n

Roles:  {{ user.RolesSummary }}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { BaseFilterViewModel } from './base-filter-view-model';\r\n\r\nexport class IdwFilterViewModel extends BaseFilterViewModel {\r\n public Type: IdwFilterType = IdwFilterType.Keywords;\r\n public HawkId: string;\r\n}\r\n\r\nexport enum IdwFilterType {\r\n /**\r\n * Search using the Keywords property across all IDW fields (email, hawkId, etc).\r\n */\r\n Keywords = 0x1,\r\n\r\n /**\r\n * Search using the HawkId field, only.\r\n */\r\n HawkId = 0x2\r\n}","import { HttpParams } from '@angular/common/http';\r\nimport { BaseFilterViewModel } from './base-filter-view-model';\r\nimport { Operator } from './operator';\r\n\r\nexport class ReviewDocumentFilterViewModel extends BaseFilterViewModel {\r\n public Type: ReviewDocFilterType = ReviewDocFilterType.ByReviewId;\r\n public ReviewId: number = 0;\r\n\r\n public getAsHttpParams(): HttpParams {\r\n var params = super.getAsHttpParams();\r\n params = params.append('filter.Type', encodeURIComponent(`${this.Type}`));\r\n params = params.append('filter.ReviewId', encodeURIComponent(`${this.ReviewId}`));\r\n return params;\r\n }\r\n}\r\n\r\nexport enum ReviewDocFilterType {\r\n ByReviewId = 0x1,\r\n}\r\n","import { Component, OnInit, Input, Inject } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthenticationServiceToken } from '../../services';\r\nimport { IAuthenticationService } from '../../services/i'; \r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n @Input() title: string = \"\";\r\n showBreadcrumbs: boolean = true;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n @Inject(AuthenticationServiceToken) private auth: IAuthenticationService \r\n ) {}\r\n\r\n ngOnInit()\r\n {\r\n this.showBreadcrumbs = this.auth.isAuthenticated; //this.route.snapshot.url.length > 1;\r\n }\r\n\r\n}\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { endpoint } from '../decorators/endpoint.decorator';\r\n\r\n@endpoint(\"Document\")\r\nexport class DocumentFileViewModel extends BaseViewModel {\r\n public ContentBytes: string = \"\";\r\n}\r\n","import { Injectable, Inject, InjectionToken } from '@angular/core';\r\nimport { AuthenticationService, AuthenticationServiceToken } from './auth.service';\r\nimport { LogServiceToken } from './log.service';\r\nimport { IRoleService, ILogService } from './i';\r\n\r\n\r\n// Originally from http://jasonwatmore.com/post/2016/08/16/angular-2-jwt-authentication-example-tutorial\r\n\r\n@Injectable()\r\nexport class RoleService implements IRoleService {\r\n constructor(\r\n @Inject(AuthenticationServiceToken) private authService: AuthenticationService,\r\n @Inject(LogServiceToken) private log: ILogService) {}\r\n public canActivate(routeFrag: string, params: { [key: string]: string }): boolean {\r\n var routeFrag = routeFrag[0] == \"/\" ? routeFrag.substr(1) : routeFrag;\r\n switch(routeFrag) {\r\n case \"correspondences\":\r\n case \"correspondences/:filter\":\r\n case \"correspondence\": \r\n case \"correspondence/:id\":\r\n case \"download/:id\":\r\n return this.authService.isAuthenticated && this.authService.hasAnyRole(\"Admin\", \"Shepherd\", \"Reviewer\", \"Intake\");\r\n case \"correspondence/:id/reviews/add\":\r\n case \"correspondence/:cid/reviews/:rid\":\r\n case \"correspondence/:cid/reviews/:rid/documents/add\":\r\n return this.authService.isAuthenticated && this.authService.hasAnyRole(\"Admin\", \"Shepherd\", \"Reviewer\");\r\n case \"correspondence/add\":\r\n case \"correspondence/:id/documents/add\":\r\n return this.authService.isAuthenticated && this.authService.hasAnyRole(\"Admin\", \"Shepherd\", \"Intake\");\r\n case \"contacts\":\r\n case \"contacts/:id\":\r\n case \"contacts/:id/details/:id\":\r\n return this.authService.isAuthenticated && this.authService.hasAnyRole(\"Admin\", \"Shepherd\", \"Intake\");\r\n case \"users\":\r\n case \"users/add\":\r\n case \"users/:id\":\r\n case \"choose/user\":\r\n return this.authService.isAuthenticated && this.authService.hasAnyRole(\"Admin\", \"Shepherd\");\r\n case \"settings\":\r\n return this.authService.isAuthenticated && this.authService.hasAnyRole();\r\n default:\r\n this.log.warn(routeFrag + \" is not a known route. Authorization denied by default.\");\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n\r\nexport let RoleServiceToken = new InjectionToken(\"IRoleServiceToken\");\r\n\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ role.RoleName }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Users

\r\n
\r\n
\r\n \r\n \r\n
\r\n

{{ user.LastFirst }}

\r\n

Roles: {{ user.RolesSummary }}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Inject, Injectable, EventEmitter, Input, ViewContainerRef } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nimport { RepositoryServiceToken, MapperServiceToken, LogServiceToken, AuthenticationServiceToken, AuthenticationService } from '../../services';\r\nimport { IRepositoryService, IMapperService, ILogService, IAuthenticationService } from '../../services/i';\r\nimport { CorrespondenceViewModel, ReviewViewModel, ReviewDocumentViewModel, DocumentViewModel, ReviewStatuses } from '../../view-models';\r\nimport { BaseFilterViewModel as CorFilter, ReviewDocumentFilterViewModel, ReviewDocFilterType } from '../../view-models/filters';\r\nimport { IFilterViewModel } from '../../view-models/filters/i';\r\nimport { ConfirmDialog, DownloadDialog } from '../../dialogs';\r\n\r\n@Component({\r\n selector: 'app-review',\r\n templateUrl: './review.component.html',\r\n styleUrls: ['./review.component.css']\r\n})\r\n@Injectable()\r\nexport class ReviewComponent implements OnInit {\r\n editMode: boolean = false;\r\n review: ReviewViewModel;\r\n documents: DocumentViewModel[] = [];\r\n corr: CorrespondenceViewModel;\r\n @Input() myForm: FormGroup;\r\n dialogRef: MatDialogRef;\r\n downloadDialogRef: MatDialogRef;\r\n statuses: { key: string, value: string }[] = ReviewStatuses;\r\n\r\n constructor(\r\n @Inject(AuthenticationServiceToken) private auth: AuthenticationService,\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(MapperServiceToken) private mapper: IMapperService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n public dialog: MatDialog,\r\n private fb: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private vcr: ViewContainerRef\r\n ) {\r\n this.myForm = this.buildForm();\r\n\r\n\r\n //this.myForm.disable();\r\n\r\n this.route.params.subscribe(params => {\r\n let cid: number = +params['cid'];\r\n let rid: number = +params['rid'];\r\n this.repo.Get(CorrespondenceViewModel, cid)\r\n .toPromise()\r\n .then(corr => { this.corr = corr; });\r\n\r\n this.repo.Get(ReviewViewModel, rid)\r\n .toPromise()\r\n .then(rev => {\r\n this.setupForm(rev);\r\n this.review = rev;\r\n });\r\n\r\n this.refreshDocuments(rid);\r\n });\r\n }\r\n\r\n removeFile(doc: DocumentViewModel) {\r\n this.openDialog(`Are you sure you want to delete ${doc.Filename}?`).then(result => {\r\n if (result) {\r\n this.repo.Delete(ReviewDocumentViewModel, doc.ReviewDocument.Id).toPromise().then(d => {\r\n this.refreshDocuments(this.review.Id);\r\n });\r\n }\r\n });\r\n }\r\n\r\n deleteReview() {\r\n this.openDialog(`Are you sure you want to delete this review?`).then(result => {\r\n if (result) {\r\n this.repo.Delete(ReviewViewModel, this.review.Id).toPromise().then(d => {\r\n this.goToCorrespondence();\r\n });\r\n }\r\n }); \r\n }\r\n\r\n sendReminder() {\r\n this.repo.Update(ReviewViewModel, { Remind: true, Id: this.review.Id })\r\n .toPromise()\r\n .then(r => {\r\n this.toastr.success(`Reminder email sent to ${r.User.FullName}.`);\r\n });\r\n }\r\n\r\n refreshDocuments(id: number) {\r\n let docFilter = new ReviewDocumentFilterViewModel();\r\n docFilter.ReviewId = id;\r\n docFilter.Type = ReviewDocFilterType.ByReviewId;\r\n this.repo.Page(ReviewDocumentViewModel, docFilter)\r\n .subscribe(rdocs => {\r\n this.documents = rdocs.map(rd => {\r\n rd.Document.ReviewDocument = rd;\r\n return rd.Document;\r\n });\r\n });\r\n }\r\n\r\n download(id: number) {\r\n this.downloadDialogRef = this.dialog.open(\r\n DownloadDialog, {\r\n disableClose: false\r\n });\r\n this.downloadDialogRef.componentInstance.title = \"Beginning secure download...\";\r\n this.downloadDialogRef.componentInstance.downloadId = id;\r\n\r\n this.downloadDialogRef.afterClosed().subscribe(result => {\r\n this.downloadDialogRef = null;\r\n });\r\n return this.downloadDialogRef.afterClosed().toPromise(); \r\n }\r\n\r\n buildForm(): FormGroup {\r\n return this.fb.group({\r\n review: [''],\r\n status: ['', Validators.required],\r\n instructions: ['']\r\n });\r\n }\r\n\r\n setupForm(r: ReviewViewModel): void {\r\n this.myForm.get('review').setValue(r.ReviewText);\r\n this.myForm.get('status').setValue(r.ReviewStatus);\r\n this.myForm.get('instructions').setValue(r.Instructions);\r\n }\r\n\r\n openDialog(message: string): Promise {\r\n this.dialogRef = this.dialog.open(\r\n ConfirmDialog, {\r\n disableClose: false\r\n });\r\n this.dialogRef.componentInstance.title = \"Confirm\";\r\n this.dialogRef.componentInstance.message = message;\r\n\r\n this.dialogRef.afterClosed().subscribe(result => {\r\n this.dialogRef = null;\r\n });\r\n return this.dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n goToCorrespondence() {\r\n let text = this.myForm.get(\"review\").value;\r\n let status = this.myForm.get(\"status\").value;\r\n if (text != this.review.ReviewText || status != this.review.ReviewStatus) {\r\n this.openDialog(\"You seem to have unsaved changes. Are you sure you want to cancel?\")\r\n .then(yes => {\r\n if (yes) {\r\n this.router.navigate([\"/correspondence\", this.corr.Id]);\r\n }\r\n })\r\n } else {\r\n this.router.navigate([\"/correspondence\", this.corr.Id]);\r\n }\r\n }\r\n\r\n saveChanges() {\r\n if (this.myForm.errors != null) {\r\n this.log.warn(\"Form not valid.\", this.myForm.errors);\r\n return;\r\n }\r\n\r\n let raw = this.myForm.getRawValue();\r\n this.review.ReviewText = raw.review;\r\n this.review.ReviewStatus = raw.status;\r\n this.review.Instructions = raw.instructions;\r\n\r\n if (this.myForm.errors == null)\r\n this.repo.Update(ReviewViewModel, this.review)\r\n .toPromise()\r\n .then(this.onUpdate.bind(this));\r\n }\r\n\r\n onUpdate(updated: ReviewViewModel) {\r\n this.review = updated;\r\n this.setupForm(updated);\r\n this.editMode = false;\r\n let rt = this.review.ReviewText ? this.review.ReviewText.trim() : \"\";\r\n let ct = this.corr.Summary ? this.corr.Summary.trim() : \"\";\r\n let message = [\r\n \"Review \",\r\n rt.length ? `\"${rt.substr(0, 20)}${rt.length > 20 ? '...' : ''}\" ` : \"\",\r\n \"has been updated\",\r\n ct.length ? ` for \"${ct.substr(0, 20)}${ct.length > 20 ? '...' : ''}\".` : \".\",\r\n ].join('');\r\n this.toastr.success(message, \"Success\");\r\n }\r\n\r\n cancelEdit() {\r\n this.setupForm(this.review);\r\n this.editMode = false;\r\n }\r\n\r\n editReview() {\r\n this.setupForm(this.review);\r\n this.editMode = true;\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { OnInit, Inject, Component } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Observable, Observer } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'confirm-dialog',\r\n templateUrl: './confirm.dialog.html',\r\n styleUrls: ['./confirm.dialog.css']\r\n})\r\n\r\nexport class ConfirmDialog implements OnInit {\r\n title: string;\r\n actionBtn: string;\r\n cancelBtn: string;\r\n message: string;\r\n constructor(\r\n public dialogRef: MatDialogRef\r\n ) {\r\n \r\n //Observable.create()\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { DocumentFileViewModel } from './document-file-view-model';\r\nimport { CorrespondenceDocumentViewModel } from './correspondence-document-view-model';\r\nimport { ReviewDocumentViewModel } from './review-document-view-model';\r\nimport { endpoint } from '../decorators/endpoint.decorator';\r\nimport { mappable } from '../decorators/mappable.decorator';\r\n\r\n@endpoint(\"Document\")\r\nexport class DocumentViewModel extends BaseViewModel {\r\n public Filename: string = \"\";\r\n public ContentType: string = \"\";\r\n public Size: number = 0;\r\n\r\n @mappable(\"DocumentFileViewModel\")\r\n public DocumentFile: DocumentFileViewModel = null;\r\n\r\n @mappable(\"CorrespondenceDocumentViewModel\")\r\n public CorrespondenceDocument: CorrespondenceDocumentViewModel = null;\r\n\r\n @mappable(\"ReviewDocumentViewModel\")\r\n public ReviewDocument: ReviewDocumentViewModel = null;\r\n\r\n public UUID: string = null;\r\n}\r\n","import { Directive, forwardRef, Attribute } from '@angular/core';\r\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\r\nimport * as moment from 'moment';\r\n\r\n@Directive({\r\n selector: '[validateBeforeTomorrow][formControlName],[validateBeforeTomorrow][formControl],[validateBeforeTomorrow][ngModel]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => BeforeTomorrowValidator), multi: true }\r\n ]\r\n})\r\nexport class BeforeTomorrowValidator implements Validator {\r\n tomorrow: moment.Moment = moment().add(0, \"days\");\r\n constructor() {}\r\n \r\n validate(c: AbstractControl): { [key: string]: any } {\r\n let v = moment(c.value, \"YYYY-MM-DD\");\r\n\r\n // value not equal\r\n if (v >= this.tomorrow) return {\r\n beforeTomorrow: true\r\n }\r\n return null;\r\n }\r\n}","import { HttpParams } from '@angular/common/http';\r\nimport { IFilterViewModel } from './i/i-filter-view-model';\r\n\r\nexport class BaseFilterViewModel implements IFilterViewModel {\r\n public Page: number = 0;\r\n public PageSize: number = 10;\r\n public Keywords: string[];\r\n\r\n getAsHttpParams(): HttpParams {\r\n let params = new HttpParams()\r\n .set('filter.page', `${this.Page}`)\r\n .set('filter.pageSize', `${this.PageSize}`);\r\n for (let i in this.Keywords) {\r\n params = params.append('filter.keywords', this.Keywords[i]);\r\n }\r\n // console.log(params);\r\n return params;\r\n }\r\n }\r\n\r\n\r\n\r\n","\r\nimport {filter} from 'rxjs/operators';\r\nimport { Injectable, InjectionToken } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { IErrorService, IErrorMessage, ErrorMessageCallback } from './i';\r\n\r\n\r\n@Injectable()\r\nexport class ErrorService implements IErrorService {\r\n private handler = new Subject();\r\n constructor() { }\r\n\r\n public broadcast(type: string, origin: InjectionToken, message: string) {\r\n let packet: IErrorMessage = { type, origin, message };\r\n this.handler.next(packet);\r\n }\r\n\r\n public subscribe(type: string, origin: InjectionToken, callback: ErrorMessageCallback): Subscription {\r\n return this.handler.pipe(\r\n filter(message => message.type === type && message.origin === origin))\r\n .subscribe((msg: IErrorMessage) => callback(msg.type, msg));\r\n }\r\n\r\n public subscribeAll(callback: ErrorMessageCallback): Subscription {\r\n return this.handler\r\n .subscribe((msg: IErrorMessage) => callback(msg.type, msg)); \r\n }\r\n}\r\n\r\nexport let ErrorServiceToken = new InjectionToken(\"IErrorService\");\r\n","import { HttpParams } from '@angular/common/http';\r\nimport { BaseFilterViewModel } from './base-filter-view-model';\r\nimport { CorrespondenceSubFilterViewModel } from './correspondence-subfilter-view-model';\r\nimport { Operator } from './operator';\r\nimport { mappable } from '../../decorators';\r\n\r\nexport class CorrespondenceFilterViewModel extends BaseFilterViewModel {\r\n @mappable('CorrespondenceSubFilterViewModel')\r\n public Filters: CorrespondenceSubFilterViewModel[] = [];\r\n\r\n /** Whether to sort ascending on DateReceived. Default: descending (false). */\r\n public Ascending = false;\r\n\r\n public getAsHttpParams(): HttpParams {\r\n let params = super.getAsHttpParams();\r\n // params.append('filter.Ascending', `${this.Ascending}`);\r\n params = params.append(`filter.SortSpecifications[0].Property`, 'DateReceived');\r\n if (this.Ascending) {\r\n params = params.append(`filter.SortSpecifications[0].Direction`, '1');\r\n } else {\r\n params = params.append(`filter.SortSpecifications[0].Direction`, '2');\r\n }\r\n for (let i = 0; i < this.Filters.length; i++) {\r\n params = params.append(`filter.Filters[${i}].Type`, `${this.Filters[i].Type}`);\r\n params = params.append(`filter.Filters[${i}].Op`, `${this.Filters[i].Op}`);\r\n for (let j = 0; j < this.Filters[i].Keywords.length; j++) {\r\n params = params.append(`filter.Filters[${i}].Keywords`, `${this.Filters[i].Keywords[j]}`);\r\n }\r\n }\r\n return params;\r\n }\r\n}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `angular-cli.json`.\r\nimport { IAppConfig } from './i-app.config';\r\nimport { LogService } from '../app/services';\r\n\r\nexport function QALogServiceFactory() { return new LogService(true, false, true, true); }\r\nexport const OAuthConfig = {\r\n redirectUri: \"https://cortrack-test.iowa.uiowa.edu/dashboard\",\r\n clientId: \"pres-cortrack-web-cf\",\r\n scope: \"test.pres.cortrack.api openid profile uiowa\",\r\n responseType: 'code',\r\n clearHashAfterLogin: true,\r\n issuer: \"https://auth.esapps-test.iowa.uiowa.edu\",\r\n loginUrl: \"https://auth.esapps-test.iowa.uiowa.edu/connect/authorize\",\r\n logoutUrl: \"https://auth.esapps-test.iowa.uiowa.edu/connect/endsession\"\r\n}\r\n\r\nexport const environment = {\r\n production: false,\r\n qa: true,\r\n appConfig: {\r\n logFactory: QALogServiceFactory,\r\n APIBaseURI: \"https://cortrack-test.iowa.uiowa.edu/api\",\r\n BaseURI: \"https://cortrack-test.iowa.uiowa.edu\",\r\n OAuthConfig: OAuthConfig\r\n }\r\n};","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-help',\r\n templateUrl: './help.component.html',\r\n styleUrls: ['./help.component.css']\r\n})\r\nexport class HelpComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export * from './base-filter-view-model';\r\nexport * from './idw-filter-view-model';\r\nexport * from './user-filter-view-model';\r\nexport * from './requestor-filter-view-model';\r\nexport * from './correspondence-document-filter-view-model';\r\nexport * from './review-document-filter-view-model';\r\nexport * from './correspondence-filter-view-model';\r\nexport * from './corr-count-filter-view-model';\r\nexport * from './correspondence-subfilter-view-model';\r\nexport * from './review-filter-view-model';\r\nexport * from './operator';","
\r\n

\r\n If the download does not work, please try again by clicking, below.\r\n

\r\n \r\n

\r\n The generated link cannot be shared.\r\n

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

Review Details

\r\n
\r\n
\r\n
\r\n
\r\n

Correspondence Details

\r\n

{{ corr && corr.Title }}

\r\n

{{ corr && corr.Summary }}

\r\n
\r\n
\r\n

\r\n *Subject to Open Records Requests\r\n

\r\n
\r\n

User

\r\n

{{ review?.User?.FullName }}

\r\n
\r\n
\r\n

Type

\r\n

{{ review?.Primary ? \"Primary\" : \"Non-primary\" }}

\r\n
\r\n
\r\n

Status

\r\n

{{ review?.ReviewStatus }}

\r\n
\r\n
\r\n

Instructions to Reviewer

\r\n

{{ review?.Instructions }}

\r\n
\r\n
\r\n

Add Review

\r\n

{{ review?.ReviewText }}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Edit Review Details

\r\n
\r\n
\r\n
\r\n
\r\n

Correspondence Details

\r\n

{{ corr && corr.Title }}

\r\n

{{ corr && corr.Summary }}

\r\n
\r\n
\r\n

\r\n *Subject to Open Records Requests\r\n

\r\n
\r\n

User

\r\n

{{ review?.User?.FullName }}

\r\n
\r\n
\r\n

Type

\r\n

{{ review && review.Primary ? \"Primary\" : \"Non-primary\" }}

\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ s.value }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Attachments

\r\n
\r\n
\r\n \r\n \r\n

{{ doc.Filename }} {{ doc.Size | prettySize }}

\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { endpoint, mappable } from '../decorators';\r\nimport { ReviewCommentViewModel } from './review-comment-view-model';\r\nimport { ReviewDocumentViewModel } from './review-document-view-model';\r\nimport { UserViewModel } from './user-view-model';\r\n\r\n@endpoint(\"review\")\r\nexport class ReviewViewModel extends BaseViewModel {\r\n public UserId: number = 0;\r\n public CorrespondenceId: number = 0;\r\n public Primary: boolean = false;\r\n public ReviewStatus: string = \"\";\r\n public ReviewText: string = \"\";\r\n\r\n /** Instructions from the assigning Shepherd to the Reviewer. */\r\n public Instructions: string = \"\";\r\n\r\n public Created: Date = null;\r\n\r\n /** Special field causes email to be sent upon update, if set to true. */\r\n public Remind: boolean = false;\r\n\r\n @mappable(\"UserViewModel\")\r\n public User: UserViewModel = null;\r\n\r\n @mappable(\"ReviewCommentViewModel\")\r\n public ReviewComments: ReviewCommentViewModel[] = null;\r\n\r\n @mappable(\"ReviewDocumentViewModel\")\r\n public ReviewDocuments: ReviewDocumentViewModel[] = null;\r\n}\r\n\r\nexport let ReviewStatuses: { key: string, value: string }[] = [\r\n { key: 'assigned', value: \"Assigned\" },\r\n { key: 'in-progress', value: \"In progress\" },\r\n { key: 'complete', value: \"Complete\" }\r\n];\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-contact-details',\r\n templateUrl: './contact-details.component.html',\r\n styleUrls: ['./contact-details.component.css']\r\n})\r\nexport class ContactDetailsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject, Input } from '@angular/core';\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { RepositoryServiceToken } from '../../services';\r\nimport { IRepositoryService } from '../../services/i';\r\nimport { RequestorViewModel } from '../../view-models';\r\nimport { BaseFilterViewModel } from '../../view-models/filters';\r\n\r\n@Component({\r\n selector: 'app-contact',\r\n templateUrl: './contact.component.html',\r\n styleUrls: ['./contact.component.css']\r\n})\r\nexport class ContactComponent implements OnInit {\r\n id: number = 0;\r\n contact: RequestorViewModel = null;\r\n filter: BaseFilterViewModel = new BaseFilterViewModel();\r\n @Input() keywords: FormControl = new FormControl();\r\n @Input() userRole: FormControl = new FormControl();\r\n @Input() form: FormGroup = new FormGroup({ keywords: this.keywords, role: this.userRole });\r\n\r\n // http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/\r\n // Regarding subscribe and emit: https://scotch.io/tutorials/angular-2-http-requests-with-observables\r\n // Automapper (if really necessary): https://github.com/loedeman/AutoMapper/wiki\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private fb: FormBuilder,\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService\r\n ) {\r\n this.activatedRoute.params.subscribe((params: Params) => {\r\n this.id = params[\"id\"];\r\n this.repo\r\n .Get(RequestorViewModel, this.id)\r\n .subscribe(value => this.contact = value);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.keywords.setValue(\"\");\r\n this.form = this.fb.group({\r\n names: this.fb.group({\r\n realName: this.fb.group({\r\n firstName: ['', [Validators.required]],\r\n middleName: [''],\r\n lastName: ['', Validators.required],\r\n }),\r\n alias: ['', Validators.required],\r\n }, { validator: this.eitherOr }),\r\n });\r\n }\r\n\r\n showRequiredError(fieldPath: string[]): boolean {\r\n return this.form.get(fieldPath).touched && this.form.hasError('required', fieldPath);\r\n }\r\n\r\n showCustomError(fieldPath: string[], error: string): boolean {\r\n return this.form.get(fieldPath).touched && this.form.hasError(error, fieldPath);\r\n }\r\n\r\n eitherOr(group: FormGroup) {\r\n for (let name in group.controls) {\r\n var ctl = group.controls[name];\r\n if (!ctl.errors)\r\n return null;\r\n }\r\n\r\n return { eitherOr: true };\r\n }\r\n}\r\n\r\n","import { HttpParams } from '@angular/common/http';\r\n\r\nconst endpointMetadataKey = \"cortrack.endpoint.decorator\";\r\nexport function endpoint(uri: string) {\r\n return (target: Function) => {\r\n Reflect.set(target, endpointMetadataKey, uri);\r\n };\r\n}\r\n\r\nexport function getEndpoint(target: Function): string {\r\n return Reflect.get(target, endpointMetadataKey);\r\n}\r\n","export enum Operator {\r\n /** Whether the API data is greater than the input data. */\r\n ApiGreaterThan = 0x1,\r\n\r\n /** Whether the API data is less than the input data. */\r\n ApiLessThan = 0x2,\r\n\r\n /** Whether the API data is equal to the input data. */\r\n ApiEquals = 0x3,\r\n\r\n /** Whether the API data contains the input data. */\r\n ApiContains = 0x4,\r\n\r\n /** Whether the API data is between the given input points. */\r\n ApiBetween = 0x5,\r\n}","import { Component, OnInit, Inject, Injectable, EventEmitter, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { RepositoryServiceToken, MapperServiceToken } from '../../services';\r\nimport { IRepositoryService, IMapperService } from '../../services/i';\r\nimport { \r\n CorrespondenceViewModel as VMCorr, \r\n CorrespondenceDocumentViewModel as VMCorDoc, \r\n DocumentViewModel,\r\n DocumentViewModel as VMDoc } from '../../view-models';\r\nimport { \r\n BaseFilterViewModel as CorFilter, \r\n CorrespondenceDocumentFilterViewModel as CorDocFilter,\r\n CorDocFilterType\r\n} from '../../view-models/filters';\r\n\r\n@Component({\r\n selector: 'app-download',\r\n templateUrl: './download.component.html',\r\n styleUrls: ['./download.component.css']\r\n})\r\n@Injectable()\r\nexport class DownloadComponent implements OnInit {\r\n @ViewChild(\"downloadLink\") downloadLink: ElementRef;\r\n @Input(\"id\") id: number;\r\n download: DocumentViewModel;\r\n url: string;\r\n\r\n constructor(\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(MapperServiceToken) private mapper: IMapperService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit() {\r\n\r\n this.repo.Get(DocumentViewModel, this.id).toPromise().then(doc => {\r\n this.download = doc;\r\n let bytes = atob(doc.DocumentFile.ContentBytes);\r\n let nums = new Array(bytes.length);\r\n for(var i=0; i rc.IsPrimary);\r\n if (p.length >= 1)\r\n return p[0].Requestor;\r\n if ((this.RequestorCorrespondences || []).length)\r\n return this.RequestorCorrespondences[0].Requestor;\r\n return null;\r\n }\r\n\r\n public get RequestorSummary(): string {\r\n return (this.RequestorCorrespondences || []).map(rc => rc.Requestor && rc.Requestor.LastName || \"\").join(\", \");\r\n }\r\n}\r\n\r\nexport let Statuses: string[] = [\r\n \"Intake\", \"Assigned\", \"Completed\", \"Pending AVP\"\r\n];","\r\n","import { Component, OnInit, Inject, Injectable, Input, ViewChild } from '@angular/core';\r\nimport { VIRTUAL_SCROLL_STRATEGY, FixedSizeVirtualScrollStrategy, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { CorrespondenceViewModel as VMCorr,\r\n CorrCountViewModel} from '../../view-models';\r\nimport { CorrespondenceFilterViewModel as CorFilter, CorrCountFilterViewModel } from '../../view-models/filters';\r\n\r\n\r\nimport { FilterDialog } from './filter.dialog';\r\nimport { IMapperService, IRepositoryService, IAuthenticationService, ILogService, ICorrFilterService } from '../../services/i';\r\nimport { MapperServiceToken, RepositoryServiceToken, AuthenticationServiceToken, LogServiceToken, CorrFilterServiceToken, AuthenticationService } from '../../services';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { PageEvent} from '@angular/material/paginator';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css'],\r\n providers: [{provide: VIRTUAL_SCROLL_STRATEGY, useValue: new FixedSizeVirtualScrollStrategy(50, null, null) }]\r\n})\r\n@Injectable()\r\nexport class DashboardComponent implements OnInit {\r\n dialogRef: MatDialogRef;\r\n @Input() savedFilterName: string;\r\n @Input() filter: CorFilter;\r\n correspondences: VMCorr[] = [];\r\n corrObs: Observable;\r\n corrObs$: Subscriber;\r\n noAccessDashboard: boolean;\r\n loading: boolean = false;\r\n limit: number = 10;\r\n @ViewChild(CdkVirtualScrollViewport)\r\n viewport: CdkVirtualScrollViewport;\r\n page: PageEvent;\r\n totalItems: number = 0;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(AuthenticationServiceToken) private auth: AuthenticationService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n @Inject(CorrFilterServiceToken) private corrFilterSvc: ICorrFilterService,\r\n @Inject(MapperServiceToken) private mapper: IMapperService) {\r\n this.corrObs = new Observable((subscriber) => { this.corrObs$ = subscriber; });\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.noAccessDashboard = !this.auth.hasAnyRole(\"Shepherd\", \"Reviewer\", \"Intake\", \"Admin\");\r\n this.filter = this.rememberFilter();\r\n this.refreshPaging();\r\n this.refreshCorrespondences();\r\n }\r\n\r\n\r\n rememberFilter(filter?: CorFilter): CorFilter {\r\n let storageKey = \"edu.uiowa.ITS.CorTrack.filter\";\r\n if (filter) {\r\n localStorage[storageKey] = JSON.stringify(filter);\r\n this.filter = filter;\r\n }\r\n\r\n if (this.filter) {\r\n return this.filter;\r\n } // passed in as input\r\n\r\n try {\r\n let json = localStorage[storageKey];\r\n let f = JSON.parse(json);\r\n return this.mapper.MapJsonToVM(CorFilter, f);\r\n } catch(err) {\r\n return new CorFilter();\r\n }\r\n }\r\n\r\n refreshPaging() {\r\n this.filter.Page = 0;\r\n this.filter.PageSize = this.limit;\r\n let cfilter = new CorrCountFilterViewModel();\r\n cfilter.Filters = [ this.filter ];\r\n this.repo.Page(CorrCountViewModel, cfilter)\r\n .toPromise()\r\n .then(c => { this.totalItems = c[0].Count; });\r\n }\r\n\r\n refreshFilter(filter: CorFilter): void {\r\n this.rememberFilter(filter);\r\n this.refreshPaging();\r\n this.refreshCorrespondences();\r\n }\r\n\r\n openDialog(): void {\r\n this.dialogRef = this.dialog.open(FilterDialog, {\r\n disableClose: false\r\n });\r\n this.dialogRef.componentInstance.filter = this.mapper.MapJsonToVM(CorFilter, this.filter);\r\n this.dialogRef.componentInstance.savedFilterName = this.savedFilterName;\r\n this.dialogRef\r\n .afterClosed()\r\n .toPromise()\r\n .then(result => {\r\n this.refreshFilter(result);\r\n this.refreshPaging();\r\n this.dialogRef = null;\r\n });\r\n }\r\n\r\n refreshCorrespondences() {\r\n if (this.loading)\r\n return;\r\n\r\n this.loading = true;\r\n this.repo\r\n .Page(VMCorr, this.filter)\r\n .toPromise()\r\n .then(chunk => {\r\n this.loading = false;\r\n return chunk;\r\n })\r\n .then(chunk => {\r\n this.corrObs$.next(chunk);\r\n this.correspondences = this.correspondences.concat(chunk);\r\n });\r\n }\r\n\r\n setPage($event: PageEvent) {\r\n this.filter.Page = $event.pageIndex;\r\n this.filter.PageSize = $event.pageSize;\r\n this.refreshCorrespondences();\r\n }\r\n}\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { endpoint, mappable } from '../decorators';\r\n\r\n@endpoint(\"Correspondence\")\r\nexport class CorrespondenceInputModel extends BaseViewModel {\r\n /** This could be an email correspondence subject line, or intake staff's own title. */\r\n public Title: string = \"\";\r\n\r\n /** Could be the body of the email correspondence, or intake staff's summary. */\r\n public Summary: string = \"\";\r\n public RequestorName: string = \"\";\r\n public RequestorDetail: string = \"\";\r\n\r\n /** A short description of the correspondence source. E.g., email, text, phone, letter, news article, etc */\r\n public ReceivedThrough: string = \"\";\r\n\r\n public Status: string=\"\";\r\n\r\n /** When the University received the correspondence. */\r\n public DateReceived: Date = null;\r\n\r\n /** When a reply is due, if ever. */\r\n public DueDate: Date = null;\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n

Help

\r\n
\r\n
\r\n

\r\n This is the President's Office Correspondence Tracking application. If you believe you should have access, but are\r\n unable to login, please contact Ben Held.\r\n

\r\n\r\n

Authorization

\r\n

\r\n In order to use certain parts of this system, you must be in the correct role. If you believe\r\n you should be able to do something that you cannot, please contact an administrator of this system.\r\n

\r\n

\r\n If you've been redirected to this message, its likely you've tried to access a restricted feature without\r\n proper authorization.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","export * from './before-tomorrow.validator';\r\nexport * from './after-today.validator';","\r\nimport {debounceTime} from 'rxjs/operators';\r\nimport { Component, OnInit, Inject, Input } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { RepositoryServiceToken } from '../../services';\r\nimport { IRepositoryService } from '../../services/i';\r\nimport { RequestorViewModel } from '../../view-models';\r\nimport { BaseFilterViewModel } from '../../view-models/filters';\r\n\r\n@Component({\r\n selector: 'app-manage-contacts',\r\n templateUrl: './manage-contacts.component.html',\r\n styleUrls: ['./manage-contacts.component.css']\r\n})\r\nexport class ManageContactsComponent implements OnInit {\r\n requestors: RequestorViewModel[] = [];\r\n filter: BaseFilterViewModel = new BaseFilterViewModel();\r\n @Input() keywords: FormControl = new FormControl();\r\n @Input() userRole: FormControl = new FormControl();\r\n @Input() form: FormGroup = new FormGroup({ keywords: this.keywords, role: this.userRole });\r\n\r\n // http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/\r\n // Regarding subscribe and emit: https://scotch.io/tutorials/angular-2-http-requests-with-observables\r\n // Automapper (if really necessary): https://github.com/loedeman/AutoMapper/wiki\r\n constructor(\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService\r\n ) {\r\n this.keywords.valueChanges.pipe(\r\n debounceTime(400))\r\n .subscribe(keywords => {\r\n this.filter.Keywords = keywords.split();\r\n this.repo.Page(RequestorViewModel, this.filter)\r\n .subscribe(value => { this.requestors = value; });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.keywords.setValue(\"\");\r\n /*var roleFilter = new BaseFilterViewModel();\r\n roleFilter.PageSize = 50;\r\n this.repo.Page(RoleViewModel, roleFilter)\r\n .subscribe(roles => this.roles = roles);*/\r\n }\r\n}\r\n","

{{ title }}

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

Filter Correspondence

\r\n
\r\n
\r\n \r\n \r\n
\r\n

Date

\r\n \r\n arrow_upward\r\n arrow_downward\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ type }}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ cat }}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ req.FullName }}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ rev.FullName }}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ status }}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Save to Favorites\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { HttpParams } from '@angular/common/http';\r\nimport { BaseFilterViewModel } from './base-filter-view-model';\r\nimport { CorrespondenceFilterViewModel } from './correspondence-filter-view-model';\r\nimport { Operator } from './operator';\r\nimport { mappable } from '../../decorators';\r\nimport { CorFilterType } from './correspondence-subfilter-view-model';\r\n\r\nexport class CorrCountFilterViewModel extends BaseFilterViewModel {\r\n @mappable(\"CorrespondenceSubFilterViewModel\")\r\n public Filters: CorrespondenceFilterViewModel[] = [];\r\n\r\n public getAsHttpParams(): HttpParams {\r\n let params = new HttpParams();\r\n for (var h=0; h path.split(\"#\")[0]);\r\n breadcrumbService.addCallbackForRouteRegex(\"\\%[0-9]{2}\", (path) => decodeURIComponent(path));\r\n breadcrumbService.addCallbackForRouteRegex('^.*[?].*$', (path) => path.split('?')[0]);\r\n breadcrumbService.hideRouteRegex(\"\\/choose.*\");\r\n breadcrumbService.hideRouteRegex(\"\\/choose\\/user.*\");\r\n this.filterNames = this.corrFilterSvc.getAvailableFilterNames();\r\n\r\n this.corrFilterSvc.updates.subscribe(() => {\r\n this.filterNames = this.corrFilterSvc.getAvailableFilterNames();\r\n }); \r\n if (this.authService.isAuthenticated) {\r\n let cfilter = new CorrCountFilterViewModel();\r\n cfilter.Filters = this.corrFilterSvc.getAvailableFilterNames().map(f => this.corrFilterSvc.getFilter(f));\r\n cfilter.Filters.unshift(this.corrFilterSvc.getFilter('awaiting-review'));\r\n this.repo.Page(CorrCountViewModel, cfilter)\r\n .toPromise()\r\n .then(() => { });\r\n }\r\n\r\n from(this.commAuthService.runInitialLoginSequence())\r\n .pipe(\r\n switchMap(_ => this.commAuthService.isDoneLoading$),\r\n filter(isDone => isDone),\r\n switchMap(_ => this.commAuthService.isAuthenticated$),\r\n tap(async isAuth => {\r\n if (isAuth) {\r\n this.user = await repo.Lookup(UserViewModel, this.commAuthService.actualUsername).toPromise();\r\n this.authService.setUserInfo(this.user);\r\n } else {\r\n this.log.warn(\"Not authenticated.\");\r\n }\r\n }, err => console.error(err))\r\n ).subscribe();\r\n\r\n this.errors.subscribeAll(this.unhandledGlobalErrors.bind(this));\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n private removeFilter(name: string) {\r\n this.corrFilterSvc.removeFilter(name);\r\n }\r\n\r\n private unhandledGlobalErrors(payload: IErrorMessage) {\r\n console.error(payload);\r\n this.toastr.error(payload.message, `Error ${payload.type}`);\r\n }\r\n \r\n\r\n someMethod() {\r\n this.trigger.openMenu();\r\n }\r\n\r\n login(): void {\r\n this.authService.beginLoginFlow();\r\n }\r\n logout(): void {\r\n this.oauthService.logOut(false);\r\n }\r\n\r\n onScroll($event) {\r\n this.scroll.scroll($event);\r\n }\r\n\r\n title = 'CorTrack';\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatDialogRef, MatDialog } from '@angular/material/dialog';\r\nimport { FormControl } from '@angular/forms';\r\nimport { RoleViewModel, UserViewModel, UserRoleViewModel, BaseFilterViewModel } from '../../view-models';\r\nimport { RepositoryServiceToken, LogServiceToken} from '../../services';\r\nimport { IRepositoryService, ILogService } from '../../services/i';\r\nimport { ConfirmDialog } from '../../dialogs';\r\n\r\n@Component({\r\n selector: 'app-user-details',\r\n templateUrl: './user-details.component.html',\r\n styleUrls: ['./user-details.component.css']\r\n})\r\n// Purpose: show (and edit) user details not visible in the list view.\r\n// e.g. change user roles.\r\nexport class UserDetailsComponent implements OnInit {\r\n roles: RoleViewModel[];\r\n allRoles: RoleViewModel[];\r\n user: UserViewModel;\r\n userRoleControl: FormControl;\r\n dialogRef: MatDialogRef;\r\n\r\n constructor(\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n this.userRoleControl = new FormControl();\r\n }\r\n\r\n ngOnInit() {\r\n //this.keywords.setValue(\"\");\r\n var roleFilter = new BaseFilterViewModel();\r\n roleFilter.PageSize = 50;\r\n this.repo.Page(RoleViewModel, roleFilter)\r\n .subscribe(roles => {\r\n this.allRoles = roles;\r\n this.roles = roles;\r\n });\r\n\r\n this.route.params.subscribe(params => {\r\n let id: number = +params['id'];\r\n this.refreshUser(id);\r\n });\r\n }\r\n\r\n openDialog(message: string): Promise {\r\n this.dialogRef = this.dialog.open(\r\n ConfirmDialog, {\r\n disableClose: false\r\n });\r\n this.dialogRef.componentInstance.title = \"Confirm Removal\";\r\n this.dialogRef.componentInstance.message = message;\r\n\r\n this.dialogRef.afterClosed().subscribe(result => {\r\n this.dialogRef = null;\r\n });\r\n return this.dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n refreshUser(id: number) {\r\n this.repo.Get(UserViewModel, id)\r\n .toPromise()\r\n .then(user => {\r\n this.user = user;\r\n this.roles = this.allRoles.filter(r => user.UserRoles.find(ur => ur.RoleId == r.Id) == null)\r\n });\r\n }\r\n\r\n removeUser() {\r\n this.openDialog(`Are you sure you want to remove ${this.user.FullName}?`)\r\n .then(confirm => {\r\n if (confirm) {\r\n this.repo.Delete(UserViewModel, this.user.Id)\r\n .toPromise()\r\n .then(r => {\r\n this.router.navigate([\"/users\"]);\r\n })\r\n .catch(e => {\r\n this.log.warn(\"Error: \", e);\r\n });\r\n }\r\n });\r\n }\r\n\r\n removeRole(userRole: UserRoleViewModel) {\r\n this.openDialog(`Remove role ${userRole.Role.RoleName} from ${this.user.FullName}?`)\r\n .then(confirm => {\r\n if (confirm) {\r\n this.repo.Delete(UserRoleViewModel, userRole.Id)\r\n .toPromise()\r\n .then(ur => {\r\n this.refreshUser(this.user.Id);\r\n });\r\n }\r\n });\r\n }\r\n\r\n addRole() {\r\n let ur = new UserRoleViewModel();\r\n ur.UserId = this.user.Id;\r\n ur.RoleId = this.userRoleControl.value;\r\n if (! ur.RoleId)\r\n return;\r\n \r\n this.repo.Create(UserRoleViewModel, ur)\r\n .toPromise()\r\n .then(r => {\r\n this.refreshUser(this.user.Id);\r\n });\r\n }\r\n\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport let AppConfigToken = new InjectionToken(\"IAppConfig\");\r\nexport let OAuthConfigToken = new InjectionToken(\"IOAuthConfig\");\r\nexport let BaseURI = new InjectionToken(\"BaseURI\");\r\nexport let APIBaseURI = new InjectionToken(\"APIBaseURI\");","import { HttpParams } from '@angular/common/http';\r\nimport { BaseFilterViewModel } from './base-filter-view-model';\r\nimport { Operator } from './operator';\r\n\r\nexport class CorrespondenceSubFilterViewModel extends BaseFilterViewModel {\r\n public Type: CorFilterType = CorFilterType.Keywords;\r\n public Op: Operator = Operator.ApiContains;\r\n \r\n public Keywords: string[] = [];\r\n public DateTime: Date = null;\r\n public EndDateTime: Date = null;\r\n\r\n public getAsHttpParams(): HttpParams {\r\n throw new Error(\"This filter isn't meant to be used directly.\");\r\n }\r\n}\r\n\r\nexport enum CorFilterType {\r\n /** Search using the Keywords property across all IDW fields (email, hawkId, etc). */\r\n Keywords = 0x1,\r\n\r\n /** Date the correspondence was received. */\r\n DateReceived = 0x2,\r\n\r\n /** Category of the correspondence */\r\n Category = 0x3,\r\n\r\n /** A.k.a contact, the person with whom we're corresponding. */\r\n Requestor = 0x4,\r\n\r\n Status = 0x5,\r\n\r\n Reviewer = 0x6,\r\n\r\n CommunicationType = 0x7\r\n}\r\n","\r\nimport {map, startWith, mergeMap} from 'rxjs/operators';\r\nimport { OnInit, Inject, Component } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { Observable, Observer } from 'rxjs';\r\n\r\nimport { RepositoryServiceToken, CorrFilterServiceToken } from '../../services';\r\nimport { IRepositoryService, ICorrFilterService } from '../../services/i';\r\nimport { UserViewModel, RequestorViewModel, CategoryViewModel,\r\n BaseFilterViewModel, RequestorFilterViewModel, RequestorFilterType, UserFilterViewModel, Statuses } from '../../view-models';\r\nimport { receivedThrough } from '../../static-data';\r\nimport {\r\n CorrespondenceFilterViewModel as CorFilter, \r\n CorrespondenceSubFilterViewModel as CorSubFilter,\r\n CorFilterType,\r\n Operator\r\n} from '../../view-models/filters';\r\n\r\n@Component({\r\n selector: 'filter-dialog',\r\n templateUrl: './filter.dialog.html',\r\n styleUrls: ['./filter.dialog.css'],\r\n})\r\nexport class FilterDialog implements OnInit {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private http: HttpClient,\r\n private formBuilder: FormBuilder,\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(CorrFilterServiceToken) private corrFilterSvc: ICorrFilterService\r\n ) {\r\n this.savedFilterName = null;\r\n this.filter = new CorFilter();\r\n this.filterTypes = CorFilterType;\r\n\r\n this.categoryControl = new FormControl();\r\n this.keywordsControl = new FormControl();\r\n this.requestorControl = new FormControl();\r\n this.reviewerControl = new FormControl();\r\n this.commTypeControl = new FormControl();\r\n this.sortControl = new FormControl();\r\n this.statusControl = new FormControl();\r\n this.filterName = new FormControl();\r\n this.saveToFavorites = new FormControl();\r\n this.filteredCategories = this.categoryControl.valueChanges.pipe(\r\n startWith(null),\r\n mergeMap(cat => {\r\n let catFilter = new BaseFilterViewModel();\r\n catFilter.PageSize = 100;\r\n catFilter.Keywords = cat ? cat.split() : [];\r\n return this.repo.Page(CategoryViewModel, catFilter).pipe(map(cs => cs.map(c => c.Name)));\r\n }),);\r\n this.filteredRequestors = this.requestorControl.valueChanges.pipe(\r\n startWith(null),\r\n mergeMap(req => {\r\n let reqFilter = new RequestorFilterViewModel();\r\n reqFilter.Type = RequestorFilterType.Keywords;\r\n reqFilter.Keywords = req ? req.split() : [];\r\n return this.repo.Page(RequestorViewModel, reqFilter);\r\n }),);\r\n this.filteredReviewers = this.reviewerControl.valueChanges.pipe(\r\n startWith(null),\r\n mergeMap(rev => {\r\n let revFilter = new BaseFilterViewModel();\r\n revFilter.Keywords = rev ? rev.split() : [];\r\n return this.repo.Page(UserViewModel, revFilter);\r\n }),);\r\n\r\n this.filteredCommTypes = this.commTypeControl.valueChanges.pipe(\r\n startWith(null),\r\n map(t => t ? receivedThrough.filter(r => r && new RegExp(t, \"gi\").test(r)) : receivedThrough),);\r\n }\r\n\r\n ngOnInit() {\r\n //this.fetchCategories();\r\n this.setupRequestorsTypeahead();\r\n this.setupReviewersTypeahead();\r\n this.loadFilter();\r\n }\r\n\r\n loadFilter() {\r\n let cat = this.getFirstSubFilter(CorFilterType.Category);\r\n let com = this.getFirstSubFilter(CorFilterType.CommunicationType);\r\n let req = this.getFirstSubFilter(CorFilterType.Requestor);\r\n let rev = this.getFirstSubFilter(CorFilterType.Reviewer);\r\n let status = this.getFirstSubFilter(CorFilterType.Status);\r\n let kw = this.getFirstSubFilter(CorFilterType.Keywords);\r\n if(cat) this.categoryControl.setValue(cat.Keywords[0] || \"\");\r\n if(com) this.commTypeControl.setValue(com.Keywords[0] || \"\");\r\n if(req) this.requestorControl.setValue((req.Keywords || []).join(\" \"));\r\n if(rev) this.reviewerControl.setValue((rev.Keywords || []).join(\" \"));\r\n if(status) this.statusControl.setValue(status.Keywords[0] || \"\");\r\n if(kw) this.keywordsControl.setValue((kw.Keywords || []).join(\" \"));\r\n this.sortControl.setValue(this.filter.Ascending ? \"true\" : \"false\");\r\n if (this.savedFilterName) {\r\n this.saveToFavorites.setValue(true);\r\n this.filterName.setValue(this.savedFilterName);\r\n } else {\r\n this.saveToFavorites.setValue(false);\r\n }\r\n }\r\n\r\n getFirstSubFilter(type: CorFilterType) {\r\n return (this.filter.Filters.filter(f => f.Type == type) || [])[0];\r\n }\r\n\r\n close() {\r\n this.dialogRef.close(this.filter);\r\n }\r\n\r\n saveAndClose() {\r\n this.filter.Filters = [];\r\n if (this.categoryControl.value) {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Category;\r\n subfilter.Op = Operator.ApiEquals;\r\n subfilter.Keywords = [this.categoryControl.value];\r\n this.filter.Filters.push(subfilter);\r\n }\r\n if (this.commTypeControl.value) {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.CommunicationType;\r\n subfilter.Op = Operator.ApiEquals;\r\n subfilter.Keywords = [this.commTypeControl.value];\r\n this.filter.Filters.push(subfilter);\r\n }\r\n if (this.requestorControl.value) {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Requestor;\r\n subfilter.Keywords = this.requestorControl.value.split(/\\W+/);\r\n this.filter.Filters.push(subfilter);\r\n }\r\n if (this.reviewerControl.value) {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Reviewer;\r\n subfilter.Keywords = this.reviewerControl.value.split(/\\W+/);\r\n this.filter.Filters.push(subfilter);\r\n }\r\n if (this.statusControl.value) {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Status;\r\n subfilter.Op = Operator.ApiEquals;\r\n subfilter.Keywords = [this.statusControl.value];\r\n this.filter.Filters.push(subfilter);\r\n }\r\n if (this.keywordsControl.value) {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Keywords;\r\n subfilter.Keywords = this.keywordsControl.value.split(/\\W+/);\r\n this.filter.Filters.push(subfilter);\r\n }\r\n this.filter.Ascending = this.sortControl.value == \"true\";\r\n if (this.saveToFavorites) {\r\n this.saveFilter();\r\n }\r\n this.close();\r\n }\r\n\r\n saveFilter() {\r\n this.corrFilterSvc.saveFilter(this.filterName.value, this.filter);\r\n }\r\n\r\n addCategory() {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Category;\r\n subfilter.Keywords = [this.categoryControl.value];\r\n this.filter.Filters.push(subfilter);\r\n this.categoryControl.reset();\r\n }\r\n\r\n addKeywords() {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Keywords;\r\n subfilter.Keywords = [this.keywordsControl.value];\r\n this.filter.Filters.push(subfilter);\r\n this.keywordsControl.reset();\r\n }\r\n\r\n addRequestor() {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Requestor;\r\n subfilter.Keywords = [this.requestorControl.value];\r\n this.filter.Filters.push(subfilter);\r\n this.requestorControl.reset();\r\n }\r\n\r\n addReviewer() {\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Reviewer;\r\n subfilter.Keywords = [this.reviewerControl.value];\r\n this.filter.Filters.push(subfilter);\r\n this.reviewerControl.reset();\r\n }\r\n\r\n addStatus(status: string) {\r\n let subfilter;\r\n for (var i=0; i s); // copy\r\n let ind;\r\n for (var i=0; i= 0) {\r\n statuses.splice(ind, 1);\r\n }\r\n }\r\n\r\n this.filteredStatuses = statuses;\r\n }\r\n\r\n setupRequestorsTypeahead() {\r\n\r\n /*this.reqObservable = Observable.create(observer => {\r\n this.myForm.controls[\"Requestor\"].valueChanges\r\n .debounceTime(400)\r\n .subscribe(keywords => {\r\n var filter = new BaseFilterViewModel();\r\n filter.Keywords = keywords.split();\r\n var subscription = this.repo.Page(RequestorViewModel, filter)\r\n .subscribe(values => {\r\n let items: CompleterItem[] = values.map(r => { return { title: r.LastFirst }; });\r\n observer.next(items);\r\n });\r\n });\r\n });\r\n this.reqDataService = this.completerService.local(this.reqObservable, \"title\", \"title\");*/\r\n }\r\n\r\n setupReviewersTypeahead() {\r\n /*this.revObservable = Observable.create(observer => {\r\n this.myForm.controls[\"Reviewer\"].valueChanges\r\n .debounceTime(400)\r\n .subscribe(keywords => {\r\n var filter = new UserFilterViewModel();\r\n filter.Keywords = keywords.split();\r\n var subscription = this.repo.Page(UserViewModel, filter)\r\n .subscribe(values => {\r\n let items: CompleterItem[] = values.map(r => { return { title: r.LastFirst }; });\r\n observer.next(items);\r\n });\r\n });\r\n });\r\n this.revDataService = this.completerService.local(this.revObservable, \"title\", \"title\");*/\r\n }\r\n\r\n savedFilterName: string = null;\r\n myForm: FormGroup = null;\r\n categoryControl: FormControl;\r\n keywordsControl: FormControl;\r\n requestorControl: FormControl;\r\n reviewerControl: FormControl;\r\n statusControl: FormControl;\r\n sortControl: FormControl;\r\n filterName: FormControl;\r\n commTypeControl: FormControl;\r\n saveToFavorites: FormControl;\r\n filteredCategories: any;\r\n filteredRequestors: any;\r\n filteredReviewers: any;\r\n filteredStatuses: string[] = Statuses;\r\n filteredCommTypes: any;\r\n filter: CorFilter;\r\n filterTypes: any;\r\n\r\n //reqDataService: CompleterData;\r\n reqObservable: Observable;\r\n requestors: any[] = [];\r\n\r\n //revDataService: CompleterData;\r\n revObservable: Observable;\r\n reviewers: any[] = [];\r\n categories: any[] = []; /*[\r\n {\r\n CategoryName: 'Outgoing Correspondence',\r\n CategoryId: 1\r\n },\r\n {\r\n CategoryName: 'Academics',\r\n categoryId: 2\r\n },\r\n {\r\n \r\n CategoryName: 'Admissions',\r\n CategoryId: 3\r\n },\r\n {\r\n CategoryName: 'Alumni/ Fundraising',\r\n CategoryId: 4\r\n },\r\n {\r\n CategoryName: 'Athletics',\r\n CategoryId: 5\r\n }\r\n ];*/\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { CommunityAuthService } from 'app/services/community-auth.service';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { from, Observable } from 'rxjs';\r\nimport { OAuthConfig } from 'environments/environment';\r\nimport { switchMap, filter, tap } from 'rxjs/operators';\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private oauthService: OAuthService,\r\n private authService: CommunityAuthService,\r\n private router: Router\r\n ) {}\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot,\r\n ): Observable {\r\n this.oauthService.configure(OAuthConfig);\r\n //this.oauthService.events.subscribe(e => console.log(\"event, e\", e));\r\n console.debug(state.url);\r\n return from(this.authService.runInitialLoginSequence())\r\n .pipe(\r\n switchMap(_ => this.authService.isDoneLoading$),\r\n filter(isDone => isDone),\r\n switchMap(_ => this.authService.isAuthenticated$),\r\n tap(isAuth => { if (! isAuth) this.router.navigate(['/help']); })\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { IAuthenticationService } from '../../services/i';\r\nimport { AuthenticationService, AuthenticationServiceToken} from '../../services';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\n@Injectable()\r\nexport class LoginComponent implements OnInit {\r\n constructor(\r\n private router: Router,\r\n @Inject(AuthenticationServiceToken) private authService: AuthenticationService\r\n ) {\r\n // FIXME - should we do something more with nagivation errors?\r\n this.router.navigate([\"correspondences\"]).catch(r => r);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\nimport {zip as observableZip, empty as observableEmpty, Observable } from 'rxjs';\r\n\r\nimport {mergeMap} from 'rxjs/operators';\r\nimport { Component, OnInit, Inject, Injectable, EventEmitter, Input, ViewContainerRef } from '@angular/core';\r\nimport { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport * as moment from 'moment/moment';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nimport { RepositoryServiceToken, MapperServiceToken, AuthenticationServiceToken, LogServiceToken, AuthenticationService } from '../../services';\r\nimport { IRepositoryService, IMapperService, IAuthenticationService, ILogService } from '../../services/i';\r\nimport { \r\n CorrespondenceViewModel as VMCorr, \r\n CorrespondenceDocumentViewModel as VMCorDoc, \r\n DocumentViewModel,\r\n DocumentViewModel as VMDoc,\r\n ReviewViewModel,\r\n ReviewCommentViewModel,\r\n ReviewStatuses,\r\n UserViewModel\r\n} from '../../view-models';\r\nimport { \r\n BaseFilterViewModel as CorFilter, \r\n CorrespondenceDocumentFilterViewModel as CorDocFilter,\r\n CorDocFilterType\r\n} from '../../view-models/filters';\r\nimport { IFilterViewModel } from '../../view-models/filters/i';\r\nimport { BeforeTomorrowValidator, AfterTodayValidator } from '../add-correspondence/validators';\r\nimport { ConfirmDialog } from '../../dialogs';\r\n\r\n@Component({\r\n selector: 'app-add-review',\r\n templateUrl: './add-review.component.html',\r\n styleUrls: ['./add-review.component.css']\r\n})@Injectable()\r\nexport class AddReviewComponent implements OnInit {\r\n editMode: boolean = false;\r\n showErrors: boolean = false;\r\n submitAttempted: boolean = false;\r\n filter: IFilterViewModel = new CorFilter();\r\n corrObs: Observable;\r\n reviewerObs: Observable;\r\n documents: DocumentViewModel[] = [];\r\n statuses: { key: string, value: string }[] = ReviewStatuses;\r\n returnRoute: string;\r\n userSelected: boolean = false;\r\n\r\n @Input() keywords: FormControl = new FormControl();\r\n @Input() myForm: FormGroup;\r\n\r\n dialogRef: MatDialogRef;\r\n\r\n // http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/\r\n // Regarding subscribe and emit: https://scotch.io/tutorials/angular-2-http-requests-with-observables\r\n // Automapper (if really necessary): https://github.com/loedeman/AutoMapper/wiki\r\n constructor(\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(MapperServiceToken) private mapper: IMapperService,\r\n @Inject(AuthenticationServiceToken) public auth: AuthenticationService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n public dialog: MatDialog,\r\n private fb: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private vcr: ViewContainerRef\r\n ) {\r\n this.myForm = this.buildForm();\r\n\r\n\r\n //this.myForm.disable();\r\n\r\n this.returnRoute = route.snapshot.url.reduce((p, s) => `${p}/${s.path}`, \"\");\r\n this.corrObs = this.route.params.pipe(mergeMap(params => {\r\n let id: number = +params['id'];\r\n return this.repo.Get(VMCorr, id);\r\n }));\r\n\r\n this.reviewerObs = this.route.queryParams.pipe(mergeMap(qparams => {\r\n let id: number = +qparams['userId'];\r\n if (id > 0) {\r\n this.userSelected = true;\r\n return this.repo.Get(UserViewModel, id);\r\n } else {\r\n return observableEmpty();\r\n }\r\n }));\r\n }\r\n\r\n buildForm(): FormGroup {\r\n return this.fb.group({\r\n review: [''],\r\n primary: ['', Validators.required],\r\n instructions: [''],\r\n status: ['assigned', Validators.required]\r\n });\r\n }\r\n\r\n formValid() {\r\n return this.myForm.valid && this.userSelected;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n openDialog(message: string): Promise {\r\n this.dialogRef = this.dialog.open(\r\n ConfirmDialog, {\r\n disableClose: false\r\n });\r\n this.dialogRef.componentInstance.title = \"Confirm\";\r\n this.dialogRef.componentInstance.message = message;\r\n this.dialogRef.componentInstance.actionBtn = \"Yes\";\r\n this.dialogRef.componentInstance.cancelBtn = \"No\";\r\n\r\n this.dialogRef.afterClosed().subscribe(result => {\r\n this.dialogRef = null;\r\n });\r\n return this.dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n goToCorrespondence() {\r\n this.corrObs.subscribe(corr => {\r\n var text = this.myForm.get(\"review\").value;\r\n if (text && text.length) {\r\n this.openDialog(\"You seem to have unsaved changes. Are you sure you want to cancel?\")\r\n .then(yes => {\r\n if (yes) {\r\n this.router.navigate([\"/correspondence\", corr.Id]);\r\n }\r\n })\r\n } else {\r\n this.router.navigate([\"/correspondence\", corr.Id]);\r\n }\r\n });\r\n }\r\n\r\n addReview() {\r\n this.log.debug(this.corrObs, this.reviewerObs);\r\n observableZip(this.corrObs, this.reviewerObs)\r\n .subscribe(values => { \r\n let corr = values[0];\r\n let reviewer = values[1];\r\n this.log.debug(reviewer, corr);\r\n if (this.myForm.errors || ! reviewer) {\r\n this.showErrors = true;\r\n return;\r\n }\r\n\r\n let user = this.auth.getUserInfo();\r\n if (user) {\r\n let rev = new ReviewViewModel();\r\n rev.Primary = this.myForm.get(\"primary\").value;\r\n rev.ReviewText = this.myForm.get(\"review\").value;\r\n rev.ReviewStatus = this.myForm.get(\"status\").value;\r\n rev.Instructions = this.myForm.get(\"instructions\").value;\r\n rev.UserId = reviewer.Id;\r\n rev.CorrespondenceId = corr.Id;\r\n this.repo.Create(ReviewViewModel, rev)\r\n .toPromise()\r\n .then(newRev => { \r\n if (rev.Primary) {\r\n corr.Status = \"Assigned\";\r\n this.repo.Update(VMCorr, corr).toPromise()\r\n .then(() => { this.success(newRev, corr); });\r\n } else {\r\n this.success(newRev, corr);\r\n }\r\n });\r\n } else {\r\n this.toastr.error(\"Your session has expired. Please login, again.\");\r\n }\r\n });\r\n }\r\n\r\n success(rev: ReviewViewModel, corr: VMCorr) {\r\n let rt = rev.ReviewText ? rev.ReviewText.trim() : \"\";\r\n let ct = corr.Summary ? corr.Summary.trim() : \"\";\r\n let message = [\r\n \"Review \",\r\n rt.length ? `\"${rt.substr(0, 20)}${rt.length > 20 ? '...' : ''}\" ` : \"\",\r\n \"has been created\",\r\n ct.length ? ` for \"${ct.substr(0, 20)}${ct.length > 20 ? '...' : ''}\".` : \".\",\r\n ].join('');\r\n this.toastr.success(message);\r\n this.router.navigate([\"/correspondence\", corr.Id, \"reviews\", rev.Id]);\r\n }\r\n}\r\n","

\r\n contact-details works!\r\n

\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { endpoint } from '../decorators/endpoint.decorator';\r\n\r\n@endpoint(\"Category\")\r\nexport class CategoryViewModel extends BaseViewModel {\r\n public Name: string = \"\";\r\n public Desc: string = \"\";\r\n}\r\n","
\r\n \r\n Sort: \r\n arrow_upwards\r\n arrow_downwards\r\n \r\n \r\n Type: {{ f.Keywords[0] }} x\r\n Cat.: {{ f.Keywords[0] }} x\r\n {{ f.Keywords.join(\", \") }} x\r\n Contact: {{ f.Keywords.join(\" \") }} x\r\n Status: {{ f.Keywords.join(\" or \") }} x\r\n Reviewer: {{ f.Keywords.join(\" \") }} x\r\n \r\n \r\n \r\n
","\r\n
\r\n
\r\n

{{title}}

\r\n \r\n
\r\n \r\n
","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { endpoint, mappable } from '../decorators';\r\nimport { ContactDetailViewModel } from './contact-detail-view-model';\r\nimport { RequestorCorrespondenceViewModel } from './requestor-correspondence-view-model';\r\n\r\n@endpoint(\"requestor\")\r\nexport class RequestorViewModel extends BaseViewModel {\r\n /** An internal nickname given by President's Office staff to frequent contacts. */\r\n public Alias: string = \"\";\r\n\r\n /** The primary title of the contact. */\r\n public Title: string = \"\";\r\n /** The organization or affiliation on behalf of whom the requestor is corresponding. */\r\n public Affiliation: string = \"\";\r\n\r\n /** Staff notes on this requestor. */\r\n public Notes: string = \"\";\r\n public FirstName: string = \"\";\r\n public MiddleName: string = \"\";\r\n public LastName: string = \"\";\r\n public get FullName(): string { return `${this.FirstName} ${this.MiddleName || \"\"} ${this.LastName}`; }\r\n public get LastFirst(): string { return `${this.LastName}, ${this.FirstName} ${this.MiddleName || \"\"}`.trim(); }\r\n public get OrgSummary(): string {\r\n if (this.Title && this.Affiliation)\r\n return `${this.Title}, ${this.Affiliation}`;\r\n else if (this.Title)\r\n return this.Title;\r\n else if (this.Affiliation)\r\n return this.Affiliation\r\n else\r\n return \"\";\r\n }\r\n\r\n @mappable(\"RequestorCorrespondenceViewModel\")\r\n public RequestorCorrespondences: RequestorCorrespondenceViewModel[] = [];\r\n\r\n @mappable(\"ContactDetailViewModel\")\r\n public ContactDetails: ContactDetailViewModel[] = [];\r\n}\r\n","\r\nimport {debounceTime, map} from 'rxjs/operators';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CorrespondenceFilterViewModel } from '../../view-models';\r\nimport { CorrFilterServiceToken } from '../../services';\r\nimport { ICorrFilterService } from '../../services/i';\r\n\r\n@Component({\r\n selector: 'app-filtered-dashboard',\r\n templateUrl: './filtered-dashboard.component.html',\r\n styleUrls: ['./filtered-dashboard.component.css']\r\n})\r\nexport class FilteredDashboardComponent implements OnInit {\r\n public filter: Observable;\r\n public filterName: string;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n @Inject(CorrFilterServiceToken) private corrFilterSvc: ICorrFilterService,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.filter = this.route.params.pipe(\r\n debounceTime(100),\r\n map(params => {\r\n this.filterName = params['filter'];\r\n let filter = this.corrFilterSvc.getFilter(this.filterName);\r\n return filter;\r\n }));\r\n }\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule, Inject, ValueProvider, ClassProvider, Provider, FactoryProvider } from '@angular/core';\r\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n//'import { BrowserXhr } from '@angular/http';' is depricated a should be replaced\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MomentModule } from 'ngx-moment';\r\nimport { OAuthModule, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';\r\nimport { JwtModule, JwtModuleOptions } from '@auth0/angular-jwt';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { FlexLayoutModule } from \"@angular/flex-layout\";\r\nimport { NgBreadcrumbModule } from 'ng-breadcrumb';\r\n//import { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\n\r\nimport { environment, OAuthConfig } from '../environments/environment';\r\nimport { BaseURI, APIBaseURI, AppConfigToken } from './app.config.tokens';\r\n\r\nimport { AuthGuard, RoleGuard } from './guards';\r\nimport { AppComponent } from './app.component';\r\nimport { routes } from './app.routes';\r\nimport {\r\n DashboardComponent, FilterViewerComponent,\r\n AddCorrespondenceComponent, AddDocumentComponent, CorrespondenceComponent, ManageContactsComponent,\r\n ManageSettingsComponent, HelpComponent, LoginComponent, ContactComponent, ContactDetailsComponent,\r\n UserManagerComponent, UserDetailsComponent, AddUserComponent, UserChooserComponent,\r\n ReviewComponent, AddReviewComponent,\r\n DownloadComponent } from './components';\r\nimport { FilterDialog } from './components/dashboard/filter.dialog';\r\nimport { ConfirmDialog, DownloadDialog } from './dialogs';\r\nimport { \r\n RepositoryServiceToken, RepositoryService,\r\n AuthenticationService, AuthenticationServiceToken,\r\n RoleService, RoleServiceToken, \r\n MapperServiceToken, MapperService,\r\n ErrorServiceToken, ErrorService,\r\n ProgressServiceToken, ProgressService,\r\n CorrFilterServiceToken, CorrFilterService,\r\n ScrollServiceToken, ScrollService,\r\n LogServiceToken\r\n\r\n} from './services';\r\nimport { PrettySize, MapToIterable } from './pipes';\r\nimport { SecuredDirective } from './directives/secured.directive';\r\nimport { ProgressInterceptor } from './customizations-of-internals/progress-interceptor';\r\n//'import { BrowserXhr } from '@angular/http';' is depricated a should be replaced\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { FilteredDashboardComponent } from './components/filtered-dashboard/filtered-dashboard.component';\r\nimport { BeforeTomorrowValidator, AfterTodayValidator } from './components/add-correspondence/validators';\r\nimport { EitherOrValidator } from './components/contact/validators/either-or.validator';\r\nimport {OrderModule} from 'ngx-order-pipe';\r\n\r\n///var es = new ErrorService();\r\nexport function storageFactory(): OAuthStorage {\r\n return localStorage;\r\n}\r\nexport function getAccessToken() {\r\n return storageFactory().getItem('access_token');\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent, \r\n AddCorrespondenceComponent,\r\n AddDocumentComponent,\r\n AddReviewComponent,\r\n DownloadComponent,\r\n ManageContactsComponent,\r\n ManageSettingsComponent,\r\n CorrespondenceComponent,\r\n DashboardComponent,\r\n FilterViewerComponent,\r\n LoginComponent,\r\n HelpComponent,\r\n SecuredDirective,\r\n FilterDialog,\r\n ConfirmDialog,\r\n DownloadDialog,\r\n ContactComponent,\r\n ContactDetailsComponent,\r\n UserManagerComponent,\r\n UserDetailsComponent,\r\n AddUserComponent,\r\n UserChooserComponent,\r\n ReviewComponent,\r\n PrettySize,\r\n HeaderComponent,\r\n FilteredDashboardComponent,\r\n BeforeTomorrowValidator,\r\n AfterTodayValidator,\r\n MapToIterable,\r\n EitherOrValidator\r\n ],\r\n imports: [\r\n BrowserModule,\r\n OrderModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n MomentModule,\r\n //Ng2CompleterModule,\r\n //InfiniteScrollModule,\r\n ToastrModule.forRoot(),\r\n OAuthModule.forRoot({ resourceServer: { allowedUrls: [environment.appConfig.APIBaseURI, environment.appConfig.OAuthConfig.loginUrl ], sendAccessToken: true }}),\r\n RouterModule.forRoot(routes),\r\n MatInputModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatToolbarModule,\r\n MatCardModule,\r\n MatDividerModule,\r\n MatListModule,\r\n MatSidenavModule,\r\n MatSelectModule,\r\n MatDialogModule,\r\n MatProgressBarModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatAutocompleteModule,\r\n MatPaginatorModule,\r\n MatChipsModule,\r\n FlexLayoutModule,\r\n NgBreadcrumbModule,\r\n HttpClientModule,\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: (getAccessToken)\r\n }\r\n })\r\n ],\r\n entryComponents: [\r\n FilterDialog,\r\n ConfirmDialog,\r\n DownloadDialog\r\n ],\r\n providers: [\r\n AuthGuard, RoleGuard,\r\n { provide: OAuthStorage, useFactory: storageFactory },\r\n { provide: \"authConfig\", useValue: OAuthConfig },\r\n { provide: BaseURI, useValue: environment.appConfig.BaseURI },\r\n { provide: APIBaseURI, useValue: environment.appConfig.APIBaseURI },\r\n { provide: AppConfigToken, useValue: environment.appConfig },\r\n { provide: LogServiceToken, useFactory: environment.appConfig.logFactory },\r\n { provide: AuthenticationServiceToken, useClass: AuthenticationService },\r\n { provide: RoleServiceToken, useClass: RoleService },\r\n { provide: RepositoryServiceToken, useClass: RepositoryService },\r\n { provide: CorrFilterServiceToken, useClass: CorrFilterService },\r\n { provide: MapperServiceToken, useClass: MapperService },\r\n { provide: ProgressServiceToken, useClass: ProgressService },\r\n { provide: HTTP_INTERCEPTORS, useClass: ProgressInterceptor, multi: true },\r\n //'BrowserXhr' is depricated a should be replaced\r\n { provide: ScrollServiceToken, useClass: ScrollService },\r\n //{ provide: LocationStrategy, useClass: HashLocationStrategy }\r\n { provide: ErrorServiceToken, useClass: ErrorService }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n constructor() {\r\n //private oauth: OAuthService {\r\n // fallback to local settings\r\n log.error(\"Warning: failed to load ITS AppDev OAuth discovery document. Falling back to hard-coded settings. Please investigate.\");\r\n this.oauth.loginUrl = config.OAuthConfig.FallbackLoginUrl;\r\n this.oauth.issuer = config.OAuthConfig.FallbackIssuer;\r\n this.oauth.logoutUrl = config.OAuthConfig.FallbackLogoutUrl;\r\n });\r\n this.oauth.redirectUri = config.LoginReturnURI;\r\n this.oauth.clientId = config.OAuthConfig.ClientId;\r\n this.oauth.oidc = config.OAuthConfig.Oidc;\r\n this.oauth.setStorage(config.OAuthConfig.Storage);\r\n this.oauth.scope = config.OAuthConfig.Scope; */\r\n }\r\n}\r\n","import { IViewModel } from './i-view-model';\r\n\r\nexport class BaseViewModel implements IViewModel {\r\n public Id: number = 0;\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Correspondence Details

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Incoming\r\n Outgoing\r\n \r\n \r\n Please specify Incoming or Outgoing correspondence.\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{p}}\r\n \r\n \r\n Please specify the correspondence priority.\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Please select categories for this correspondence.\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{r}}\r\n \r\n \r\n Please specify received method.\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Please specify when this correspondence was received.\r\n \r\n \r\n The date received must be today or in the past.\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Please specify when a response is due.\r\n \r\n \r\n The due date must be sometime after today.\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n You must enter the above fields when In/Out type is Incoming.\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Contact Details

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Correspondence Content

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Please specify the correspondence subject or title.\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Please specify the correspondence details.\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { RequestorCorrespondenceViewModel } from './requestor-correspondence-view-model';\r\nimport { RequestorViewModel } from './requestor-view-model';\r\nimport { endpoint, mappable } from '../decorators';\r\nimport { CategoryViewModel } from './category-view-model';\r\n\r\n@endpoint(\"CorrespondenceCategory\")\r\nexport class CorrespondenceCategoryViewModel extends BaseViewModel {\r\n public CorrespondenceId: number = 0;\r\n public CategoryId: number = 0;\r\n\r\n @mappable(\"CategoryViewModel\")\r\n public Category: CategoryViewModel = null;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { OAuthErrorEvent, OAuthService } from 'angular-oauth2-oidc';\r\nimport { BehaviorSubject, combineLatest, Observable, ReplaySubject } from 'rxjs';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\n// Isn't it silly to try to make one of these auth services on our own? So, we won't.\r\n// https://github.com/jeroenheijmans/sample-angular-oauth2-oidc-with-auth-guards/blob/master/src/app/core/auth.service.ts\r\n@Injectable({ providedIn: 'root' })\r\nexport class CommunityAuthService {\r\n\r\n constructor(\r\n private oauthService: OAuthService,\r\n private router: Router,\r\n ) {\r\n // Useful for debugging:\r\n this.oauthService.events.subscribe(event => {\r\n if (event instanceof OAuthErrorEvent) {\r\n console.error(event);\r\n } else {\r\n //console.warn(event);\r\n }\r\n });\r\n\r\n // This is tricky, as it might cause race conditions (where access_token is set in another\r\n // tab before everything is said and done there.\r\n // TODO: Improve this setup.\r\n window.addEventListener('storage', (event) => {\r\n // The `key` is `null` if the event was caused by `.clear()`\r\n if (event.key !== 'access_token' && event.key !== null) {\r\n return;\r\n }\r\n\r\n console.warn('Noticed changes to access_token (most likely from another tab), updating isAuthenticated');\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n\r\n if (!this.oauthService.hasValidAccessToken()) {\r\n this.navigateToLoginPage();\r\n }\r\n });\r\n\r\n this.oauthService.events\r\n .subscribe(_ => {\r\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\r\n });\r\n\r\n this.oauthService.events\r\n .pipe(filter(e => ['token_received'].includes(e.type)))\r\n .subscribe(e => this.oauthService.loadUserProfile());\r\n\r\n this.oauthService.events\r\n .pipe(filter(e => ['session_terminated', 'session_error'].includes(e.type)))\r\n .subscribe(e => this.navigateToLoginPage());\r\n\r\n //this.oauthService.setupAutomaticSilentRefresh();\r\n }\r\n\r\n // These normally won't be exposed from a service like this, but\r\n // for debugging it makes sense.\r\n public get accessToken() { return this.oauthService.getAccessToken(); }\r\n public get refreshToken() { return this.oauthService.getRefreshToken(); }\r\n public get identityClaims() { return this.oauthService?.getIdentityClaims(); }\r\n public get idToken() { return this.oauthService.getIdToken(); }\r\n public get logoutUrl() { return this.oauthService.logoutUrl; }\r\n\r\n private isAuthenticatedSubject$ = new BehaviorSubject(false);\r\n public isAuthenticated$ = this.isAuthenticatedSubject$.asObservable();\r\n public isAuthenticated() { /*console.log(this.oauthService.hasValidAccessToken(), this.oauthService.getAccessTokenExpiration(), \"bogus\");*/ return this.oauthService.hasValidAccessToken(); }\r\n\r\n private isDoneLoadingSubject$ = new ReplaySubject();\r\n public isDoneLoading$ = this.isDoneLoadingSubject$.asObservable();\r\n\r\n private isImpersonatedSubject$ = new BehaviorSubject(false);\r\n public isImpersonated = this.isImpersonatedSubject$.asObservable();\r\n\r\n /**\r\n * Publishes `true` if and only if (a) all the asynchronous initial\r\n * login calls have completed or errorred, and (b) the user ended up\r\n * being authenticated.\r\n *\r\n * In essence, it combines:\r\n *\r\n * - the latest known state of whether the user is authorized\r\n * - whether the ajax calls for initial log in have all been done\r\n */\r\n public canActivateProtectedRoutes$: Observable = combineLatest([\r\n this.isAuthenticated$,\r\n this.isDoneLoading$\r\n ]).pipe(map(values => values.every(b => b)));\r\n\r\n private navigateToLoginPage() {\r\n // TODO: Remember current URL\r\n this.router.navigateByUrl('/should-login');\r\n }\r\n\r\n public runInitialLoginSequence(): Promise {\r\n if (location.hash) {\r\n console.log('Encountered hash fragment, plotting as table...');\r\n console.table(location.hash.substr(1).split('&').map(kvp => kvp.split('=')));\r\n }\r\n\r\n // 0. LOAD CONFIG:\r\n // First we have to check to see how the IdServer is\r\n // currently configured:\r\n return this.oauthService.loadDiscoveryDocument()\r\n // 1. HASH LOGIN:\r\n // Try to log in via hash fragment after redirect back\r\n // from IdServer from initImplicitFlow:\r\n .then(() => this.oauthService.tryLoginCodeFlow())\r\n .then(() => {\r\n if (this.oauthService.hasValidAccessToken()) {\r\n return Promise.resolve();\r\n }\r\n\r\n // We can't handle the truth, just pass on the problem to the\r\n // next handler.\r\n return Promise.reject(\"No valid access token.\");\r\n })\r\n\r\n .then(() => {\r\n this.isDoneLoadingSubject$.next(true);\r\n\r\n // Check for the strings 'undefined' and 'null' just to be sure. Our current\r\n // login(...) should never have this, but in case someone ever calls\r\n // initImplicitFlow(undefined | null) this could happen.\r\n if (this.oauthService.state && this.oauthService.state !== 'undefined' && this.oauthService.state !== 'null') {\r\n let stateUrl = this.oauthService.state;\r\n if (stateUrl.startsWith('/') === false) {\r\n stateUrl = decodeURIComponent(stateUrl);\r\n }\r\n console.debug(`There was state of ${this.oauthService.state}, so we are sending you to: ${stateUrl}`);\r\n this.router.navigateByUrl(stateUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.error(arguments);\r\n this.isDoneLoadingSubject$.next(true)\r\n });\r\n }\r\n\r\n public login(targetUrl?: string, noState?: boolean) {\r\n // Note: before version 9.1.0 of the library you needed to\r\n // call encodeURIComponent on the argument to the method.\r\n if (! noState) {\r\n this.oauthService.initCodeFlow(targetUrl || this.router.url);\r\n return;\r\n }\r\n\r\n this.oauthService.initCodeFlow();\r\n }\r\n\r\n public logout() { this.oauthService.logOut(); }\r\n public refresh() { this.oauthService.silentRefresh(); }\r\n public hasValidToken() { return this.oauthService.hasValidAccessToken(); }\r\n\r\n \r\n // ITS-added:\r\n impersonationKey = 'impersonatedHawkId';\r\n public get isImpersonating() { return !!sessionStorage[this.impersonationKey]; }\r\n public get impersonatedHawkId() { return sessionStorage[this.impersonationKey]; }\r\n public get applicationUsername(): string { return this.isImpersonating ? this.impersonatedHawkId : this.actualUsername; }\r\n public get actualUsername(): string { return this.identityClaims ? this.identityClaims[\"sub\"] : null; }\r\n public endImpersonation() {\r\n sessionStorage.removeItem('impersonatedHawkId');\r\n this.isImpersonatedSubject$.next(false);\r\n }\r\n public impersonate(hawkId: string) {\r\n sessionStorage.impersonatedHawkId = hawkId;\r\n this.isImpersonatedSubject$.next(true);\r\n }\r\n}\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { endpoint } from '../decorators/endpoint.decorator';\r\nimport { ContactDetailViewModel } from './contact-detail-view-model';\r\nimport { RequestorViewModel } from './requestor-view-model';\r\nimport { CorrespondenceViewModel } from './correspondence-view-model';\r\nimport { mappable } from '../decorators';\r\n/**\r\n * This view model represents a relationship between Correspondences\r\n * and Requestors (whom the correspondences are from). \r\n */\r\n@endpoint(\"RequestorCorrespondence\")\r\nexport class RequestorCorrespondenceViewModel extends BaseViewModel {\r\n public RequestorId: number = 0;\r\n public CorrespondenceId: number = 0;\r\n\r\n /** AKA who the correspondence is from */\r\n @mappable(\"RequestorViewModel\")\r\n public Requestor: RequestorViewModel = null;\r\n\r\n @mappable(\"CorrespondenceViewModel\")\r\n public Correspondence: CorrespondenceViewModel = null;\r\n\r\n /** Whether this is the primary requestor on a given correspondence. */\r\n public IsPrimary: boolean = false;\r\n}\r\n","export * from './priorities';\r\nexport * from './states';\r\nexport * from './received-through';","import { Directive, forwardRef, Attribute } from '@angular/core';\r\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\r\nimport * as moment from 'moment';\r\n\r\n@Directive({\r\n selector: '[validateAfterToday][formControlName],[validateAfterToday][formControl],[validateAfterToday][ngModel]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => AfterTodayValidator), multi: true }\r\n ]\r\n})\r\nexport class AfterTodayValidator implements Validator {\r\n today: moment.Moment = moment().add(-1, \"days\");\r\n constructor() {}\r\n \r\n validate(c: AbstractControl): { [key: string]: any } {\r\n let v = moment(c.value, \"YYYY-MM-DD\");\r\n\r\n // value not equal\r\n if (v < this.today) return {\r\n afterToday: true\r\n }\r\n return null;\r\n }\r\n}","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","
\r\n \r\n \r\n
\r\n
\r\n

Documents

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n

{{ doc.name }} - {{ doc.size | prettySize }}

\r\n \r\n
\r\n
\r\n
0\" [ngClass]=\"{ color: size >= maxRequestLength ? '#f44336' : 'inherit' }\">\r\n

= maxRequestLength\" style='color:#f44336; margin-bottom: 10px;'>*must be less than {{ maxRequestLength | prettySize }}

\r\n

Total size: {{ size | prettySize }}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Upload {{ percentCompleteDisplay }} complete.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","\r\nimport {forkJoin as observableForkJoin, Observable } from 'rxjs';\r\n\r\nimport {map} from 'rxjs/operators';\r\nimport { Component, OnInit, Inject, Injectable, EventEmitter, Input, ViewContainerRef } from '@angular/core';\r\nimport { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport * as moment from 'moment/moment';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\nimport { states, priorities, receivedThrough } from '../../static-data';\r\nimport { RepositoryServiceToken, MapperServiceToken, AuthenticationServiceToken, LogServiceToken, AuthenticationService } from '../../services';\r\nimport { IRepositoryService, IMapperService, IAuthenticationService, ILogService } from '../../services/i';\r\nimport { \r\n CorrespondenceViewModel as VMCorr, \r\n CorrespondenceDocumentViewModel as VMCorDoc,\r\n CorrespondenceCategoryViewModel, \r\n DocumentViewModel,\r\n CategoryViewModel,\r\n ContactDetailViewModel, RequestorViewModel,\r\n RequestorCorrespondenceViewModel,\r\n DocumentViewModel as VMDoc,\r\n ReviewViewModel } from '../../view-models';\r\nimport { \r\n BaseFilterViewModel as CorFilter, \r\n CorrespondenceDocumentFilterViewModel as CorDocFilter,\r\n CorDocFilterType,\r\n ReviewFilterType,\r\n ReviewFilterViewModel\r\n} from '../../view-models/filters';\r\nimport { IFilterViewModel } from '../../view-models/filters/i';\r\nimport { BeforeTomorrowValidator, AfterTodayValidator } from '../add-correspondence/validators';\r\nimport { ConfirmDialog, DownloadDialog } from '../../dialogs';\r\n\r\n@Component({\r\n selector: 'app-correspondence',\r\n templateUrl: './correspondence.component.html',\r\n styleUrls: ['./correspondence.component.css']\r\n})\r\n@Injectable()\r\nexport class CorrespondenceComponent implements OnInit {\r\n editMode: boolean = false;\r\n submitAttempted: boolean = false;\r\n filter: IFilterViewModel = new CorFilter();\r\n correspondence: VMCorr = null;\r\n documentsObs: Observable;\r\n reviewsObs: Observable;\r\n categories: CategoryViewModel[] = [];\r\n activeCategories: any[] = [];\r\n states: string[] = states;\r\n priorities: string[] = priorities;\r\n receivedThrough: string[] = receivedThrough;\r\n\r\n canIntake: boolean = false;\r\n canSeeAttachments: boolean = false;\r\n canSeeReviews: boolean = false;\r\n isAdmin: boolean = false;\r\n\r\n @Input() keywords: FormControl = new FormControl();\r\n @Input() myForm: FormGroup;\r\n\r\n dialogRef: MatDialogRef;\r\n downloadDialogRef: MatDialogRef;\r\n\r\n // http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/\r\n // Regarding subscribe and emit: https://scotch.io/tutorials/angular-2-http-requests-with-observables\r\n // Automapper (if really necessary): https://github.com/loedeman/AutoMapper/wiki\r\n constructor(\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(MapperServiceToken) private mapper: IMapperService,\r\n @Inject(AuthenticationServiceToken) private auth: AuthenticationService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n public dialog: MatDialog,\r\n private fb: FormBuilder,\r\n private route: ActivatedRoute,\r\n private toastr: ToastrService,\r\n private vcr: ViewContainerRef\r\n ) {\r\n\r\n this.myForm = this.buildCorrespForm();\r\n\r\n //this.myForm.disable();\r\n var filter = new CorFilter();\r\n filter.PageSize = 30;\r\n this.repo.Page(CategoryViewModel,filter).subscribe(cats => {\r\n this.categories = cats; //cats.map(c => { return { id: c.Id, text: c.Name }; });\r\n }); \r\n\r\n this.route.params.subscribe(params => {\r\n let id: number = +params['id'];\r\n this.refresh(id);\r\n });\r\n\r\n this.isAdmin = auth.hasAnyRole('Admin', 'Shepherd');\r\n this.canSeeReviews = this.isAdmin || auth.hasAnyRole('Reviewer');\r\n this.canIntake = this.isAdmin || auth.hasAnyRole('Intake') || auth.hasAnyRole('Reviewer');\r\n this.canSeeAttachments = this.isAdmin || auth.hasAnyRole('Intake') || auth.hasAnyRole('Reviewer');\r\n }\r\n\r\n openDialog(message: string): Promise {\r\n this.dialogRef = this.dialog.open(\r\n ConfirmDialog, {\r\n disableClose: false\r\n });\r\n this.dialogRef.componentInstance.title = \"Confirm Deletion\";\r\n this.dialogRef.componentInstance.message = message;\r\n\r\n this.dialogRef.afterClosed().subscribe(result => {\r\n this.dialogRef = null;\r\n });\r\n return this.dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n download(id: number) {\r\n this.downloadDialogRef = this.dialog.open(\r\n DownloadDialog, {\r\n disableClose: false\r\n });\r\n this.downloadDialogRef.componentInstance.title = \"Beginning secure download...\";\r\n this.downloadDialogRef.componentInstance.downloadId = id;\r\n\r\n this.downloadDialogRef.afterClosed().subscribe(result => {\r\n this.downloadDialogRef = null;\r\n });\r\n return this.downloadDialogRef.afterClosed().toPromise(); \r\n }\r\n\r\n showRequiredError(fieldPath: string[]): boolean {\r\n return this.submitAttempted && this.myForm.hasError('required', fieldPath);\r\n }\r\n\r\n showCustomError(fieldPath: string[], error: string): boolean {\r\n return this.submitAttempted && this.myForm.hasError(error, fieldPath);\r\n }\r\n\r\n enableEditing() {\r\n this.editMode = true;\r\n }\r\n\r\n cancelEdits() {\r\n this.editMode = false;\r\n this.setupCorrForm(this.correspondence);\r\n }\r\n\r\n submitting: boolean = false;\r\n saveChanges() {\r\n if (this.submitting) return;\r\n\r\n this.submitAttempted = true;\r\n let corr = this.mapper.MapJsonToVM(VMCorr, this.myForm.value);\r\n corr.Status = this.myForm.get('Status').value;\r\n corr.Id = this.correspondence.Id;\r\n if (this.myForm.invalid) {\r\n this.log.warn(\"Form not valid.\", this.myForm.errors);\r\n return;\r\n }\r\n\r\n this.submitting = true;\r\n let r = this.myForm.value;\r\n let req = (this.correspondence.RequestorCorrespondences || [])[0];\r\n let corrUpdate = this.repo.Update(VMCorr, corr).toPromise(); //.subscribe(this.onUpdate.bind(this), e => this.log.warn(e));\r\n let contact: RequestorViewModel, details: ContactDetailViewModel;\r\n contact = (req && req.Requestor) || new RequestorViewModel();\r\n details = (contact.ContactDetails || [])[0] || new ContactDetailViewModel();\r\n contact.FirstName = r.RequestorFirstName;\r\n contact.MiddleName = r.RequestorMiddleName;\r\n contact.LastName = r.RequestorLastName;\r\n contact.Notes = r.RequestorDetails;\r\n details.Address1 = r.RequestorAddress;\r\n details.City = r.RequestorCity;\r\n details.State = r.RequestorState;\r\n details.PostalCode = r.RequestorZip;\r\n details.Phone = r.RequestorPhone;\r\n details.Email = r.RequestorEmail;\r\n let promise;\r\n if (details.Id > 0) {\r\n promise = observableForkJoin(\r\n corrUpdate,\r\n this.categoryUpdates(),\r\n this.repo.Update(RequestorViewModel, contact).toPromise(),\r\n this.repo.Update(ContactDetailViewModel, details).toPromise(),\r\n ).toPromise()\r\n .then(arr => { return this.onUpdate(arr[0]); });\r\n } else if (contact.Id > 0) {\r\n details.RequestorId = contact.Id;\r\n promise = observableForkJoin(\r\n corrUpdate,\r\n this.categoryUpdates(),\r\n this.repo.Update(RequestorViewModel, contact).toPromise(),\r\n this.repo.Create(ContactDetailViewModel, details).toPromise()\r\n ).toPromise();\r\n } else {\r\n promise = observableForkJoin(\r\n corrUpdate,\r\n this.categoryUpdates(),\r\n this.repo.Create(RequestorViewModel, contact)\r\n .toPromise()\r\n .then(r => {\r\n details.Id = 0;\r\n details.RequestorId = r.Id;\r\n var join = new RequestorCorrespondenceViewModel();\r\n join.CorrespondenceId = this.correspondence.Id;\r\n join.RequestorId = r.Id;\r\n let rdp = this.repo.Create(RequestorCorrespondenceViewModel, join).toPromise();\r\n let cdp = this.repo.Create(ContactDetailViewModel, details).toPromise();\r\n return observableForkJoin(rdp, cdp).toPromise();\r\n })\r\n ).toPromise();\r\n }\r\n promise\r\n .then(arr => { this.submitting = false; this.refresh(this.correspondence.Id); })\r\n //.then(arr => { return this.onUpdate(arr[0]); })\r\n .catch(e => { this.submitting = false; this.log.warn(e); });\r\n }\r\n\r\n categoryUpdates(): Promise<[CorrespondenceCategoryViewModel[], CorrespondenceCategoryViewModel[]]> {\r\n let curCats = this.correspondence.CorrespondenceCategories;\r\n let newccvms: CorrespondenceCategoryViewModel[] = [];\r\n\r\n for (let u of this.myForm.value.Category)\r\n {\r\n let ccm = new CorrespondenceCategoryViewModel ();\r\n ccm.Id=0;\r\n ccm.CorrespondenceId=this.correspondence.Id;\r\n ccm.CategoryId=u;\r\n newccvms.push(ccm);\r\n }\r\n\r\n // delete the current categories that don't exist among the newly selected.\r\n let delIds = curCats.filter(c => newccvms.map(n => n.CategoryId).indexOf(c.CategoryId) === -1).map(c => c.Id);\r\n // create only the new ones that don't already exist on the server.\r\n newccvms = newccvms.filter(c => curCats.map(cc => +cc.CategoryId).indexOf(+c.CategoryId) === -1);\r\n \r\n let deletes = delIds.map(id => this.repo.Delete(CorrespondenceCategoryViewModel, id).toPromise());\r\n\r\n return observableForkJoin(\r\n this.repo\r\n .CreateMany(CorrespondenceCategoryViewModel, newccvms)\r\n .toPromise(),\r\n observableForkJoin(deletes)\r\n ).toPromise(); \r\n }\r\n\r\n deleteReview(id: number) {\r\n this.openDialog(`Are you sure you want to delete this review?`).then(result => {\r\n if (result) {\r\n this.repo.Delete(ReviewViewModel, id).toPromise().then(d => {\r\n this.refreshReviews(this.correspondence.Id);\r\n });\r\n }\r\n }); \r\n }\r\n\r\n sendReminder(id: number) {\r\n this.repo.Update(ReviewViewModel, { Remind: true, Id: id })\r\n .toPromise()\r\n .then(r => {\r\n this.toastr.success(`Reminder email sent to ${r.User.FullName}.`);\r\n });\r\n }\r\n\r\n removeFile(doc: DocumentViewModel) {\r\n this.openDialog(`Are you sure you want to delete ${doc.Filename}?`).then(result => {\r\n if (result) {\r\n this.repo.Delete(VMCorDoc, doc.CorrespondenceDocument.Id).toPromise().then(d => {\r\n this.refreshDocuments(this.correspondence.Id);\r\n });\r\n }\r\n });\r\n }\r\n\r\n removeReview(review: ReviewViewModel) {\r\n this.openDialog(`Are you sure you want to delete review \"${(review.ReviewText || \"\").substr(0, 30)}\"?`).then(result => {\r\n if (result) {\r\n this.repo.Delete(ReviewViewModel, review.Id).toPromise().then(d => {\r\n this.refreshReviews(this.correspondence.Id);\r\n });\r\n }\r\n }); \r\n }\r\n\r\n refresh(id: number) {\r\n this.editMode = false;\r\n this.submitAttempted = false;\r\n this.refreshCorrAndCats(id);\r\n if (this.auth.hasAnyRole(\"Shepherd\", \"Admin\", \"Intake\", \"Reviewer\")) {\r\n this.refreshDocuments(id);\r\n }\r\n if (this.auth.hasAnyRole(\"Shepherd\", \"Admin\", \"Reviewer\")) {\r\n this.refreshReviews(id);\r\n }\r\n }\r\n\r\n refreshCorrAndCats(id: number) {\r\n this.repo.Get(VMCorr, id)\r\n .subscribe(corr => {\r\n if (corr.CorrespondenceCategories)\r\n this.activeCategories = corr.CorrespondenceCategories.map(c => { return { id: c.Id, text: c.Category.Name }; });\r\n this.setupCorrForm(corr);\r\n this.correspondence = corr;\r\n //this.myForm.setValue(corr);\r\n });\r\n }\r\n\r\n refreshDocuments(id: number) {\r\n let docFilter = new CorDocFilter();\r\n docFilter.CorrespondenceId = id;\r\n docFilter.Type = CorDocFilterType.ByCorrespondenceId;\r\n this.documentsObs = this.repo.Page(VMCorDoc, docFilter).pipe(\r\n map(cdocs => cdocs.map(cd => {\r\n if (cd.Document)\r\n cd.Document.CorrespondenceDocument = cd;\r\n return cd.Document;\r\n })));\r\n }\r\n\r\n refreshReviews(id: number) {\r\n let filter = new ReviewFilterViewModel();\r\n filter.CorrespondenceId = id;\r\n filter.Type = ReviewFilterType.ByCorrespondenceId;\r\n this.reviewsObs = this.repo.Page(ReviewViewModel, filter);\r\n }\r\n\r\n setupCorrForm(corr: VMCorr) {\r\n this.myForm.get(\"Type\").setValue(corr.Type || \"Incoming\");\r\n var req = corr.RequestorCorrespondences[0];\r\n if (req && req.Requestor) { \r\n this.myForm.get(\"RequestorFullName\").setValue(req.Requestor.FullName);\r\n this.myForm.get(\"RequestorFirstName\").setValue(req.Requestor.FirstName);\r\n this.myForm.get(\"RequestorMiddleName\").setValue(req.Requestor.MiddleName);\r\n this.myForm.get(\"RequestorLastName\").setValue(req.Requestor.LastName);\r\n this.myForm.get(\"RequestorDetails\").setValue(req.Requestor.Notes);\r\n let cd = req.Requestor.ContactDetails[0];\r\n if (cd) {\r\n this.myForm.get(\"RequestorAddress\").setValue(cd.Address1);\r\n this.myForm.get(\"RequestorCity\").setValue(cd.City);\r\n this.myForm.get(\"RequestorState\").setValue(cd.State);\r\n this.myForm.get(\"RequestorZip\").setValue(cd.PostalCode);\r\n this.myForm.get(\"RequestorPhone\").setValue(cd.Phone);\r\n this.myForm.get(\"RequestorEmail\").setValue(cd.Email);\r\n }\r\n }\r\n this.myForm.get(\"Title\").setValue(corr.Title || \"\");\r\n this.myForm.get(\"Status\").setValue(corr.Status);\r\n this.myForm.get(\"Notes\").setValue(corr.Notes);\r\n this.myForm.get(\"Priority\").setValue(corr.Priority);\r\n this.myForm.get(\"Summary\").setValue(corr.Summary || \"\");\r\n this.myForm.get(\"ReceivedThrough\").setValue(corr.ReceivedThrough || \"\");\r\n this.myForm.get(\"DateReceived\").setValue(moment(corr.DateReceived).format(\"YYYY-MM-DD\") || \"\");\r\n this.myForm.get(\"DueDate\").setValue(moment(corr.DueDate).format(\"YYYY-MM-DD\") || \"\");\r\n this.myForm.get(\"Category\").setValue(corr.CorrespondenceCategories.map(cc => cc.CategoryId));\r\n }\r\n\r\n onUpdate(updated: VMCorr) {\r\n this.correspondence = updated;\r\n this.setupCorrForm(updated);\r\n this.editMode = false;\r\n }\r\n\r\n buildCorrespForm(): FormGroup {\r\n return this.fb.group({\r\n Type: ['', Validators.required],\r\n //RequestorSummary: ['', Validators.required],\r\n RequestorDetails: [''],\r\n RequestorFullName: [''],\r\n RequestorFirstName: [''],\r\n RequestorMiddleName: [''],\r\n RequestorLastName: [''],\r\n RequestorAddress: [''],\r\n RequestorCity: [''],\r\n RequestorState: [''],\r\n RequestorZip: [''],\r\n RequestorEmail: [''],\r\n RequestorPhone: [''],\r\n\r\n RequestorDetail: [''],\r\n Priority: ['', Validators.required],\r\n Status: ['', Validators.required],\r\n Title: ['', Validators.required],\r\n Category: [[], Validators.required],\r\n Summary: [''],\r\n ReceivedThrough: [''],\r\n Notes: [''],\r\n DateReceived: [\r\n new Date(), \r\n [new BeforeTomorrowValidator() ]\r\n ],\r\n DueDate: [\r\n moment().toISOString()\r\n ]\r\n },\r\n {\r\n validator: (group) => {\r\n return group.value.Type == \"Incoming\" && !(group.value.DateReceived && group.value.DueDate && group.value.ReceivedThrough)\r\n ? { datesRequired: true }\r\n : null;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { DocumentViewModel } from './document-view-model';\r\nimport { CorrespondenceViewModel } from './correspondence-view-model';\r\nimport { endpoint, mappable } from '../decorators';\r\n\r\n@endpoint(\"CorrespondenceDocument\")\r\nexport class CorrespondenceDocumentViewModel extends BaseViewModel {\r\n public CorrespondenceId: number = 0;\r\n public DocumentId: number = 0;\r\n\r\n @mappable(\"DocumentViewModel\")\r\n public Document: DocumentViewModel = null;\r\n\r\n @mappable(\"CorrespondenceViewModel\")\r\n public Correspondence: CorrespondenceViewModel = null;\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, NavigationExtras } from '@angular/router';\r\nimport { IRoleService } from '../services/i';\r\nimport { RoleServiceToken, LogServiceToken } from '../services';\r\nimport { ILogService } from '../services/i';\r\n\r\n@Injectable()\r\nexport class RoleGuard implements CanActivate {\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(RoleServiceToken) private roleService: IRoleService,\r\n @Inject(LogServiceToken) private log: ILogService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return true; \r\n \r\n this.log.debug(\"can activate?\", route.routeConfig.path);\r\n var can = this.roleService.canActivate(route.routeConfig.path, route.queryParams);\r\n this.log.debug(\"can: \", can);\r\n if (can) return can;\r\n\r\n this.router.navigate(['/help'], { fragment: \"authorization\" });\r\n return false;\r\n }\r\n}","

\r\n login works!\r\n

\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { UserRoleViewModel } from '.';\r\nimport { endpoint, mappable } from '../decorators';\r\n\r\n@endpoint(\"role\")\r\nexport class RoleViewModel extends BaseViewModel {\r\n public RoleName: string = \"\";\r\n public Description: string = \"\";\r\n\r\n @mappable(\"UserRoleViewModel\")\r\n public UserRoles: UserRoleViewModel[];\r\n}","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { endpoint } from '../decorators/endpoint.decorator';\r\n\r\n@endpoint(\"population\")\r\nexport class IDWViewModel extends BaseViewModel {\r\n public HawkId: string = \"\";\r\n public Title: string = \"\";\r\n public Department: string = \"\";\r\n public Email: string = \"\";\r\n public First: string = \"\";\r\n public Middle: string = \"\";\r\n public Last: string = \"\";\r\n public get LastFirst(): string {\r\n return `${this.Last}, ${this.First} ${this.Middle || \"\"}`;\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Available User List

\r\n
\r\n
\r\n \r\n \r\n
\r\n

{{ user.LastFirst }} ({{ user.HawkId }})

\r\n

{{ user.Title }}, {{ user.Department }}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { ILogService } from './i';\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport class ConsoleWrapper {\r\n error(...args: any[]): void { if (console && console.error) console.error.apply(this, args); }\r\n log(...args: any[]): void { if (console && console.log) console.log.apply(this, args); }\r\n warn(...args: any[]): void { if (console && console.warn) console.warn.apply(this, args); }\r\n debug(...args: any[]): void { if (console && console.debug) console.debug.apply(this, args); }\r\n}\r\n\r\nexport class LogService extends ConsoleWrapper implements ILogService {\r\n public constructor(\r\n private _err: boolean = true,\r\n private _log: boolean = true,\r\n private _warn: boolean = true,\r\n private _debug: boolean = true)\r\n {\r\n super();\r\n }\r\n\r\n error(message?: any, ...optional: any[]): void {\r\n if (this._err && typeof message !== \"undefined\") {\r\n optional.unshift(message);\r\n super.error.apply(this, optional);\r\n }\r\n }\r\n\r\n log(message?: any, ...optional: any[]): void {\r\n if (this._log && typeof message !== \"undefined\") {\r\n optional.unshift(message);\r\n super.log.apply(this, optional);\r\n }\r\n }\r\n\r\n warn(message?: any, ...optional: any[]): void {\r\n if (this._warn && typeof message !== \"undefined\") {\r\n optional.unshift(message);\r\n super.log.apply(this, optional);\r\n }\r\n }\r\n\r\n debug(message?: any, ...optional: any[]): void {\r\n if (this._debug && typeof message !== \"undefined\") {\r\n optional.unshift(message);\r\n super.debug.apply(this, optional);\r\n }\r\n }\r\n}\r\n\r\nexport let LogServiceToken = new InjectionToken(\"ILogService\");","export * from './filters';\r\nexport * from './base-view-model';\r\nexport * from './contact-detail-view-model';\r\nexport * from './correspondence-view-model';\r\nexport * from './corr-count-view-model';\r\nexport * from './correspondence-document-view-model';\r\nexport * from './document-view-model';\r\nexport * from './document-file-view-model';\r\nexport * from './i-view-model';\r\nexport * from './idw-view-model';\r\nexport * from './requestor-view-model';\r\nexport * from './review-comment-view-model';\r\nexport * from './review-view-model';\r\nexport * from './review-document-view-model';\r\nexport * from './user-view-model';\r\nexport * from './user-role-view-model';\r\nexport * from './role-view-model';\r\nexport * from './requestor-correspondence-view-model';\r\nexport * from './i-json-auth-token-view-model';\r\nexport * from './category-view-model';\r\nexport * from './correspondence-input-model';\r\nexport * from './correspondence-category-view-model';","import { Injectable, Inject, InjectionToken } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\n\r\nimport { APIBaseURI } from '../app.config.tokens';\r\n\r\n@Injectable()\r\nexport class ProgressService {\r\n constructor(\r\n @Inject(APIBaseURI) private baseUri: string\r\n ) { }\r\n\r\n progressEventObservable:Subject = new Subject();\r\n \r\n // TODO flesh this out... allow filtering, etc.\r\n public subscribe(fn: (value: any) => void, er: (value: any) => void): Subscription {\r\n return this.progressEventObservable.subscribe(fn, er);\r\n }\r\n\r\n}\r\n\r\nexport let ProgressServiceToken = new InjectionToken(\"ProgressService\");","import { Directive, HostBinding, ContentChildren, QueryList, Inject, Injectable, ChangeDetectorRef,\r\n AfterContentInit, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router, RouterLink, RoutesRecognized } from '@angular/router';\r\nimport { IRoleService } from '../services/i';\r\nimport { RoleServiceToken } from '../services';\r\n\r\n@Directive({\r\n selector: '[secured]'\r\n})\r\n@Injectable()\r\nexport class SecuredDirective implements OnChanges, OnDestroy, AfterContentInit {\r\n @HostBinding(\"style.display\")\r\n private display: string = \"none\";\r\n private routerSubscription: Subscription;\r\n\r\n @ContentChildren(RouterLink, { descendants: true })\r\n routerLinks:QueryList;\r\n\r\n constructor(\r\n @Inject(RoleServiceToken) private roleService: IRoleService,\r\n private router: Router,\r\n private cdr: ChangeDetectorRef) {\r\n this.routerSubscription = this.router.events.subscribe(s => {\r\n if (s instanceof RoutesRecognized)\r\n this.update();\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void { this.routerLinks.changes.subscribe(_ => this.update()); }\r\n ngOnChanges(changes: SimpleChanges): void { this.update(); }\r\n ngOnDestroy(): void { this.routerSubscription.unsubscribe(); };\r\n\r\n private update(): void {\r\n if (this.routerLinks.length > 1)\r\n throw new Error(\"More than one routerLink found within this secured element. Cannot determine whether to hide element.\");\r\n var link = this.routerLinks.toArray()[0];\r\n // TODO FIXME: could there be a better way of doing this?\r\n var path = link.urlTree.toString();\r\n this.display = this.roleService.canActivate(path, link.queryParams) ? \"\" : \"none\";\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","import { Injectable, Inject, InjectionToken } from '@angular/core';\r\nimport { Subject, Subscription, Subscriber, Observable } from 'rxjs';\r\n\r\nimport { CorrespondenceFilterViewModel as CorFilter, CorrespondenceSubFilterViewModel as CorSubFilter, CorFilterType, CorrespondenceFilterViewModel } from '../view-models/filters';\r\nimport { IMapperService } from './i';\r\nimport { MapperServiceToken } from './mapper.service';\r\n\r\nimport { ICorrFilterService } from './i';\r\nimport { APIBaseURI } from '../app.config.tokens';\r\n\r\n@Injectable()\r\nexport class CorrFilterService implements ICorrFilterService {\r\n private updates$: Observable<{ [key: string]: CorFilter }>;\r\n private updatesObserver: Subscriber<{ [key: string]: CorrespondenceFilterViewModel }>;\r\n constructor(\r\n @Inject(MapperServiceToken) private mapper: IMapperService\r\n ) {\r\n this.updates$ = new Observable(observer => {\r\n this.updatesObserver = observer\r\n });\r\n }\r\n\r\n get updates(): Observable<{ [key: string]: CorFilter }> { return this.updates$; };\r\n\r\n saveFilter(name: string, filter: CorFilter): void {\r\n let filters = this.getFilterObj();\r\n filters[name] = filter;\r\n localStorage[\"filters\"] = JSON.stringify(filters);\r\n this.updatesObserver.next(filters);\r\n }\r\n\r\n removeFilter(name: string): void {\r\n let filters = this.getFilterObj();\r\n delete filters[name];\r\n localStorage[\"filters\"] = JSON.stringify(filters);\r\n this.updatesObserver.next(filters);\r\n }\r\n\r\n getFilter(name: string): CorFilter {\r\n if (name=='awaiting-review') return this.awaitingReview();\r\n return this.mapper.MapJsonToVM(CorFilter, this.getFilterObj()[name]);\r\n }\r\n\r\n getAvailableFilterNames(): string[] {\r\n return Object.keys(this.getFilterObj());\r\n }\r\n\r\n private getFilterObj(): any {\r\n try {\r\n return JSON.parse(localStorage[\"filters\"] || \"{}\");\r\n } catch (err) {\r\n return {};\r\n }\r\n }\r\n\r\n private awaitingReview(): CorFilter {\r\n let filter = new CorFilter();\r\n let subfilter = new CorSubFilter();\r\n subfilter.Type = CorFilterType.Status;\r\n subfilter.Keywords = [\"Intake\"];\r\n filter.Filters = [subfilter];\r\n return filter;\r\n }\r\n}\r\n\r\nexport let CorrFilterServiceToken = new InjectionToken(\"CorrFilterService\");","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: \"prettySize\" })\r\nexport class PrettySize implements PipeTransform {\r\n transform(value: any): string {\r\n if (value > 1 << 20) {\r\n let f = \"\" + (value / (1 << 20));\r\n let i = f.indexOf(\".\");\r\n return (i > -1 ? f.substr(0, i + 2) : f) + \"Mb\";\r\n }\r\n if (value > 1024) {\r\n let f = \"\" + (value / (1 << 10));\r\n let i = f.indexOf(\".\");\r\n return (i > -1 ? f.substr(0, i + 2) : f) + \"Kb\";\r\n }\r\n\r\n return `${value} bytes`;\r\n }\r\n}","\r\nimport {forkJoin as observableForkJoin } from 'rxjs';\r\n\r\nimport {map, startWith} from 'rxjs/operators';\r\nimport { Component, OnInit, Inject, Injectable, Input } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport * as moment from 'moment/moment';\r\n\r\nimport { states, priorities, receivedThrough } from '../../static-data';\r\nimport { RepositoryServiceToken, MapperServiceToken, LogServiceToken } from '../../services';\r\nimport { IRepositoryService, IMapperService, ILogService } from '../../services/i';\r\nimport { CorrespondenceViewModel as VMCorr, CorrespondenceViewModel, ContactDetailViewModel, RequestorViewModel, RequestorCorrespondenceViewModel } from '../../view-models';\r\nimport { CorrespondenceCategoryViewModel as CorrespondenceCategoryViewModel } from '../../view-models';\r\nimport { BaseFilterViewModel as CorFilter } from '../../view-models/filters';\r\nimport { IFilterViewModel } from '../../view-models/filters/i';\r\nimport { BeforeTomorrowValidator, AfterTodayValidator } from './validators';\r\nimport { CategoryViewModel } from '../../view-models'\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-add-correspondence',\r\n templateUrl: './add-correspondence.component.html',\r\n styleUrls: ['./add-correspondence.component.css']\r\n})\r\n@Injectable()\r\nexport class AddCorrespondenceComponent implements OnInit {\r\n submitAttempted: boolean = false;\r\n correspondences: VMCorr[]=[];\r\n categories : CategoryViewModel[] = [];\r\n correspondenceCategories : CorrespondenceCategoryViewModel[] = [];\r\n filter: IFilterViewModel = new CorFilter();\r\n @Input() correspCat: FormControl = new FormControl(); \r\n filteredReceivedThrough: any;\r\n receivedThroughCommon: string[] = [\"Email\", \"Phone\", \"Text Message\", \"Mail\", \"In-Person\"];\r\n priorities: string[] = priorities;\r\n //correspCat: FormControl = new FormControl(); \r\n public myForm: FormGroup = null;\r\n states: string[] = states;\r\n receivedThrough: string[] = receivedThrough;\r\n\r\n // http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/\r\n // Regarding subscribe and emit: https://scotch.io/tutorials/angular-2-http-requests-with-observables\r\n // Automapper (if really necessary): https://github.com/loedeman/AutoMapper/wiki\r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private location: Location,\r\n @Inject(MapperServiceToken) private mapper: IMapperService,\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n private toastr: ToastrService ) {}\r\n\r\n ngOnInit() {\r\n //this.repo.Page(CategoryViewModel, this.filter).subscribe(cats => this.categories = cats); \r\n this.myForm = this.fb.group({\r\n Type: ['', Validators.required],\r\n NewRequestor: this.fb.group({\r\n FirstName: [''],\r\n MiddleName: [''],\r\n LastName: [''],\r\n Details: [''], \r\n Address: [''],\r\n City: [''],\r\n State: [''],\r\n Zip: [''],\r\n Phone: [''],\r\n Email: [''],\r\n }),\r\n Priority: ['Normal', Validators.required],\r\n Title: ['', Validators.required],\r\n Category: ['', Validators.required],\r\n Summary: [''],\r\n Notes: [''],\r\n ReceivedThrough: ['Postal Mail'],\r\n DateReceived: [\r\n moment().format(\"YYYY-MM-DD\"), \r\n [ new BeforeTomorrowValidator() ]\r\n ],\r\n DueDate: [\r\n moment().format(\"YYYY-MM-DD\"),\r\n [ new AfterTodayValidator() ]\r\n ] \r\n }, {\r\n validator: (group) => {\r\n return group.value.Type == \"Incoming\" && !(group.value.DateReceived && group.value.DueDate && group.value.ReceivedThrough)\r\n ? { datesRequired: true }\r\n : null;\r\n }\r\n });\r\n\r\n this.filteredReceivedThrough = this.myForm.controls[\"ReceivedThrough\"].valueChanges.pipe(\r\n startWith(null),\r\n map(r => r ? this.receivedThroughCommon.filter(c => c.indexOf(r) >= 0) : this.receivedThroughCommon),);\r\n\r\n var filter = new CorFilter();\r\n filter.PageSize = 30;\r\n this.repo.Page(CategoryViewModel,filter).subscribe(cats => this.categories=cats); \r\n }\r\n\r\n cvm : CorrespondenceViewModel;\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n\r\n onsubmit()\r\n {\r\n this.submitAttempted = true;\r\n\r\n let ci = this.mapper.MapJsonToVM(CorrespondenceViewModel, this.myForm.value);\r\n ci.Id = 0;\r\n ci.Status = \"Intake\";\r\n\r\n if (this.myForm.valid) {\r\n this.repo.Create(CorrespondenceViewModel, ci)\r\n .toPromise()\r\n .then(this.onCreate.bind(this), e => this.log.error(e));\r\n } else {\r\n this.log.debug(this.myForm.errors, this.myForm);\r\n }\r\n }\r\n\r\n onCreate(v: VMCorr) {\r\n var ccms: CorrespondenceCategoryViewModel[] = [];\r\n\r\n for (let u of this.myForm.value.Category)\r\n {\r\n let ccm = new CorrespondenceCategoryViewModel ();\r\n ccm.Id=0;\r\n ccm.CorrespondenceId=v.Id;\r\n ccm.CategoryId=u;\r\n ccms.push(ccm);\r\n }\r\n this.repo\r\n .CreateMany(CorrespondenceCategoryViewModel, ccms)\r\n .toPromise()\r\n .then(() => {\r\n let contact = new RequestorViewModel();\r\n let r = this.myForm.value.NewRequestor;\r\n contact.FirstName = r.FirstName;\r\n contact.MiddleName = r.MiddleName;\r\n contact.LastName = r.LastName;\r\n contact.Notes = r.Details;\r\n return this.repo.Create(RequestorViewModel, contact).toPromise();\r\n })\r\n .then(rvm => {\r\n let details = new ContactDetailViewModel();\r\n let r = this.myForm.value.NewRequestor;\r\n details.RequestorId = rvm.Id;\r\n details.Address1 = r.Address;\r\n details.City = r.City;\r\n details.State = r.State;\r\n details.PostalCode = r.Zip;\r\n details.Phone = r.Phone;\r\n details.Email = r.Email;\r\n var join = new RequestorCorrespondenceViewModel();\r\n join.CorrespondenceId = v.Id;\r\n join.RequestorId = rvm.Id;\r\n\r\n let rdp = this.repo.Create(RequestorCorrespondenceViewModel, join).toPromise();\r\n let cdp = this.repo.Create(ContactDetailViewModel, details).toPromise();\r\n return observableForkJoin([rdp, cdp]).toPromise();\r\n })\r\n .then(() => {\r\n let message = `Correspondence \"${(v.Title || \"\").substr(0, 20)}\" has been created.`;\r\n this.toastr.success(message);\r\n this.router.navigate(['/correspondence', v.Id]);\r\n }, e => this.log.error(e));\r\n }\r\n\r\n showRequiredError(fieldPath: string[]): boolean {\r\n return this.submitAttempted && this.myForm.hasError('required', fieldPath);\r\n }\r\n\r\n showCustomError(fieldPath: string[], error: string): boolean {\r\n return this.submitAttempted && this.myForm.hasError(error, fieldPath);\r\n }\r\n}\r\n","import { Injectable, InjectionToken, Inject } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\n//import { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { IJsonAuthTokenViewModel as IJWT, UserViewModel } from '../view-models';\r\nimport { LogServiceToken } from './log.service';\r\nimport { IAuthenticationService, ILogService } from './i';\r\nimport { CommunityAuthService } from './community-auth.service';\r\n\r\n\r\n// Originally from http://jasonwatmore.com/post/2016/08/16/angular-2-jwt-authentication-example-tutorial\r\n\r\n@Injectable()\r\nexport class AuthenticationService {\r\n constructor(\r\n private oAuth: OAuthService,\r\n private communityAuth: CommunityAuthService,\r\n //private helper: JwtHelperService,\r\n @Inject(LogServiceToken) private log: ILogService) {}\r\n private decodedToken: any = null;\r\n get token(): string { return this.oAuth.getAccessToken(); }\r\n get isAuthenticated(): boolean { return !! this.token && ! this.isSessionExpired; }\r\n get username(): string { return this.jsonToken && this.jsonToken.sub || null; }\r\n get roles(): string[] {\r\n const user = this.getUserInfo();\r\n return user?.UserRoles?.map(r => r?.Role?.RoleName);\r\n /*return this.jsonToken && (typeof(this.jsonToken.role) == \"string\"\r\n ? [ this.jsonToken.role ]\r\n : this.jsonToken.role) || [];*/\r\n }\r\n get isSessionExpired(): boolean { return this.oAuth.getAccessTokenExpiration() < Date.now(); }\r\n get sessionExpiration(): Date { return new Date(this.oAuth.getAccessTokenExpiration()); }\r\n get jsonToken(): IJWT { return this.oAuth.getIdentityClaims() as IJWT; }\r\n get stateDescription(): string {\r\n if (this.token && this.isSessionExpired)\r\n return \"Session expired.\";\r\n else if (this.isAuthenticated)\r\n return \"Logged in.\";\r\n else\r\n return \"Not logged in.\";\r\n }\r\n\r\n public getToken(): any {\r\n // console.log('here i am ' , this.token);\r\n return this.token;\r\n }\r\n\r\n public getAccept(): string {\r\n return 'application/json';\r\n }\r\n authorizeRequest(headers: Headers): Headers {\r\n headers.append(\"Accept\", \"application/json\");\r\n headers.append(\"Authorization\", \"Bearer \" + this.token);\r\n return headers;\r\n }\r\n hasRole(role: string): boolean { return this.roles && this.roles.indexOf(role) != -1 || false; }\r\n hasAnyRole(...rs: string[]): boolean {\r\n if (rs.length == 0)\r\n return this.roles.length > 0;\r\n\r\n return this.roles && rs.filter(r => this.roles.indexOf(r) != -1).length > 0;\r\n }\r\n hasAllRoles(...rs: string[]): boolean {\r\n if (rs.length == 0)\r\n throw new Error(\"No roles requested in order to be authorized. Is this a typo?\");\r\n return this.roles && rs.filter(r => this.roles.indexOf(r) != -1).length == rs.length;\r\n }\r\n beginLoginFlow(): void { this.oAuth.initImplicitFlow(); }\r\n checkForLogin(): Promise { return this.oAuth.tryLogin().then(() => this.oAuth.getIdentityClaims()); }\r\n setUserInfo(user: T): void {\r\n localStorage.setItem(\"userInfo\", JSON.stringify(user));\r\n }\r\n getUserInfo(): T {\r\n let user = localStorage.getItem(\"userInfo\");\r\n try {\r\n return JSON.parse(user);\r\n } catch(err) {\r\n return null;\r\n }\r\n }\r\n logout(): void { this.oAuth.logOut(); }\r\n}\r\n\r\nexport let AuthenticationServiceToken = new InjectionToken(\"IAuthenticationServiceToken\");\r\n\r\n","import { Component, OnInit, Inject, ViewChild, ElementRef, InjectionToken } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators, Validator } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { RepositoryServiceToken, MapperServiceToken, ProgressServiceToken,\r\n ErrorServiceToken, LogServiceToken,\r\n ProgressService } from '../../services';\r\nimport { IRepositoryService, IMapperService, IErrorService, ILogService } from '../../services/i';\r\nimport {\r\n DocumentViewModel, CorrespondenceViewModel,\r\n ReviewViewModel,\r\n ReviewDocumentViewModel,\r\n CorrespondenceInputModel as CorrespondenceInputModel,\r\n CorrespondenceDocumentViewModel\r\n} from '../../view-models';\r\n\r\n@Component({\r\n selector: 'app-add-document',\r\n templateUrl: './add-document.component.html',\r\n styleUrls: ['./add-document.component.css']\r\n})\r\nexport class AddDocumentComponent implements OnInit {\r\n computedTitle: string;\r\n whoAmI: InjectionToken = new InjectionToken(\"AddDocumentComponent\");\r\n mode: string = \"correspondence\";\r\n get Id(): number { return this.mode == \"correspondence\" ? this.cvm.Id : this.rvm.Id; }\r\n cvm: CorrespondenceViewModel;\r\n rvm: ReviewViewModel;\r\n documents: File[] = [];\r\n maxRequestLength: number = 30*(1<<20);\r\n size: number = 0;\r\n disabled: boolean = false;\r\n percentComplete: number = 0;\r\n percentCompleteDisplay: string = \"0%\";\r\n @ViewChild(\"fileChooserForm\") chooser: ElementRef;\r\n @ViewChild(\"fileInput\") fileInput: ElementRef;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n @Inject(ErrorServiceToken) private errors: IErrorService,\r\n @Inject(ProgressServiceToken) private progress: ProgressService,\r\n @Inject(MapperServiceToken) private mapper: IMapperService,\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n ) {\r\n this.computedTitle = \r\n 'Add Documents to '\r\n + (this.mode == \"correspondence\" ? \"Correspondence\" : \"Review\");\r\n }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(params => {\r\n let id: number = +params['id'] || +params['cid'];\r\n let rid: number = +params['rid'];\r\n if (id) {\r\n this.repo.Get(CorrespondenceViewModel, id)\r\n .toPromise()\r\n .then(corr => {\r\n this.cvm = corr\r\n if (this.mode == \"correspondence\" && corr && corr.Title)\r\n this.computedTitle += ` \"${corr.Title.substr(0, 30).trim()}...\"`;\r\n });\r\n if (rid) {\r\n this.mode = \"review\";\r\n this.repo.Get(ReviewViewModel, rid)\r\n .toPromise()\r\n .then(r => { \r\n this.rvm = r;\r\n if (this.mode != \"correspondence\" && r && r.ReviewText)\r\n this.computedTitle += ` \"${r.ReviewText.substr(0, 30).trim()}...\"`;\r\n });\r\n }\r\n } else {\r\n this.errors.broadcast(\"Error\", this.whoAmI, \"Internal application error. Please report.\");\r\n }\r\n });\r\n\r\n this.progress.subscribe((e: ProgressEvent) => {\r\n this.log.log(\"Progress\", e.loaded, e.total, e);\r\n if (e.total > 0) {\r\n this.percentComplete = e.loaded / e.total * 100;\r\n let p = \"\" + (Math.round(this.percentComplete * 10) / 10);\r\n let i = p.indexOf(\".\");\r\n this.percentCompleteDisplay = i > -1 ? p.substr(0, i + 2) : p;\r\n }\r\n }, e => {\r\n this.disabled = false;\r\n this.errors.broadcast(\"Error\", this.whoAmI, \"Unknown error during upload. Please retry or contact support.\");\r\n });\r\n }\r\n\r\n fontRefs = {\r\n \"image/png\" : \"fa-file-picture-o\",\r\n \"image/gif\" : \"fa-file-picture-o\",\r\n \"image/jpeg\" : \"fa-file-picture-o\",\r\n \"application/pdf\": \"fa-file-pdf-o\",\r\n \"application/excel\": \"fa-file-excel-o\",\r\n \"application/msword\": \"fa-file-word-o\",\r\n \"text/plain\": \"fa-file-text\"\r\n };\r\n fileChangeEvent($event) {\r\n var files = $event.target.files;\r\n for (var i=0; i d[\"selected\"])\r\n .reduce((s: number, d: File) => d[\"selected\"] ? d.size + s : s, 0);\r\n }\r\n\r\n removeFileFromUpload(file: File) {\r\n var i = this.documents.indexOf(file);\r\n this.documents.splice(i, 1);\r\n this.updateMetrics();\r\n }\r\n\r\n clearUnselectedFromUpload() {\r\n let tempDocs = [];\r\n for(var i=0; i this.maxRequestLength)\r\n return;\r\n\r\n this.disabled = true;\r\n let self = this;\r\n \r\n let count = 0;\r\n var form = this.documents.reduce(\r\n (form: FormData, cur: File) => {\r\n count = count + 1;\r\n form.append(\"files\", cur, cur.name);\r\n return form;\r\n }, new FormData());\r\n let promise = self.repo.CreateMany(DocumentViewModel, form).toPromise();\r\n promise.catch(e => {\r\n this.disabled = false;\r\n this.errors.broadcast(\"Error\", this.whoAmI, \"Unknown error during upload. Please retry or contact support.\");\r\n });\r\n if (this.mode == \"correspondence\") {\r\n promise.then(\r\n (docs: DocumentViewModel[]) => {\r\n let vms = docs.map((d) => this.mapper.MapJsonToVM(CorrespondenceDocumentViewModel, { CorrespondenceId: this.cvm.Id, DocumentId: d.Id }));\r\n return this.repo.CreateMany(CorrespondenceDocumentViewModel, vms).toPromise();\r\n })\r\n .then(\r\n (cdvms: CorrespondenceDocumentViewModel[] | ReviewViewModel[]) => {\r\n this.router.navigate([\"/correspondence\", this.cvm.Id]);\r\n }\r\n )\r\n .catch(e => {\r\n this.disabled = false;\r\n this.errors.broadcast(\"Error\", this.whoAmI, \"Unknown error during upload. Please retry or contact support.\");\r\n })\r\n } else if (this.mode == \"review\") {\r\n promise.then(\r\n (docs: DocumentViewModel[]) => {\r\n this.log.debug(this.rvm);\r\n let vms = docs.map((d) => this.mapper.MapJsonToVM(\r\n ReviewDocumentViewModel, \r\n { ReviewId: this.rvm.Id, DocumentId: d.Id }));\r\n return this.repo.CreateMany(ReviewDocumentViewModel, vms).toPromise();\r\n })\r\n .then(\r\n (cdvms: ReviewDocumentViewModel[]) => {\r\n this.router.navigate([\"/correspondence\", this.cvm.Id, \"reviews\", this.rvm.Id]);\r\n }\r\n ).catch(e => { \r\n this.disabled = false;\r\n this.errors.broadcast(\"Error\", this.whoAmI, \"Unknown error during upload. Please retry or contact support.\");\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { InjectionToken, Inject, Injectable } from '@angular/core';\r\nimport { IMapperService, ILogService } from './i';\r\nimport { getMappableProperties } from '../decorators';\r\nimport { LogServiceToken } from './log.service';\r\nimport * as viewModels from '../view-models';\r\n\r\n@Injectable()\r\nexport class MapperService implements IMapperService {\r\n public constructor(\r\n @Inject(LogServiceToken) private log: ILogService\r\n ) { }\r\n\r\n dict: { [key: string]: viewModels.BaseViewModel } = {};\r\n\r\n /** Recursively maps JSON into a ViewModel. This is required in order to get the ViewModel's methods.\r\n * Typecasting is not sufficient. Uses @mappable attribute on destination ViewModel to determine\r\n * whether and how to map related ViewModels.\r\n * @param {instantiable} t The constructable destination view model.\r\n * @param {any} json The source JSON object.\r\n * @param {boolean} unmappedWarning Whether to warn if a destination property does not exist. Default: true.\r\n * @return {T} The constructed view model with all of its properties mapped from the source json.\r\n * @example MapJsonToVM(UserViewModel, userJson);\r\n */\r\n public MapJsonToVM(t: { new (): T }, json: any, unmappedWarning = true): T {\r\n let vm = new t();\r\n var tprops = getMappableProperties(vm);\r\n for(var prop of Object.keys(json || {})) {\r\n let desc = Object.getOwnPropertyDescriptor(vm, prop);\r\n if (!desc || !desc.writable)\r\n continue;\r\n\r\n // If there is an explicit mappable, map no matter what.\r\n if (typeof tprops[prop] === \"string\") {\r\n //if (! viewModels.hasOwnProperty(tprops[prop]))\r\n // this.log.warn(`View model ${tprops[prop]} does not exist. Did you type it correctly?`);\r\n // If either the source or destination is iterable,\r\n // map as an iterable. This is not ideal, but neither\r\n // is Typescript. :-P\r\n if (this.iterable(vm, json, prop)) {\r\n vm[prop] = this.MapJsonToVMArray(viewModels[tprops[prop]], json[prop]);\r\n } else {\r\n vm[prop] = this.MapJsonToVM(viewModels[tprops[prop]], json[prop]);\r\n }\r\n }\r\n else if (typeof vm[prop] !== \"undefined\") {\r\n vm[prop] = json[prop];\r\n }\r\n else if (unmappedWarning) {\r\n this.log.warn(`Property ${prop} is not mapped. Are you missing a destination property, default value, or @mappable attribute?`);\r\n }\r\n }\r\n\r\n return vm;\r\n }\r\n\r\n /** determines whether either the source json or destination view model property is iterable. */\r\n private iterable(vm: T, json: any, prop: string): boolean {\r\n return (vm[prop] && typeof vm[prop][Symbol.iterator] === 'function')\r\n || (json[prop] && typeof json[prop][Symbol.iterator] === 'function');\r\n }\r\n\r\n /**\r\n * Recursively maps a JSON array to a ViewModel array. This is required in order to get the ViewModel's\r\n * methods. Typecasting is not sufficient. Uses @mappable attribute on destination ViewModel to determine\r\n * whether and how to map related ViewModels.\r\n * @param {instantiable} t The constructable destination view model.\r\n * @param {any[]} json The source JSON array.\r\n * @param {boolean} unmappedWarning Whether to warn if a destination property does not exist. Default: true.\r\n * @return {T[]} The constructed view model array with all of its member properties mapped from the source json.\r\n * @example MapJsonToVM(UserViewModel, userJson);\r\n */\r\n public MapJsonToVMArray(t: { new (): T }, json: any[]): T[] {\r\n let arr = [];\r\n for(var i=0; i this.updateUI(users[0]));\r\n }\r\n\r\n updateUI(user: UserViewModel) {\r\n this.user = user;\r\n this.settingsForm.get(\"Email\").setValue(this.user.Email);\r\n this.settingsForm.get(\"EmailNotifications\").setValue(this.user.EmailNotifications ? \"1\" : \"0\");\r\n }\r\n\r\n save() {\r\n this.user.Email = this.settingsForm.value.Email;\r\n this.user.EmailNotifications = this.settingsForm.value.EmailNotifications == \"1\";\r\n this.repo.Update(UserViewModel, this.user)\r\n .toPromise()\r\n .then(u => this.updateUI(u));\r\n }\r\n\r\n}\r\n","import { HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ProgressServiceToken, ProgressService } from '../services';\r\n\r\n@Injectable()\r\nexport class ProgressInterceptor implements HttpInterceptor {\r\n constructor(\r\n @Inject(ProgressServiceToken) private service:ProgressService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler) {\r\n return next.handle(req)\r\n .pipe(\r\n tap(\r\n event => this.service.progressEventObservable.next(event),\r\n event => this.service.progressEventObservable.error(event)\r\n )\r\n \r\n // finalize when observable\r\n // finalize(() => { })\r\n );\r\n }\r\n\r\n /*build(): any {\r\n let xhr = super.build();\r\n xhr.upload.onprogress = (event) => {\r\n this.service.progressEventObservable.next(event);\r\n };\r\n xhr.upload.onerror = (event) => {\r\n this.service.progressEventObservable.error(event);\r\n };\r\n return (xhr); \r\n } */\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

Add Reviewer

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

User *

\r\n

{{ (reviewerObs | async)?.FullName || \"None selected\" }}

\r\n
\r\n \r\n \r\n Please select categories for this correspondence.\r\n \r\n
\r\n \r\n
\r\n

Reviewer Status *

\r\n \r\n Primary Reviewer\r\n FYI Reviewer\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{ s.value }}\r\n \r\n \r\n \r\n Please choose an initial status for this review.\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { BaseViewModel } from './base-view-model';\r\nimport { endpoint, mappable } from '../decorators';\r\nimport { UserRoleViewModel } from '.';\r\n\r\n@endpoint(\"user\")\r\nexport class UserViewModel extends BaseViewModel {\r\n public HawkId: string = \"\";\r\n public First: string = \"\";\r\n public Middle: string = \"\";\r\n public Last: string = \"\";\r\n public Email: string = \"\";\r\n public Department: string = \"\";\r\n public Title: string = \"\";\r\n public EmailNotifications: boolean = true;\r\n\r\n @mappable(\"UserRoleViewModel\")\r\n public UserRoles: UserRoleViewModel[] = null;\r\n\r\n public get FullName(): string { return `${this.First} ${this.Last}`; }\r\n public get LastFirst(): string { return `${this.Last}, ${this.First} ${this.Middle || \"\"}`.trim(); }\r\n public get RolesSummary(): string { \r\n return (this.UserRoles || [])\r\n .filter(ur => ur.Role && ur.Role.RoleName && ur.Role.RoleName != 'ValidUser')\r\n .map(ur => ur.Role.RoleName)\r\n .join(\", \");\r\n }\r\n}\r\n","\r\n
\r\n \r\n \r\n

{{ person.LastFirst }}{{ person.Alias ? ', AKA \"' + person.Alias + '\"\"' : \"\" }}

\r\n

{{ person.OrgSummary }}

\r\n
\r\n \r\n \r\n
\r\n
","export let receivedThroughDict: { [key: string]: string } = {\r\n \"Email\": \"Email\",\r\n \"Postal Mail\": \"Postal Mail\",\r\n \"Phone\": \"Phone\",\r\n \"In-Person\": \"In-Person\",\r\n \"Text Message\": \"Text Message\",\r\n \"Parcel\": \"Parcel\",\r\n \"Other\": \"Other\"\r\n};\r\n\r\nexport let receivedThrough: string[] = Object.keys(receivedThroughDict).map(k => receivedThroughDict[k]);"," export let stateKeys: { [key: string]: string } = {\r\n \"AL\": \"Alabama\",\r\n \"AK\": \"Alaska\",\r\n \"AS\": \"American Samoa\",\r\n \"AZ\": \"Arizona\",\r\n \"AR\": \"Arkansas\",\r\n \"CA\": \"California\",\r\n \"CO\": \"Colorado\",\r\n \"CT\": \"Connecticut\",\r\n \"DE\": \"Delaware\",\r\n \"DC\": \"District Of Columbia\",\r\n \"FM\": \"Federated States Of Micronesia\",\r\n \"FL\": \"Florida\",\r\n \"GA\": \"Georgia\",\r\n \"GU\": \"Guam\",\r\n \"HI\": \"Hawaii\",\r\n \"ID\": \"Idaho\",\r\n \"IL\": \"Illinois\",\r\n \"IN\": \"Indiana\",\r\n \"IA\": \"Iowa\",\r\n \"KS\": \"Kansas\",\r\n \"KY\": \"Kentucky\",\r\n \"LA\": \"Louisiana\",\r\n \"ME\": \"Maine\",\r\n \"MH\": \"Marshall Islands\",\r\n \"MD\": \"Maryland\",\r\n \"MA\": \"Massachusetts\",\r\n \"MI\": \"Michigan\",\r\n \"MN\": \"Minnesota\",\r\n \"MS\": \"Mississippi\",\r\n \"MO\": \"Missouri\",\r\n \"MT\": \"Montana\",\r\n \"NE\": \"Nebraska\",\r\n \"NV\": \"Nevada\",\r\n \"NH\": \"New Hampshire\",\r\n \"NJ\": \"New Jersey\",\r\n \"NM\": \"New Mexico\",\r\n \"NY\": \"New York\",\r\n \"NC\": \"North Carolina\",\r\n \"ND\": \"North Dakota\",\r\n \"MP\": \"Northern Mariana Islands\",\r\n \"OH\": \"Ohio\",\r\n \"OK\": \"Oklahoma\",\r\n \"OR\": \"Oregon\",\r\n \"PW\": \"Palau\",\r\n \"PA\": \"Pennsylvania\",\r\n \"PR\": \"Puerto Rico\",\r\n \"RI\": \"Rhode Island\",\r\n \"SC\": \"South Carolina\",\r\n \"SD\": \"South Dakota\",\r\n \"TN\": \"Tennessee\",\r\n \"TX\": \"Texas\",\r\n \"UT\": \"Utah\",\r\n \"VT\": \"Vermont\",\r\n \"VI\": \"Virgin Islands\",\r\n \"VA\": \"Virginia\",\r\n \"WA\": \"Washington\",\r\n \"WV\": \"West Virginia\",\r\n \"WI\": \"Wisconsin\",\r\n \"WY\": \"Wyoming\"\r\n};\r\nexport let states: string[] = Object.keys(stateKeys).map(k => stateKeys[k]);","\r\nimport {debounceTime} from 'rxjs/operators';\r\nimport { Component, OnInit, Inject, Injectable, Input } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { RepositoryServiceToken, LogServiceToken } from '../../services';\r\nimport { IRepositoryService, ILogService } from '../../services/i';\r\nimport { UserViewModel, RoleViewModel } from '../../view-models';\r\nimport { BaseFilterViewModel, UserFilterViewModel, UserFilterType } from '../../view-models/filters';\r\n\r\n@Component({\r\n selector: 'app-user-chooser',\r\n templateUrl: './user-chooser.component.html',\r\n styleUrls: ['./user-chooser.component.css']\r\n})\r\n@Injectable()\r\nexport class UserChooserComponent implements OnInit {\r\n\r\n users: UserViewModel[] = [];\r\n roles: RoleViewModel[] = [];\r\n filter: UserFilterViewModel = new UserFilterViewModel();\r\n latestKeywords: string = null;\r\n latestRole: number = null;\r\n @Input() keywords: FormControl = new FormControl();\r\n @Input() userRole: FormControl = new FormControl();\r\n @Input() form: FormGroup = new FormGroup({ keywords: this.keywords, role: this.userRole });\r\n\r\n // http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/\r\n // Regarding subscribe and emit: https://scotch.io/tutorials/angular-2-http-requests-with-observables\r\n // Automapper (if really necessary): https://github.com/loedeman/AutoMapper/wiki\r\n constructor(\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) {\r\n this.keywords.valueChanges.pipe(\r\n debounceTime(400))\r\n .subscribe(kw => { this.latestKeywords = kw; this.updateResults(); });\r\n this.userRole.valueChanges\r\n .subscribe(role => {\r\n this.latestRole = role; this.updateResults();\r\n });\r\n }\r\n\r\n updateResults() {\r\n this.filter.Keywords = (this.latestKeywords || \"\").split(\" \");\r\n if (this.latestRole) {\r\n this.filter.Type = UserFilterType.RoleAndKeywords;\r\n this.filter.RoleId = this.latestRole;\r\n } else {\r\n this.filter.Type = UserFilterType.AnyRoleAndKeywords;\r\n this.filter.RoleIds = this.roles.map(r => r.Id);\r\n }\r\n this.log.debug(this.filter.RoleIds);\r\n this.repo.Page(UserViewModel, this.filter)\r\n .subscribe(value => { this.users = value; });\r\n }\r\n\r\n chooseUser(user: UserViewModel) {\r\n this.route.queryParams.subscribe(p => {\r\n let ret = p[\"return\"] + `?userId=${user.Id}`;\r\n this.router.navigateByUrl(ret);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(p => {\r\n let rolesSubset = p[\"roles\"] || null;\r\n this.keywords.setValue(\"\");\r\n var roleFilter = new BaseFilterViewModel();\r\n roleFilter.PageSize = 50;\r\n let blank = {};\r\n blank.Id = null;\r\n blank.RoleName = \"\";\r\n this.repo.Page(RoleViewModel, roleFilter)\r\n .subscribe(roles => {\r\n if (rolesSubset)\r\n this.roles = roles.filter(r => rolesSubset.indexOf(r.RoleName) >= 0);\r\n else\r\n this.roles = roles;\r\n this.roles.unshift(blank);\r\n this.updateResults();\r\n });\r\n });\r\n }\r\n\r\n}","\r\nimport {debounceTime} from 'rxjs/operators';\r\nimport { Component, OnInit, Inject, Injectable, EventEmitter, Input, InjectionToken } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\n\r\nimport { RepositoryService, RepositoryServiceToken, LogServiceToken, ErrorServiceToken } from '../../services';\r\nimport { IRepositoryService, ILogService, IErrorService } from '../../services/i';\r\nimport { UserViewModel, RoleViewModel } from '../../view-models';\r\nimport { BaseFilterViewModel, UserFilterViewModel, UserFilterType } from '../../view-models/filters';\r\nimport { IFilterViewModel } from '../../view-models/filters/i';\r\nimport { ConfirmDialog } from '../../dialogs';\r\n\r\n@Component({\r\n selector: 'app-user-manager',\r\n templateUrl: './user-manager.component.html',\r\n styleUrls: ['./user-manager.component.css']\r\n})\r\n@Injectable()\r\nexport class UserManagerComponent implements OnInit {\r\n dialogRef: MatDialogRef;\r\n users: UserViewModel[] = [];\r\n order: string = 'LastFirst';\r\n roles: RoleViewModel[] = [];\r\n filter: UserFilterViewModel = new UserFilterViewModel();\r\n latestKeywords: string = null;\r\n latestRole: number = null;\r\n @Input() keywords: FormControl = new FormControl();\r\n @Input() userRole: FormControl = new FormControl();\r\n @Input() form: FormGroup = new FormGroup({ keywords: this.keywords, role: this.userRole });\r\n\r\n // http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/\r\n // Regarding subscribe and emit: https://scotch.io/tutorials/angular-2-http-requests-with-observables\r\n // Automapper (if really necessary): https://github.com/loedeman/AutoMapper/wiki\r\n constructor(\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n @Inject(ErrorServiceToken) private errors: IErrorService,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n this.keywords.valueChanges.pipe(\r\n debounceTime(400))\r\n .subscribe(kw => { this.latestKeywords = kw; this.updateResults(); });\r\n this.userRole.valueChanges\r\n .subscribe(role => { this.latestRole = role; this.updateResults(); })\r\n }\r\n\r\n updateResults() {\r\n this.filter.Keywords = this.latestKeywords.split(\" \");\r\n this.filter.Type = UserFilterType.RoleAndKeywords;\r\n this.filter.RoleId = this.latestRole;\r\n this.repo.Page(UserViewModel, this.filter)\r\n .subscribe(value => { this.users = value; });\r\n }\r\n\r\n openDialog(message: string): Promise {\r\n this.dialogRef = this.dialog.open(\r\n ConfirmDialog, {\r\n disableClose: false\r\n });\r\n this.dialogRef.componentInstance.title = \"Confirm Removal\";\r\n this.dialogRef.componentInstance.message = message;\r\n\r\n this.dialogRef.afterClosed().subscribe(result => {\r\n this.dialogRef = null;\r\n });\r\n return this.dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n removeUser(user: UserViewModel) {\r\n this.openDialog(`Are you sure you want to remove ${user.FullName}?`)\r\n .then(confirm => {\r\n if (confirm) {\r\n this.repo.Delete(UserViewModel, user.Id)\r\n .toPromise()\r\n .then(r => {\r\n this.updateResults();\r\n })\r\n .catch(e => {\r\n this.errors.broadcast(\"Error\", UserManagerComponentToken, `Unabled to remove user ${user.FullName}.`);\r\n this.log.warn(\"Error: \", e);\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n let blank = {};\r\n blank.RoleName = '';\r\n blank.Id = '';\r\n this.keywords.setValue(\"\");\r\n var roleFilter = new UserFilterViewModel();\r\n roleFilter.PageSize = 50;\r\n this.repo\r\n .Page(RoleViewModel, roleFilter)\r\n .subscribe(roles => { this.roles = roles; this.roles.unshift(blank); });\r\n }\r\n\r\n}\r\n\r\nexport let UserManagerComponentToken = new InjectionToken(\"UserManagerComponent\");\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { RequestorCorrespondenceViewModel } from './requestor-correspondence-view-model';\r\nimport { CorrespondenceCategoryViewModel } from './correspondence-category-view-model';\r\nimport { RequestorViewModel } from './requestor-view-model';\r\nimport { endpoint, mappable } from '../decorators';\r\n\r\n@endpoint('Count')\r\nexport class CorrCountViewModel extends BaseViewModel {\r\n Count: number = null;\r\n}\r\n","export let prioritiesDict: { [key: string]: string } = {\r\n \"Normal\": \"Normal\",\r\n \"Urgent\": \"Urgent\",\r\n \"Low-Priority\": \"Low-Priority\"\r\n};\r\n\r\nexport let priorities: string[] = Object.keys(prioritiesDict).map(k => prioritiesDict[k]);","import { Injectable, Inject, InjectionToken } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class ScrollService {\r\n\r\n private scroll$: Observable;\r\n private scrollObserver: any;\r\n\r\n constructor() {\r\n this.scroll$ = new Observable(observer => {\r\n this.scrollObserver = observer\r\n });\r\n }\r\n\r\n getObservable(): Observable {\r\n return this.scroll$;\r\n }\r\n\r\n scroll($event) {\r\n this.scrollObserver.next($event);\r\n }\r\n}\r\n\r\nexport let ScrollServiceToken = new InjectionToken(\"IScrollServiceToken\");","import { HttpParams } from '@angular/common/http';\r\nimport { BaseFilterViewModel } from './base-filter-view-model';\r\nimport { Operator } from './operator';\r\n\r\nexport class CorrespondenceDocumentFilterViewModel extends BaseFilterViewModel {\r\n public Type: CorDocFilterType = CorDocFilterType.ByCorrespondenceId;\r\n public CorrespondenceId: number = 0;\r\n\r\n public getAsHttpParams(): HttpParams {\r\n var params = super.getAsHttpParams();\r\n params = params.append('filter.Type', encodeURIComponent(`${this.Type}`));\r\n params = params.append('filter.CorrespondenceId', encodeURIComponent(`${this.CorrespondenceId}`));\r\n return params;\r\n }\r\n}\r\n\r\nexport enum CorDocFilterType {\r\n ByCorrespondenceId = 0x1,\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n

Correspondence

\r\n
\r\n
\r\n
\r\n
\r\n

Date Received

\r\n

{{ myForm.get('DateReceived').value }}

\r\n
\r\n
\r\n

Due Date

\r\n

{{ myForm.get('DueDate').value }}

\r\n
\r\n
\r\n

Status

\r\n

{{ myForm.get('Status').value }}

\r\n
\r\n
\r\n
\r\n

Incoming/Outgoing

\r\n

{{ myForm.get('Type').value }}

\r\n
\r\n
\r\n

Priority

\r\n

{{ myForm.get('Priority').value }}

\r\n
\r\n
\r\n

Received Through

\r\n

{{ myForm.get('ReceivedThrough').value }}

\r\n
\r\n
\r\n

Categories

\r\n

\r\n \r\n {{corCat.Category.Name}}\r\n

\r\n
\r\n
\r\n

Requestor Name

\r\n

{{ myForm.get('RequestorFullName').value }}

\r\n
\r\n
\r\n

Requestor Details/Notes

\r\n

{{ myForm.get('RequestorDetails').value }}

\r\n
\r\n
\r\n

Address

\r\n

{{ myForm.get('RequestorAddress').value }}

\r\n
\r\n
\r\n
\r\n

City

\r\n

{{ myForm.get('RequestorCity').value }}

\r\n
\r\n \r\n
\r\n

State

\r\n

{{ myForm.get('RequestorState').value }}

\r\n
\r\n \r\n
\r\n

Zip

\r\n

{{ myForm.get('RequestorZip').value }}

\r\n
\r\n
\r\n
\r\n
\r\n

Phone Number

\r\n

{{ myForm.get('RequestorPhone').value }}

\r\n
\r\n \r\n
\r\n

Email

\r\n

{{ myForm.get('RequestorEmail').value }}

\r\n
\r\n
\r\n
\r\n

Title

\r\n

{{ myForm.get('Title').value }}

\r\n
\r\n
\r\n

Summary

\r\n

{{ myForm.get('Summary').value }}

\r\n
\r\n
\r\n

Notes

\r\n

{{ myForm.get('Notes').value }}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Edit Correspondence

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Please specify when this correspondence was received.\r\n \r\n \r\n The date received must be in the past.\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Please specify when a response is due.\r\n \r\n \r\n The due date must be sometime after today.\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Intake\r\n Assigned\r\n Completed\r\n \r\n \r\n Please specify a status.\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n You must enter the above fields when In/Out type is Incoming.\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Incoming\r\n Outgoing\r\n \r\n \r\n \r\n \r\n \r\n {{p}}\r\n \r\n \r\n Please specify a priority.\r\n \r\n \r\n \r\n \r\n \r\n {{r}}\r\n \r\n \r\n Please specify received method.\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Please select categories for this correspondence.\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ state }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Please specify the correspondence subject or title.\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Please specify the correspondence summary.\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Attachments

\r\n
\r\n
\r\n \r\n \r\n

{{ doc?.Filename }} {{ doc?.Size | prettySize }}

\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

Reviews

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

{{ review.Created | amDateFormat:'MMM DD' }}

\r\n
{{ review.ReviewStatus }}
\r\n
\r\n \r\n
\r\n
\r\n

Reviewer: {{ review.User?.FullName || \"Unknown assignee\" }}

\r\n

{{ review.ReviewText?.substr(0,105) }}{{ review.ReviewText?.length > 105 ? \"...\" : \"\" }}

\r\n

\r\n Documents: \r\n \r\n {{ rd.Document && rd.Document.Filename }} ({{ rd.Document && rd.Document.Size | prettySize }})\r\n \r\n

\r\n
\r\n chevron_right\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { BaseViewModel } from './base-view-model';\r\nimport { IViewModel } from './i-view-model';\r\nimport { endpoint } from '../decorators/endpoint.decorator';\r\nimport { RequestorViewModel } from './requestor-view-model';\r\nimport { mappable } from '../decorators';\r\n\r\n@endpoint(\"contactdetail\")\r\nexport class ContactDetailViewModel extends BaseViewModel {\r\n public RequestorId: number = 0;\r\n public AddressType: string = \"\";\r\n public Phone: string = \"\";\r\n public Email: string = \"\";\r\n public Address1: string = \"\";\r\n public Address2: string = \"\";\r\n public City: string = \"\";\r\n public State: string = \"\";\r\n public Country: string = \"\";\r\n public PostalCode: string = \"\";\r\n public PreferContactBy: string = \"\";\r\n public PrimaryContact: boolean = false;\r\n public Notes: string = \"\";\r\n\r\n /** The person with whom this contact detail record is associated. */\r\n @mappable(\"RequestorViewModel\")\r\n public Requestor: RequestorViewModel;\r\n}\r\n","\r\nimport {debounceTime} from 'rxjs/operators';\r\nimport { Component, OnInit, Inject, Injectable, EventEmitter, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { MatDialogRef, MatDialog } from '@angular/material/dialog';\r\nimport { RepositoryService, RepositoryServiceToken, LogServiceToken } from '../../services';\r\nimport { IRepositoryService, ILogService } from '../../services/i';\r\nimport { IDWViewModel as IdwUser, UserViewModel } from '../../view-models';\r\nimport { IdwFilterViewModel, IdwFilterType } from '../../view-models/filters';\r\nimport { IFilterViewModel } from '../../view-models/filters/i';\r\nimport { ConfirmDialog } from '../../dialogs';\r\n\r\n@Component({\r\n selector: 'app-add-user',\r\n templateUrl: './add-user.component.html',\r\n styleUrls: ['./add-user.component.css']\r\n})\r\nexport class AddUserComponent implements OnInit {\r\n users: IdwUser[] = [];\r\n filter: IdwFilterViewModel = new IdwFilterViewModel();\r\n @Input() keywords: FormControl = new FormControl();\r\n dialogRef: MatDialogRef;\r\n\r\n // http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/\r\n // Regarding subscribe and emit: https://scotch.io/tutorials/angular-2-http-requests-with-observables\r\n // Automapper (if really necessary): https://github.com/loedeman/AutoMapper/wiki\r\n constructor(\r\n @Inject(RepositoryServiceToken) private repo: IRepositoryService,\r\n @Inject(LogServiceToken) private log: ILogService,\r\n public dialog: MatDialog,\r\n private router: Router,\r\n ) {\r\n this.keywords.valueChanges.pipe(\r\n debounceTime(400))\r\n .subscribe(keywords => {\r\n this.filter.Keywords = keywords.split(\" \");\r\n let subscription = this.repo.Page(IdwUser, this.filter)\r\n .subscribe(value => this.users = value);\r\n });\r\n }\r\n\r\n openDialog(message: string): Promise {\r\n this.dialogRef = this.dialog.open(\r\n ConfirmDialog, {\r\n disableClose: false\r\n });\r\n this.dialogRef.componentInstance.title = \"Confirm Add User\";\r\n this.dialogRef.componentInstance.message = message;\r\n\r\n this.dialogRef.afterClosed().subscribe(result => {\r\n this.dialogRef = null;\r\n });\r\n return this.dialogRef.afterClosed().toPromise();\r\n }\r\n\r\n addUser(user: IdwUser) {\r\n this.openDialog(`Add user ${user.First} ${user.Last}?`)\r\n .then(confirm => {\r\n if (confirm) {\r\n let uvm = new UserViewModel();\r\n uvm.HawkId = user.HawkId;\r\n uvm.Email = user.Email;\r\n uvm.First = user.First;\r\n uvm.Middle = user.Middle;\r\n uvm.Last = user.Last;\r\n uvm.Title = user.Title;\r\n uvm.Department = user.Department;\r\n this.repo.Create(UserViewModel, user)\r\n .toPromise()\r\n .then(u => {\r\n this.router.navigate([\"/users\", u.Id]);\r\n })\r\n .catch(e => {\r\n this.log.warn(`Unknown error adding user: ${user.HawkId}`);\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.keywords.setValue(\"\");\r\n }\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\n\r\nconst mapMetadataKey = \"its.appdev.map.decorator\";\r\nexport function mappable(type: string)\r\n{\r\n return (target: Object, propertyKey: string | symbol) => {\r\n let d = Reflect.get(target, mapMetadataKey) || {};\r\n d[propertyKey] = type;\r\n Reflect.set(target, mapMetadataKey, d);\r\n };\r\n}\r\n\r\nexport function getMappableProperties(target: Object)\r\n : { [propKey : string]: string }\r\n{\r\n return Reflect.get(target, mapMetadataKey) || {};\r\n}\r\n","import { map } from 'rxjs/operators';\r\nimport { Injectable, Inject, InjectionToken } from '@angular/core';\r\nimport {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';\r\nimport { getEndpoint } from '../decorators';\r\nimport { BaseViewModel } from '../view-models';\r\nimport { IFilterViewModel } from '../view-models/filters/i';\r\nimport * as Rx from 'rxjs';\r\n\r\nimport { APIBaseURI } from '../app.config.tokens';\r\nimport { AuthenticationService, AuthenticationServiceToken } from './auth.service';\r\nimport { ErrorServiceToken } from './error.service';\r\nimport { MapperServiceToken } from './mapper.service';\r\nimport { IAuthenticationService, IRepositoryService, IMapperService,\r\n IErrorService } from './i';\r\nimport {Observable} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class RepositoryService implements IRepositoryService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject(ErrorServiceToken) private errors: IErrorService,\r\n @Inject(MapperServiceToken) private mapper: IMapperService,\r\n @Inject(AuthenticationServiceToken) private authService: AuthenticationService,\r\n @Inject(APIBaseURI) private baseUri: string) { }\r\n\r\n /** @inheritdoc */\r\n public Page(t: { new (): T }, filter: IFilterViewModel): Rx.Observable {\r\n let uri = `${this.baseUri}/${getEndpoint(t)}/search`;\r\n let params = filter.getAsHttpParams();\r\n let headers = new HttpHeaders();\r\n headers = headers.append('Accept', this.authService.getAccept())\r\n .append('Authorization', 'Bearer ' + this.authService.getToken());\r\n return this.http.get(uri, { headers: headers, params: params }).pipe(\r\n map((res: any) => this.mapper.MapJsonToVMArray(t, res as number), this))\r\n }\r\n\r\n /** @inheritdoc */\r\n public Get(t: { new (): T }, id: number): Rx.Observable {\r\n const uri = `${this.baseUri}/${getEndpoint(t)}/${id}`;\r\n if (id === 0) {\r\n return Rx.Observable.throw(\"Database ids must be >= 1.\");\r\n }\r\n let headers = new HttpHeaders();\r\n const myHeaders = headers.append('Accept', this.authService.getAccept())\r\n .append('Authorization', 'Bearer ' + this.authService.getToken());\r\n return this.http.get(uri, { headers: myHeaders })\r\n .pipe(\r\n map((res: any) => this.mapper.MapJsonToVM(t, res as any), this));\r\n }\r\n\r\n /** @inheritdoc **/\r\n public Lookup(t: { new (): T }, key: string): Rx.Observable {\r\n const uri = `${this.baseUri}/${getEndpoint(t)}/bykey/${key}`;\r\n if (! key) {\r\n return Rx.Observable.throw(\"Database ids must be >= 1.\");\r\n }\r\n\r\n let headers = new HttpHeaders();\r\n const myHeaders = headers.append('Accept', this.authService.getAccept())\r\n .append('Authorization', 'Bearer ' + this.authService.getToken());\r\n return this.http.get(uri, { headers: myHeaders })\r\n .pipe(\r\n map((res: any) => this.mapper.MapJsonToVM(t, res as any), this));\r\n }\r\n\r\n /** @inheritdoc */\r\n public Update(t: { new (): T }, input: T): Rx.Observable {\r\n const uri = `${this.baseUri}/${getEndpoint(t)}`;\r\n if (input.Id === 0) {\r\n return Rx.Observable.throw(\"Database ids must be >= 1.\");\r\n }\r\n let headers = new HttpHeaders();\r\n const myHeaders = headers.append('Accept', this.authService.getAccept())\r\n .append('Authorization', 'Bearer ' + this.authService.getToken());\r\n return this.http.put(uri, input, { headers: myHeaders })\r\n .pipe(\r\n map((res: any) => this.mapper.MapJsonToVM(t, res as any), this));\r\n }\r\n\r\n /** @inheritdoc */\r\n public Create(t: { new (): T }, input: T): Rx.Observable {\r\n let uri = `${this.baseUri}/${getEndpoint(t)}`;\r\n let headers = new HttpHeaders();\r\n const myHeaders = headers.append('Accept', this.authService.getAccept())\r\n .append('Authorization', 'Bearer ' + this.authService.getToken());\r\n if (input instanceof t && input.Id !== 0) {\r\n return Rx.Observable.throw(`Cannot create ${t.name} with pre-existing id ${input.Id}. Did you mean to update?`);\r\n }\r\n return this.http.post(uri, input, { headers: myHeaders })\r\n .pipe(\r\n map((res: any) => this.mapper.MapJsonToVM(t, res as any), this));\r\n }\r\n\r\n public CreateMany(t: { new (): T }, input: T[] | FormData): Rx.Observable {\r\n let uri = `${this.baseUri}/${getEndpoint(t)}`;\r\n let headers = new HttpHeaders();\r\n // if (input.Id !== 0) {\r\n // return Rx.Observable.throw(`Cannot create ${t.name} with pre-existing id ${input.Id}. Did you mean to update?`);\r\n // }\r\n const myHeaders = headers.append('Accept', this.authService.getAccept())\r\n .append('Authorization', 'Bearer ' + this.authService.getToken());\r\n return this.http.post(uri, input, { headers: myHeaders }).pipe(\r\n map((res: any) => this.mapper.MapJsonToVMArray(t, res as any), this));\r\n }\r\n\r\n /** @inheritdoc */\r\n public Delete(t: { new (): T }, id: number): Rx.Observable {\r\n const uri = `${this.baseUri}/${getEndpoint(t)}/${id}`;\r\n if (id === 0) {\r\n return Rx.Observable.throw(`Database ids must be >= 1.`);\r\n }\r\n let headers = new HttpHeaders();\r\n const myHeaders = headers.append('Accept', this.authService.getAccept())\r\n .append('Authorization', 'Bearer ' + this.authService.getToken());\r\n return this.http.delete(uri, { headers: myHeaders }).pipe(\r\n map((res: any) => this.mapper.MapJsonToVM(t, res as any), this));\r\n }\r\n}\r\n\r\nexport let RepositoryServiceToken = new InjectionToken(\"IRepositoryServiceToken\");\r\n","\r\n
\r\n \r\n \r\n

\r\n {{title}}\r\n

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n face\r\n
\r\n {{ user && user.FullName || authService.username }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n X\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
","
\r\n \r\n
\r\n
\r\n
\r\n \r\n

{{ user && user.FullName }}

\r\n
\r\n
\r\n
\r\n

Role

{{ user && user.RolesSummary }}

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Email notifications ON\r\n Email notifications OFF\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { enableProdMode } from '@angular/core';\r\n\r\nimport { environment } from './environments/environment';\r\nimport { AppModule } from './app/app.module';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n","import { OnInit, Inject, Component } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Observable, Observer } from 'rxjs';\r\n\r\n\r\n@Component({\r\n selector: 'download-dialog',\r\n templateUrl: './download.dialog.html',\r\n styleUrls: ['./download.dialog.css']\r\n})\r\n\r\nexport class DownloadDialog implements OnInit {\r\n title: string;\r\n downloadId: number;\r\n message: string;\r\n constructor(\r\n public dialogRef: MatDialogRef\r\n ) {\r\n \r\n //Observable.create()\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\nimport { BaseFilterViewModel } from './base-filter-view-model';\r\n\r\nexport class UserFilterViewModel extends BaseFilterViewModel {\r\n public Type: UserFilterType = UserFilterType.Keywords;\r\n public HawkId: string;\r\n public RoleId: number;\r\n public RoleIds: number[];\r\n\r\n public getAsHttpParams(): HttpParams {\r\n var params = super.getAsHttpParams();\r\n params = params.append('filter.Type', encodeURIComponent(`${this.Type}`));\r\n params = params.append('filter.HawkId', this.HawkId);\r\n params = params.append('filter.RoleId', \"\"+this.RoleId);\r\n for(var i in this.RoleIds)\r\n params = params.append('filter.RoleIds', \"\"+this.RoleIds[i]);\r\n params = params.delete('filter.pageSize');\r\n params = params.append('filter.pageSize', '1000');\r\n return params;\r\n\r\n }\r\n}\r\n\r\nexport enum UserFilterType {\r\n /** Search using the Keywords property across all fields (email, hawkId, etc). */\r\n Keywords = 0x1,\r\n\r\n /** Search using the HawkId field, only. */\r\n HawkId = 0x2,\r\n\r\n /** Return users matching role (if any) and keywords (if any). */\r\n RoleAndKeywords = 0x3,\r\n\r\n /** Return users matching any of the provided Roles and keywords. */\r\n AnyRoleAndKeywords = 0x4\r\n}\r\n"]}