{"version":3,"sources":["app.js","authenticationservice.js","authinterceptorservice.js","usermanualcontroller.js","logtoserver.js","ngEnter.js","ngPwdStrength.js","ngPasswordMatch.js","dataManagementService.js","datamanagementController.js","loginservice.js","logincontroller.js","inviteController.js","usercontroller.js","indexcontroller.js","resetPassword.js","landingController.js","adminLandingController.js","storagemanagementService.js","storagemanagementController.js","internalRegistrationController.js","profileservice.js","profileController.js","userAccountService.js","userAccountController.js","contactUsservice.js","contactUsController.js","userManagementService.js","usermanagementController.js","searchcontroller.js","plotgraphcontroller.js","savedworkspacecontroller.js","assignLicenseController.js","upgradeService.js","upgradeServiceController.js","paymentProcessController.js","paymentDeclineController.js","adminManagementService.js","adminManagementController.js","ngCamelCase.js","ngCaptacha.js","ngSplit.js","updateCCSuccessfulController.js","subscriptionReportService.js","subscriptionReportController.js","common/common.js","common/constants.js","modules/accessOption/accessOptionController.js","modules/directives/ngAffiliation.js","modules/directives/ngDataSetDetails.js","modules/directives/ngDownloadUserReport.js","modules/directives/ngMyDataUpload.js","modules/directives/ngTeamSetup.js","modules/teamManagement/teamManagementController.js","modules/teamManagement/teamManagementService.js","modules/upgradeService/cancelUpdateCCController.js","assets/js/chartData.js","assets/js/chartDataItems.js","assets/js/chartsJS.js","assets/js/chartsJS2.js","assets/js/classie.js","assets/js/clipboard.min.js","assets/js/custom.js","assets/js/dropzone.js","assets/js/index.js","assets/js/intlTelInput.js","assets/js/jquery.visible.min.js","assets/js/jQueryUIScripts.js","assets/js/modernizr.custom.js","assets/js/search.js","assets/js/swipe.js","assets/js/tempchartJS.js","assets/js/textFieldTransition.js","modules/admin/teamManagement/adminTeamManagementController.js","modules/admin/teamManagement/adminTeamManagementService.js","modules/admin/aippTeamRegistration/internalTeamRegistrationController.js","modules/admin/discountCodeManagement/discountCodeManagementController.js","modules/admin/discountCodeManagement/discountCodeManagementService.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACloBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACv4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACj0BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACh3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtkFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtuDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3tCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/TA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACluBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/EA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5hCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACziBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC36BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnmCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtCA;AACA;AACA;AACA;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACziCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5jBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACh4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"app.js","sourcesContent":["var app = angular.module('myApp', ['ngRoute', 'ui.bootstrap', 'ngCookies', 'logToServer', 'ng.deviceDetector', 'rzModule']);\r\napp.config(['$routeProvider', function ($routeProvider) {\r\n\r\n $routeProvider\r\n .when('/', {\r\n redirectTo: '/home'\r\n })\r\n .when('/paymentcancel', {\r\n templateUrl: '../app/modules/upgradeService/paymentDecline.html',\r\n controller: 'paymentDeclineController'\r\n })\r\n .when('/home', {\r\n templateUrl: '../app/modules/home/home.html',\r\n controller: 'indexController'\r\n })\r\n .when('/invite', {\r\n templateUrl: '../app/modules/invite/invite.html',\r\n controller: 'inviteController'\r\n })\r\n .when('/profile', {\r\n templateUrl: '../app/modules/profile/profile.html',\r\n controller: 'profileController'\r\n })\r\n .when('/passwordResetConfirmation', {\r\n templateUrl: '../app/modules/profile/passwordResetConfirmation.html',\r\n controller: 'inviteController'\r\n })\r\n .when('/landing', {\r\n templateUrl: '../app/modules/landing/landing.html',\r\n controller: 'landingController'\r\n })\r\n .when('/registrationsuccess', {\r\n templateUrl: '../app/modules/login/registrationsuccessful.html',\r\n controller: 'registerController'\r\n })\r\n .when('/admin/storagemanagement', {\r\n templateUrl: '../app/modules/admin/storagemanagement/storagemanagement.html',\r\n controller: 'storagemanagementController'\r\n })\r\n .when('/admin/usermanagement', {\r\n templateUrl: '../app/modules/admin/usermanagement/usermanagement.html',\r\n controller: 'usermanagementController'\r\n })\r\n .when('/admin/landing', {\r\n templateUrl: '../app/modules/admin/landing/landing.html',\r\n controller: 'adminLandingController'\r\n })\r\n .when('/welcome/:userId', {\r\n templateUrl: '../app/modules/welcome/welcome.html',\r\n controller: 'registerController'\r\n })\r\n .when('/datamanagement', {\r\n templateUrl: '../app/modules/datamanagement/datamanagement.html',\r\n controller: 'datamanagementController'\r\n })\r\n .when('/datamanagement/:mode', {\r\n templateUrl: '../app/modules/datamanagement/datamanagement.html',\r\n controller: 'datamanagementController'\r\n })\r\n .when('/search', {\r\n templateUrl: '../app/modules/search/search.html',\r\n controller: 'searchcontroller'\r\n })\r\n .when('/teamManagement', {\r\n templateUrl: '../app/modules/teamManagement/teamManagement.html',\r\n controller: 'teamManagementController'\r\n })\r\n .when('/search/:mode', {\r\n templateUrl: '../app/modules/search/search.html',\r\n controller: 'searchcontroller'\r\n })\r\n //.when('/upgradeService', {\r\n // templateUrl: '../app/modules/upgradeService/upgradeService.html',\r\n // controller: 'upgradeServiceController'\r\n //})\r\n .when('/assignlicensekey', {\r\n templateUrl: '../app/modules/upgradeService/assignLicenceKey.html',\r\n controller: 'assignLicenseController'\r\n })\r\n .when('/thankYou', {\r\n templateUrl: '../app/modules/upgradeService/thankYou.html',\r\n controller: 'thankYouController'\r\n })\r\n .when('/licenseThankYou', {\r\n templateUrl: '../app/modules/upgradeService/licenceThankYou.html'\r\n })\r\n .when('/plotgraph', {\r\n templateUrl: '../app/modules/plotgraph/plotgraph.html',\r\n controller: 'plotgraphcontroller'\r\n })\r\n .when('/plotgraph?workspacedid', {\r\n templateUrl: '../app/modules/plotgraph/plotgraph.html',\r\n controller: 'plotgraphcontroller'\r\n })\r\n .when('/login', {\r\n templateUrl: '../app/modules/login/login.html',\r\n controller: 'registerController'\r\n })\r\n .when('/login/:userId', {\r\n templateUrl: '../app/modules/login/login.html',\r\n controller: 'registerController'\r\n })\r\n .when('/register', {\r\n templateUrl: '../app/modules/login/login.html',\r\n controller: 'registerController'\r\n })\r\n .when('/register/:invitedEmail', {\r\n templateUrl: '../app/modules/login/login.html',\r\n controller: 'registerController'\r\n })\r\n .when('/resetPassword/:userId/:resetCode', {\r\n templateUrl: '../app/modules/resetPassword/resetPassword.html',\r\n controller: 'resetPasswordController'\r\n })\r\n .when('/saveuser', {\r\n templateUrl: '../app/modules/user/saveuser.html',\r\n controller: 'usercontroller'\r\n })\r\n\r\n .when('/usermanual', {\r\n templateUrl: '../app/modules/user/usermanual.html',\r\n controller: 'usermanualcontroller'\r\n })\r\n .when('/savedWorkedSpace', {\r\n templateUrl: '../app/modules/workspace/savedworkspace.html',\r\n controller: 'savedworkspacecontroller'\r\n })\r\n .when('/saveworkspace', {\r\n templateUrl: '../app/modules/workspace/saveworkspace.html',\r\n controller: 'savedworkspacecontroller'\r\n })\r\n //.when('/admin/systemAdmins', {\r\n // templateUrl: '../app/modules/admin/adminManagement/adminManagement.html',\r\n // controller: 'adminManagementController'\r\n //})\r\n //.when('/admin/systemAdmins/:userId', {\r\n // templateUrl: '../app/modules/admin/adminManagement/adminManagement.html',\r\n // controller: 'adminManagementController'\r\n //})\r\n .when('/admin/discountCodeManagement', {\r\n templateUrl: '../app/modules/admin/discountCodeManagement/discountCodeManagement.html',\r\n controller: 'discountCodeManagementController'\r\n })\r\n .when('/subscriptionReport', {\r\n templateUrl: '../app/modules/report/subscriptionReport.html',\r\n controller: 'subscriptionReportController'\r\n })\r\n .when('/admin/teamManagement', {\r\n templateUrl: '../app/modules/admin/teamManagement/teamManagement.html',\r\n controller: 'adminTeamManagementController'\r\n })\r\n .when('/notfound', {\r\n templateUrl: '../app/modules/error/notfound.html',\r\n })\r\n .when('/privacypolicy', {\r\n templateUrl: '../app/modules/privacyPolicy/privacypolicy.html',\r\n })\r\n .when('/legal', {\r\n templateUrl: '../app/modules/privacyPolicy/legal.html',\r\n })\r\n .when('/error', {\r\n templateUrl: '../app/modules/error/sorry.html',\r\n })\r\n .when('/idleTimeout', {\r\n templateUrl: '../app/modules/error/idleTimeout.html',\r\n })\r\n .when('/account', {\r\n templateUrl: '../app/modules/account/userAccount.html',\r\n controller: 'userAccountController'\r\n })\r\n .when('/internal', {\r\n templateUrl: '../app/modules/admin/aippEmployeeRegistration/internalRegistration.html',\r\n controller: 'internalRegistrationController'\r\n })\r\n .when('/internalSuperadmin', {\r\n templateUrl: '../app/modules/admin/aippEmployeeRegistration/internalSuperadminRegistration.html',\r\n controller: 'internalRegistrationController'\r\n })\r\n .when('/internalTeam', {\r\n templateUrl: '../app/modules/admin/aippTeamRegistration/internalTeamRegistration.html',\r\n controller: 'internalTeamRegistrationController'\r\n })\r\n .when('/contactUs', {\r\n templateUrl: '../app/modules/contactUs/contactUs.html',\r\n controller: 'contactUsController'\r\n })\r\n .when('/ccupdatesuccess', {\r\n templateUrl: '../app/modules/upgradeService/UpdateCCSuccessful.html',\r\n controller: 'updateCCController'\r\n })\r\n .when('/ccupdatecancel', {\r\n templateUrl: '../app/modules/upgradeService/UpdateCCInformationError.html',\r\n controller: 'cancelUpdateCCController'\r\n })\r\n .when('/payementError', {\r\n templateUrl: '../app/modules/error/paymentError.html',\r\n })\r\n .when('/accessOption', {\r\n templateUrl: '../app/modules/accessOption/accessOption.html',\r\n controller: 'accessOptionController'\r\n })\r\n .when('/accessOption/:accessType', {\r\n templateUrl: '../app/modules/accessOption/accessOption.html',\r\n controller: 'accessOptionController'\r\n })\r\n .when('/indBulkSubscribe/:accessType', {\r\n templateUrl: '../app/modules/accessOption/bulkIndSubscription.html',\r\n controller: 'indBulkPurchaseController'\r\n })\r\n .when('/partner', {\r\n templateUrl: '../app/modules/partner/partners.html'\r\n })\r\n .otherwise({\r\n redirectTo: '/notfound'\r\n });\r\n}])\r\n.config(['$httpProvider', function ($httpProvider) {\r\n $httpProvider.interceptors.push('authInterceptorService');\r\n $httpProvider.interceptors.push('logToServerInterceptor');\r\n $httpProvider.interceptors.push('noCacheInterceptor');\r\n\r\n if (!$httpProvider.defaults.headers.get) {\r\n $httpProvider.defaults.headers.get = {};\r\n }\r\n\r\n $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';\r\n $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';\r\n\r\n\r\n}])\r\n.run(['$route', '$rootScope', '$location', '$cookieStore', '$http', '$window', '$cookies', 'progressBarService',\r\n function ($route, $rootScope, $location, $cookieStore, $http, $window, $cookies, progressBarService) {\r\n\r\n var lastDigestRun = new Date();\r\n setInterval(function () {\r\n var now = Date.now();\r\n\r\n if ($cookies.get('TokenInfo') != undefined) {\r\n if (now - lastDigestRun > 30 * 60 * 1000) {\r\n //logout\r\n var cookies = $cookies.getAll();\r\n angular.forEach(cookies, function (v, k) {\r\n $cookies.remove(k);\r\n });\r\n localStorage.clear();\r\n $rootScope.$broadcast('logoutSuccess', 'true');\r\n $location.path('/idleTimeout');\r\n $rootScope.$apply();\r\n }\r\n }\r\n }, 60 * 1000);\r\n\r\n $rootScope.$watch(function () {\r\n lastDigestRun = new Date();\r\n });\r\n\r\n if ($rootScope.globalConfig == null) {\r\n $.ajax({\r\n url: './assets/misc/config.global.json',\r\n async: false,\r\n type: \"GET\",\r\n dataType: \"json\"\r\n }).success(function (data) {\r\n $rootScope.globalConfig = data;\r\n }).error(function (request, status, error) {\r\n console.log(\"error:\" + error)\r\n });\r\n }\r\n\r\n if ($rootScope.buildConfig == null) {\r\n $.ajax({\r\n url: './assets/misc/build.config.json',\r\n async: false,\r\n type: \"GET\",\r\n dataType: \"json\"\r\n }).success(function (data) {\r\n $rootScope.buildConfig = data;\r\n }).error(function (request, status, error) {\r\n console.log(\"error:\" + error)\r\n });\r\n }\r\n\r\n $rootScope.$on('$routeChangeStart', function (scope, next, current) {\r\n $('.modal').modal('hide');\r\n progressBarService.hideProgressBar();\r\n\r\n var tokenInfo = $cookies.get(\"TokenInfo\");\r\n if ((tokenInfo != undefined) && (tokenInfo != null) && (tokenInfo != \"\")) {\r\n tokenInfo = JSON.parse($cookies.get(\"TokenInfo\"));\r\n $.ajaxSetup({\r\n headers: {\r\n 'Authorization': 'Bearer ' + tokenInfo\r\n }\r\n });\r\n }\r\n\r\n if (current != undefined) {\r\n if (next.$$route.originalPath.indexOf(\"accessOption\") <= 0) {\r\n setLocalValue(\"teamPartyID\", '0');\r\n }\r\n }\r\n\r\n if (current != undefined && current.$$route.originalPath.indexOf('teamManagement') > 0) {\r\n setLocalValue(\"origPath\", \"teamManagement\");\r\n } else if (current != undefined && current.$$route.originalPath.indexOf('usermanagement') > 0) {\r\n setLocalValue(\"origPath\", \"usermanagement\");\r\n }\r\n\r\n if (current != undefined && current.$$route.originalPath.indexOf('plotgraph') > 0) {\r\n setLocalValue(\"isRedirectedFromPlotgraph\", true);\r\n } else {\r\n setLocalValue(\"isRedirectedFromPlotgraph\", false);\r\n }\r\n\r\n if ($location.$$path == '/admin/landing' && getLocalValue('userRole') != 'SAdmin') {\r\n $location.path('/login');\r\n }\r\n else {\r\n if ($location.$$path == '/home') {\r\n $('#eSpectraTitle').hide();\r\n $('#titleNavBar').removeClass('mheight-40px')\r\n $('#titleNavBar').addClass('mheight-5px')\r\n } else {\r\n $('#eSpectraTitle').show();\r\n $('#titleNavBar').addClass('mheight-40px')\r\n $('#titleNavBar').removeClass('mheight-5px')\r\n }\r\n if (next.$$route.originalPath.indexOf(\"login\") >= 0) {\r\n $rootScope.currentTab = 1;\r\n }\r\n else if (next.$$route.originalPath.indexOf(\"register\") >= 0) {\r\n $rootScope.currentTab = 2;\r\n }\r\n\r\n if ($rootScope.globalConfig != null) {\r\n\r\n progressBarService.showProgressBar();\r\n var serviceBase = $rootScope.buildConfig.aippsssApiBaseUrl;\r\n\r\n $http({\r\n method: \"GET\",\r\n url: serviceBase + \"underMaintenance\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n }).success(function (data, headers, status) {\r\n if (data == \"1\" && next.$$route.originalPath.indexOf(\"login\") < 0 && getLocalValue('maintenanceFlag') != \"1\") {\r\n var cookies = $cookies.getAll();\r\n angular.forEach(cookies, function (v, k) {\r\n $cookies.remove(k);\r\n });\r\n localStorage.clear();\r\n $window.location.href = '/app/modules/error/' + $rootScope.globalConfig.underMaintenancePage;\r\n }\r\n\r\n progressBarService.hideProgressBar();\r\n })\r\n }\r\n }\r\n });\r\n }]);\r\n\r\napp.factory('noCacheInterceptor', function () {\r\n return {\r\n request: function (config) {\r\n\r\n if (config.method == 'GET') {\r\n if (config.url.indexOf('html') == -1) {\r\n var separator = config.url.indexOf('?') === -1 ? '?' : '&';\r\n config.url = config.url + separator + 'noCache=' + new Date().getTime();\r\n }\r\n }\r\n\r\n return config;\r\n }\r\n };\r\n});\r\napp.factory(\"progressBarService\", [\"$timeout\", function ($timeout) {\r\n var ua = window.navigator.userAgent;\r\n var msie = ua.indexOf(\"MSIE \");\r\n\r\n return {\r\n\r\n showProgressBar: function () {\r\n\r\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./)) // If Internet Explorer, return version number\r\n {\r\n angular.element(document.getElementsByClassName(\"page-spinnerIE\")).show();\r\n }\r\n else {\r\n angular.element(document.getElementsByClassName(\"page-spinner\")).show();\r\n }\r\n },\r\n\r\n hideProgressBar: function () {\r\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./)) // If Internet Explorer, return version number\r\n {\r\n angular.element(document.getElementsByClassName(\"page-spinnerIE\")).hide();\r\n\r\n }\r\n else {\r\n\r\n angular.element(document.getElementsByClassName(\"page-spinner\")).hide();\r\n }\r\n }\r\n };\r\n}])\r\n\r\napp.directive('sliderRange', ['$document', function ($document) {\r\n\r\n // Move slider handle and range line\r\n var moveHandle = function (handle, elem, posX) {\r\n $(elem).find('.handle.' + handle).css(\"left\", posX + '%');\r\n };\r\n var moveRange = function (elem, posMin, posMax) {\r\n $(elem).find('.range').css(\"left\", posMin + '%');\r\n $(elem).find('.range').css(\"width\", posMax - posMin + '%');\r\n };\r\n\r\n return {\r\n template: '
',\r\n replace: true,\r\n restrict: 'E',\r\n scope: {\r\n valueMin: \"=\",\r\n valueMax: \"=\"\r\n },\r\n link: function postLink(scope, element, attrs) {\r\n // Initilization\r\n var dragging = false;\r\n var startPointXMin = 0;\r\n var startPointXMax = 0;\r\n var xPosMin = 0;\r\n var xPosMax = 0;\r\n var settings = {\r\n \"min\": (typeof (attrs.min) !== \"undefined\" ? parseInt(attrs.min, 10) : 0),\r\n \"max\": (typeof (attrs.max) !== \"undefined\" ? parseInt(attrs.max, 10) : 100),\r\n \"step\": (typeof (attrs.step) !== \"undefined\" ? parseInt(attrs.step, 10) : 1)\r\n };\r\n if (typeof (scope.valueMin) == \"undefined\" || scope.valueMin === '')\r\n scope.valueMin = settings.min;\r\n\r\n if (typeof (scope.valueMax) == \"undefined\" || scope.valueMax === '')\r\n scope.valueMax = settings.max;\r\n\r\n // Track changes only from the outside of the directive\r\n scope.$watch('valueMin', function () {\r\n if (dragging) return;\r\n xPosMin = (scope.valueMin - settings.min) / (settings.max - settings.min) * 100;\r\n if (xPosMin < 0) {\r\n xPosMin = 0;\r\n } else if (xPosMin > 100) {\r\n xPosMin = 100;\r\n }\r\n moveHandle(\"min\", element, xPosMin);\r\n moveRange(element, xPosMin, xPosMax);\r\n });\r\n\r\n scope.$watch('valueMax', function () {\r\n if (dragging) return;\r\n xPosMax = (scope.valueMax - settings.min) / (settings.max - settings.min) * 100;\r\n if (xPosMax < 0) {\r\n xPosMax = 0;\r\n } else if (xPosMax > 100) {\r\n xPosMax = 100;\r\n }\r\n moveHandle(\"max\", element, xPosMax);\r\n moveRange(element, xPosMin, xPosMax);\r\n });\r\n\r\n // Real action control is here\r\n scope.mouseDownMin = function ($event) {\r\n dragging = true;\r\n startPointXMin = $event.pageX;\r\n\r\n // Bind to full document, to make move easiery (not to lose focus on y axis)\r\n $document.on('mousemove', function ($event) {\r\n if (!dragging) return;\r\n\r\n //Calculate handle position\r\n var moveDelta = $event.pageX - startPointXMin;\r\n\r\n xPosMin = xPosMin + ((moveDelta / element.outerWidth()) * 100);\r\n if (xPosMin < 0) {\r\n xPosMin = 0;\r\n } else if (xPosMin > xPosMax) {\r\n xPosMin = xPosMax;\r\n } else {\r\n // Prevent generating \"lag\" if moving outside window\r\n startPointXMin = $event.pageX;\r\n }\r\n scope.valueMin = Math.round((((settings.max - settings.min) * (xPosMin / 100)) + settings.min) / settings.step) * settings.step;\r\n scope.$apply();\r\n\r\n // Move the Handle\r\n moveHandle(\"min\", element, xPosMin);\r\n moveRange(element, xPosMin, xPosMax);\r\n });\r\n $document.mouseup(function () {\r\n dragging = false;\r\n $document.unbind('mousemove');\r\n $document.unbind('mousemove');\r\n });\r\n };\r\n\r\n scope.mouseDownMax = function ($event) {\r\n dragging = true;\r\n startPointXMax = $event.pageX;\r\n\r\n // Bind to full document, to make move easiery (not to lose focus on y axis)\r\n $document.on('mousemove', function ($event) {\r\n if (!dragging) return;\r\n\r\n //Calculate handle position\r\n var moveDelta = $event.pageX - startPointXMax;\r\n\r\n xPosMax = xPosMax + ((moveDelta / element.outerWidth()) * 100);\r\n if (xPosMax > 100) {\r\n xPosMax = 100;\r\n } else if (xPosMax < xPosMin) {\r\n xPosMax = xPosMin;\r\n } else {\r\n // Prevent generating \"lag\" if moving outside window\r\n startPointXMax = $event.pageX;\r\n }\r\n scope.valueMax = Math.round((((settings.max - settings.min) * (xPosMax / 100)) + settings.min) / settings.step) * settings.step;\r\n scope.$apply();\r\n\r\n // Move the Handle\r\n moveHandle(\"max\", element, xPosMax);\r\n moveRange(element, xPosMin, xPosMax);\r\n });\r\n\r\n $document.mouseup(function () {\r\n dragging = false;\r\n $document.unbind('mousemove');\r\n $document.unbind('mousemove');\r\n });\r\n };\r\n }\r\n };\r\n}]);","(function () {\r\n 'use strict';\r\n app.service('AuthenticationService', ['$q', '$cookies',\r\n function ($q, $cookies) {\r\n var tokenInfo;\r\n\r\n this.setTokenInfo = function (data) {\r\n tokenInfo = data;\r\n var expireDate = new Date();\r\n expireDate.setHours(expireDate.getHours() + 3);\r\n document.cookie = \"TokenInfo=\" + encodeURI(JSON.stringify(tokenInfo.accessToken)) + \";\" + \"expires=\" + expireDate.toGMTString() + \";SameSite=None;Secure\";\r\n //commented below code and implemented above because after implementing Osano cookie samesite attribute was set as Lax and that was causing issue in payment flow. so used plain javascript to set none\r\n //$cookies.put(\"TokenInfo\", JSON.stringify(tokenInfo.accessToken), { expires: expireDate });\r\n $cookies.put(\"_rtInf\", tokenInfo.refresh_token, { expires: expireDate });\r\n }\r\n\r\n this.getTokenInfo = function () {\r\n if ($cookies.get(\"TokenInfo\") != undefined) {\r\n tokenInfo = JSON.parse($cookies.get(\"TokenInfo\"));\r\n }\r\n else {\r\n tokenInfo = undefined;\r\n }\r\n return tokenInfo;\r\n }\r\n\r\n this.removeToken = function () {\r\n \r\n tokenInfo = null;\r\n var cookies = $cookies.getAll();\r\n angular.forEach(cookies, function (v, k) {\r\n $cookies.remove(k);\r\n });\r\n\r\n localStorage.clear();\r\n cookies = null;\r\n }\r\n\r\n this.init = function () {\r\n if ($cookies.get(\"TokenInfo\") != undefined) {\r\n tokenInfo = JSON.parse($cookies.get(\"TokenInfo\"));\r\n }\r\n }\r\n\r\n this.setHeader = function (http) {\r\n delete http.defaults.headers.common['X-Requested-With'];\r\n if ((tokenInfo != undefined) && (tokenInfo != null) && (tokenInfo != \"\")) {\r\n http.defaults.headers.common['Authorization'] = 'Bearer ' + tokenInfo;\r\n http.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';\r\n }\r\n }\r\n\r\n this.init();\r\n }\r\n ]);\r\n})();","(function () {\r\n 'use strict';\r\n app.factory('authInterceptorService', ['$q', '$location', '$rootScope', '$window', 'AuthenticationService', function ($q, $location, $rootScope, $window, AuthenticationService) {\r\n\r\n var authInterceptorServiceFactory = {};\r\n\r\n var _request = function (config) {\r\n\r\n config.headers = config.headers || {};\r\n\r\n var authData = AuthenticationService.getTokenInfo();\r\n if (authData) {\r\n config.headers.Authorization = 'Bearer ' + authData;\r\n }\r\n\r\n return config;\r\n }\r\n\r\n var _responseError = function (rejection) {\r\n switch (rejection.status) {\r\n case 401:\r\n AuthenticationService.removeToken();\r\n $rootScope.$broadcast('logoutSuccess', 'true');\r\n $location.path('/login');\r\n break;\r\n case 404:\r\n if ($rootScope.globalConfig.notfoundPage == undefined || $rootScope.globalConfig.notfoundPage == null || $rootScope.globalConfig.notfoundPage == '') {\r\n $location.path(\"/notfound\");\r\n }\r\n else {\r\n $window.location.href = '../app/modules/error/' + $rootScope.globalConfig.notfoundPage;\r\n }\r\n break;\r\n case 503:\r\n if ($rootScope.globalConfig.errorPage == undefined || $rootScope.globalConfig.errorPage == null || $rootScope.globalConfig.errorPage == '') {\r\n $location.path(\"/error\");\r\n }\r\n else {\r\n $window.location.href = '../app/modules/error/' + $rootScope.globalConfig.errorPage;\r\n }\r\n break;\r\n default:\r\n // $location.path('/error');\r\n break;\r\n }\r\n\r\n return $q.reject(rejection);\r\n }\r\n\r\n authInterceptorServiceFactory.request = _request;\r\n authInterceptorServiceFactory.responseError = _responseError;\r\n\r\n return authInterceptorServiceFactory;\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n app.controller('usermanualcontroller', ['$scope', 'progressBarService', '$location', '$cookies', '$rootScope', '$timeout', function ($scope, progressBarService, $location, $cookies, $rootScope, $timeout) {\r\n\r\n //if ($rootScope.globalConfig.adminUser == undefined || $rootScope.globalConfig.adminUser != $cookies.get(\"userName\")) {\r\n // $location.path(\"/notfound\");\r\n // return false;\r\n //}\r\n $scope.isAuthenticated = getLocalValue(\"isAuthenticated\");\r\n\r\n\r\n }]);\r\n})();","(function () {\r\n 'use strict'\r\n\r\n // Create new module logToServer with new $log service\r\n angular.module('logToServer', [])\r\n // Make AngularJS do JavaScript logging through JSNLog so we can log to the server by replacing the $log service\r\n .service('$log', function () {\r\n this.log = function (msg) {\r\n JL('Angular').trace(msg);\r\n }\r\n this.debug = function (msg) {\r\n JL('Angular').debug(msg);\r\n }\r\n this.info = function (msg) {\r\n JL('Angular').info(msg);\r\n }\r\n this.warn = function (msg) {\r\n JL('Angular').warn(msg);\r\n }\r\n this.error = function (msg) {\r\n JL('Angular').error(msg);\r\n }\r\n\r\n JL.setOptions({\r\n 'defaultAjaxUrl': 'LogDetails.aspx',\r\n 'requestId': window.location.pathname.split(\"/\").pop()\r\n })\r\n })\r\n // Replace the factory that creates the standard $exceptionHandler service\r\n .factory('$exceptionHandler', function () {\r\n return function (exception, cause) {\r\n JL().log(4000, { 'stack': exception.stack, 'error': exception.message });\r\n //throw exception;\r\n };\r\n })\r\n // Add a factory to create the interceptor to the logToServer module\r\n .factory('logToServerInterceptor', ['$q', function ($q) {\r\n var myInterceptor = {\r\n // The request function is called before the AJAX request is sent\r\n 'request': function (config) {\r\n config.msBeforeAjaxCall = new Date().getTime();\r\n return config;\r\n },\r\n // The response function is called after receiving a good response from the server\r\n 'response': function (response) {\r\n var msAfterAjaxCall = new Date().getTime();\r\n var timeTakenInMs = msAfterAjaxCall - response.config.msBeforeAjaxCall;\r\n JL('Angular.Ajax').info({\r\n url: response.config.url,\r\n timeTakenInMs: timeTakenInMs\r\n });\r\n return response;\r\n },\r\n // The responseError function is called when an error response was received, or when a timeout happened.\r\n 'responseError': function (rejection) {\r\n var errorMessage = \"unknown\";\r\n JL('Angular.Ajax').fatalException({\r\n status: rejection.status,\r\n url: rejection.config.url,\r\n errorMessage: (rejection.data != null) ? rejection.data.error : rejection.data\r\n });\r\n return $q.reject(rejection);\r\n }\r\n };\r\n return myInterceptor;\r\n }]);\r\n\r\n})();","(function () {\r\n 'use strict';\r\n\r\n app.directive('ngEnter', function () {\r\n return function (scope, element, attrs) {\r\n element.bind(\"keydown keypress\", function (event) {\r\n if (event.which === 13) {\r\n scope.$apply(function () {\r\n scope.$eval(attrs.ngEnter);\r\n });\r\n\r\n event.preventDefault();\r\n }\r\n });\r\n };\r\n });\r\n\r\n app.directive('myDatePicker', ['$timeout', function($timeout){\r\n return {\r\n restrict: 'A', \r\n link: function(scope, elem, attrs){\r\n $timeout(function(){ \r\n $(elem).daterangepicker({\r\n singleDatePicker: true,\r\n showDropdowns: true,\r\n minDate: new Date(),\r\n locale: {\r\n format: 'MM-DD-YYYY'\r\n }\r\n });\r\n });\r\n }\r\n };\r\n }]);\r\n\r\n app.directive('dontAllowSpecial', function () {\r\n function link(scope, elem, attrs, ngModel) {\r\n ngModel.$parsers.push(function (viewValue) {\r\n var reg = /^[^`~!@#$%\\^&*()_+={}|[\\]\\\\:';\"<>?,./]*$/;\r\n // if view values matches regexp, update model value\r\n if (viewValue.match(reg)) {\r\n return viewValue;\r\n }\r\n // keep the model value as it is\r\n var transformedValue = ngModel.$modelValue;\r\n ngModel.$setViewValue(transformedValue);\r\n ngModel.$render();\r\n return transformedValue;\r\n });\r\n }\r\n\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: link\r\n };\r\n });\r\n\r\n app.directive('dontAllowSpecialCharsInInst', function () {\r\n function link(scope, elem, attrs, ngModel) {\r\n ngModel.$parsers.push(function (viewValue) {\r\n var reg = /^[^`~!@#$%^&*_\\-\\+={}|[\\]:';\"<>?,]*$/;\r\n // if view values matches regexp, update model value\r\n if (viewValue.match(reg)) {\r\n return viewValue;\r\n }\r\n // keep the model value as it is\r\n var transformedValue = ngModel.$modelValue;\r\n ngModel.$setViewValue(transformedValue);\r\n ngModel.$render();\r\n return transformedValue;\r\n });\r\n }\r\n\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: link\r\n };\r\n });\r\n\r\n app.directive('dontAllowSpecialNumbers', function () {\r\n function link(scope, elem, attrs, ngModel) {\r\n ngModel.$parsers.push(function (viewValue) {\r\n var reg = /^[^`~!@#$%\\^&*()_+={}|[\\]\\\\:';\"<>?,./0-9]*$/;\r\n // if view values matches regexp, update model value\r\n if (viewValue.match(reg)) {\r\n return viewValue;\r\n }\r\n // keep the model value as it is\r\n var transformedValue = ngModel.$modelValue;\r\n ngModel.$setViewValue(transformedValue);\r\n ngModel.$render();\r\n return transformedValue;\r\n });\r\n }\r\n\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: link\r\n };\r\n });\r\n\r\n app.directive('alphabetsWithOnlyOneSpace', function () {\r\n function link(scope, elem, attrs, ngModel) {\r\n ngModel.$parsers.push(function (viewValue) {\r\n var reg = /^([a-zA-Z]+\\s?)[a-zA-Z]*$/;\r\n // if view values matches regexp, update model value\r\n if (reg.test(viewValue) || viewValue == \"\") {\r\n return viewValue;\r\n }\r\n // keep the model value as it is\r\n var transformedValue = ngModel.$modelValue;\r\n ngModel.$setViewValue(transformedValue);\r\n ngModel.$render();\r\n return transformedValue;\r\n });\r\n }\r\n\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: link\r\n };\r\n });\r\n\r\n app.directive('alphabetsWithOnlyOneSpaceHyphen', function () {\r\n function link(scope, elem, attrs, ngModel) {\r\n ngModel.$parsers.push(function (viewValue) {\r\n var reg = /^[a-zA-Z](?!.*-.*-.*)(?!.*\\s.*\\s.*)[a-zA-Z- ]*$/;\r\n // if view values matches regexp, update model value\r\n if (reg.test(viewValue) || viewValue == \"\") {\r\n return viewValue;\r\n }\r\n // keep the model value as it is\r\n var transformedValue = ngModel.$modelValue;\r\n ngModel.$setViewValue(transformedValue);\r\n ngModel.$render();\r\n return transformedValue;\r\n });\r\n }\r\n\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: link\r\n };\r\n });\r\n\r\n app.directive('allowOnlyDigits', function () {\r\n function link(scope, elem, attrs, ngModel) {\r\n ngModel.$parsers.push(function (viewValue) {\r\n var reg = /^\\d*$/;\r\n // if view values matches regexp, update model value\r\n if (viewValue.match(reg) || viewValue == \"\") {\r\n return viewValue;\r\n }\r\n // keep the model value as it is\r\n var transformedValue = ngModel.$modelValue;\r\n ngModel.$setViewValue(transformedValue);\r\n ngModel.$render();\r\n return transformedValue;\r\n });\r\n }\r\n\r\n return {\r\n restrict: 'A',\r\n require: 'ngModel',\r\n link: link\r\n };\r\n });\r\n})();","(function () {\r\n 'use strict';\r\n\r\n app.directive('ngPwdStrength', function () {\r\n return {\r\n replace: false,\r\n restrict: 'EACM',\r\n link: function (scope, iElement, iAttrs) {\r\n\r\n var strength = {\r\n colors: ['#F00', '#F90', '#FF0', '#9F0', '#0F0'],\r\n mesureStrength: function (p) {\r\n\r\n var _force = 0;\r\n var _regex = /[!@#$%^&*()_+=-]/g;\r\n\r\n var _lowerLetters = /[a-z]+/.test(p);\r\n var _upperLetters = /[A-Z]+/.test(p);\r\n var _numbers = /[0-9]+/.test(p);\r\n var _symbols = _regex.test(p);\r\n\r\n var _flags = [_upperLetters, _numbers, _symbols];\r\n var _passedMatches = $.grep(_flags, function (el) { return el === true; }).length;\r\n\r\n _force += 2 * p.length + ((p.length >= 10) ? 1 : 0);\r\n _force += _passedMatches * 10;\r\n\r\n // penality (short password)\r\n //_force = (p.length <= 6) ? Math.min(_force, 10) : _force;\r\n\r\n // penality (poor variety of characters)\r\n _force = (_passedMatches == 0) ? 0 : _force;\r\n _force = (_passedMatches == 1) ? Math.min(_force, 10) : _force;\r\n _force = (_passedMatches == 2) ? Math.min(_force, 20) : _force;\r\n _force = (_passedMatches == 3) ? Math.min(_force, 30) : _force;\r\n _force = (_passedMatches == 3 && p.length >= 7 && p.length < 20) ? 40 : _force;\r\n _force = (_passedMatches == 3 && p.length >= 20) ? 50 : _force;\r\n\r\n return _force;\r\n\r\n },\r\n getColor: function (s) {\r\n\r\n var idx = 0;\r\n if (s <= 10) { idx = 0; }\r\n else if (s <= 20) { idx = 1; }\r\n else if (s <= 30) { idx = 2; }\r\n else if (s <= 40) { idx = 3; }\r\n else { idx = 4; }\r\n\r\n return { idx: idx + 1, col: this.colors[idx] };\r\n\r\n }\r\n };\r\n\r\n scope.$watch(iAttrs.ngPwdStrength, function () {\r\n if (scope.profileData.registeredPassword === undefined || scope.profileData.registeredPassword === '') {\r\n iElement.css({ \"display\": \"none\" });\r\n } else {\r\n var c = strength.getColor(strength.mesureStrength(scope.profileData.registeredPassword));\r\n iElement.css({ \"display\": \"inline\" });\r\n\r\n var inlineMessage = '';\r\n if(c.col=='#F00')\r\n {\r\n inlineMessage = \"Non Complaint\";\r\n }\r\n else if(c.col=='#F90')\r\n {\r\n inlineMessage = \"Very Weak\";\r\n }\r\n else if(c.col=='#FF0')\r\n {\r\n inlineMessage = \"Weak\";\r\n }\r\n else if(c.col=='#9F0')\r\n {\r\n inlineMessage = \"Strong\";\r\n }\r\n else if(c.col=='#0F0')\r\n {\r\n inlineMessage = \"Very Strong\";\r\n }\r\n iElement.children('li')\r\n .css({ \"background\": \"#DDD\" })\r\n .slice(0, c.idx)\r\n .css({ \"background\": c.col });\r\n\r\n iElement.children('b')[0].innerText = inlineMessage;\r\n iElement.children('b').css({ \"color\": \"#016396\" });\r\n\r\n }\r\n });\r\n\r\n },\r\n template: ''\r\n };\r\n\r\n });\r\n})();","var compareTo = function () {\r\n return {\r\n require: \"ngModel\",\r\n scope: {\r\n otherModelValue: \"=compareTo\"\r\n },\r\n link: function (scope, element, attributes, ngModel) {\r\n\r\n ngModel.$validators.compareTo = function (modelValue) {\r\n return modelValue == scope.otherModelValue;\r\n };\r\n\r\n scope.$watch(\"otherModelValue\", function () {\r\n ngModel.$validate();\r\n });\r\n }\r\n };\r\n};\r\n\r\napp.directive(\"compareTo\", compareTo);","(function () {\r\n 'use strict';\r\n app.service('DataManagementService', ['$http', '$q', '$rootScope',\r\n function ($http, $q, $rootScope) {\r\n\r\n var serviceBase = $rootScope.buildConfig.aippsssApiBaseUrl;\r\n var deviceInfo = [];\r\n var deferred;\r\n\r\n this.getFiles = function (userName) {\r\n\r\n deferred = $q.defer();\r\n $http.get(serviceBase + \"api/datamanagement/data\").then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.uploadFile = function (data) {\r\n deferred = $q.defer();\r\n\r\n $http.post(serviceBase + \"api/datamanagement/upload\", data, {\r\n headers: { 'Content-Type': undefined }\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n this.updateDatamanagement = function (data) {\r\n deferred = $q.defer();\r\n\r\n $http.post(serviceBase + \"api/datamanagement/updateDatamanagement\", data)\r\n .then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n this.deleteFile = function (ids, files) {\r\n deferred = $q.defer();\r\n\r\n $http.post(serviceBase + \"api/datamanagement/delete?ids=\" + ids + \"&files=\" + files)\r\n .then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n this.getObjectByObjectID = function (objectId) {\r\n deferred = $q.defer();\r\n\r\n $http.get(serviceBase + \"api/datamanagement/getObjectByObjectID?objectId=\" + objectId)\r\n .then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n this.getUserStorageCapacityByID = function () {\r\n deferred = $q.defer();\r\n\r\n $http.get(serviceBase + \"api/datamanagement/getUserStorageCapacity\")\r\n .then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n }\r\n ]);\r\n})();","(function () {\r\n //'use strict';\r\n app.controller('datamanagementController', ['DataManagementService', 'storeUploadService', '$scope', '$location', '$cookies', 'progressBarService', '$rootScope', '$timeout', '$routeParams', function (dataManagementService, storeUploadService, $scope, $location, $cookies, progressBarService, $rootScope, $timeout, $routeParams) {\r\n\r\n if ($cookies.get('TokenInfo') == undefined || localStorage.getItem('appInfo') == undefined) {\r\n $location.path('/login');\r\n return\r\n }\r\n $scope.showSavebtn = true;\r\n if ($routeParams.share) {\r\n $scope.showsharelegend = true;\r\n }\r\n\r\n if ($routeParams.mode == \"team\") {\r\n $scope.activeTab = 2;\r\n } else {\r\n $scope.activeTab = 1;\r\n }\r\n $scope.SelectedObjectID = 0;\r\n $scope.checkBoxChecked = false;\r\n\r\n $scope.totalNumberRecords = 0;\r\n $scope.currentPage = 1;\r\n $scope.teamCurrentPage = 1;\r\n\r\n $scope.pagingInfo = {\r\n pageNo: 1,\r\n itemsPerPage: 1,\r\n sortBy: 'eSpectraObjectUploadedDate',\r\n reverse: true\r\n };\r\n\r\n $scope.teamPagingInfo = {\r\n pageNo: 1,\r\n itemsPerPage: 1,\r\n sortBy: 'eSpectraObjectUploadedDate',\r\n reverse: true\r\n };\r\n\r\n $scope.setTab = function (tabNum) {\r\n $scope.checkBoxChecked = false;\r\n $('#chkAll').prop('checked', '');\r\n $('#chkTeamAll').prop('checked', '');\r\n $('.chk').prop('checked', '');\r\n $('.chkTeam').prop('checked', '');\r\n $scope.activeTab = tabNum;\r\n }\r\n $scope.isSet = function (tabNum) {\r\n return $scope.activeTab == tabNum;\r\n }\r\n\r\n $scope.sort = function (sortBy) {\r\n if (sortBy === $scope.pagingInfo.sortBy) {\r\n $scope.pagingInfo.reverse = !$scope.pagingInfo.reverse;\r\n } else {\r\n $scope.pagingInfo.sortBy = sortBy;\r\n $scope.pagingInfo.reverse = false;\r\n }\r\n };\r\n\r\n $scope.teamSort = function (sortBy) {\r\n if (sortBy === $scope.teamPagingInfo.sortBy) {\r\n $scope.teamPagingInfo.reverse = !$scope.teamPagingInfo.reverse;\r\n } else {\r\n $scope.teamPagingInfo.sortBy = sortBy;\r\n $scope.teamPagingInfo.reverse = false;\r\n }\r\n };\r\n\r\n $scope.setPage = function (pageNo) {\r\n $scope.currentPage = pageNo;\r\n };\r\n\r\n $scope.teamSetPage = function (pageNo) {\r\n $scope.teamCurrentPage = pageNo;\r\n };\r\n\r\n //var hideMessage = function () {\r\n\r\n // $scope.isError = false;\r\n // $scope.isSuccess = false;\r\n // $scope.isModalError = false;\r\n // $scope.isModalSuccess = false;\r\n\r\n //}\r\n\r\n $scope.isPrimaryAdmin = getLocalValue('userRole').toLowerCase() == \"primary administrator\" ? true : false;\r\n\r\n $scope.isSysAdmin = getLocalValue('userRole').toLowerCase() == \"sadmin\" ? true : false;\r\n\r\n $('#referencedArticle').keyup(function () {\r\n var _this = $(this);\r\n storeUploadService.validateReferenceArticle(_this, $scope);\r\n })\r\n\r\n $scope.getData = function () {\r\n progressBarService.showProgressBar();\r\n $('#chkAll').prop(\"checked\", '');\r\n $('#chkTeamAll').prop(\"checked\", '');\r\n dataManagementService.getFiles().then(function (response) {\r\n if (response != null && response.data.message != undefined) {\r\n $scope.message = response.data.message;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n\r\n //$timeout(hideMessage, 10000);\r\n\r\n }\r\n else {\r\n $scope.setTab($scope.activeTab);\r\n $scope.dataManagementDetails = response.data;\r\n\r\n //if ($scope.isSysAdmin) {\r\n // $scope.isTeamMember = $scope.isSysAdmin ? true : $scope.dataManagementDetails.isTeamMember;\r\n //} else if ($scope.isPrimaryAdmin) {\r\n // $scope.isTeamMember = $scope.isPrimaryAdmin ? true : $scope.dataManagementDetails.isTeamMember;\r\n //} else {\r\n $scope.isTeamMember = $scope.isPrimaryAdmin ? true : $scope.dataManagementDetails.isTeamMember;\r\n //}\r\n\r\n\r\n $scope.totalNumberRecords = $scope.dataManagementDetails.dataManagementFiles.length;\r\n $scope.totalNumberTeamRecords = $scope.dataManagementDetails.teamManagementFiles.length;\r\n }\r\n $scope.checkBoxChecked = false;\r\n progressBarService.hideProgressBar();\r\n });\r\n };\r\n\r\n $scope.openUploadModel = function () {\r\n $scope.clear();\r\n $scope.showSavebtn = true;\r\n $scope.isEditData = false;\r\n $scope.validDOI = true;\r\n $scope.isDisableStep1 = false;\r\n $scope.isDisableStep2 = true;\r\n $scope.isDisableStep3 = true;\r\n $('#fileStatus').text('No file selected.');\r\n var name = getLocalValue(\"fullName\").split(' ');\r\n\r\n $('#firstName').val(name[0]);\r\n $('#lastName').val(name[1]);\r\n\r\n $scope.dataManagement.FirstName = name[0];\r\n $scope.dataManagement.LastName = name[1];\r\n\r\n\r\n $('#upload').modal('show');\r\n }\r\n $scope.clear = function () {\r\n $scope.message = '';\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n\r\n $scope.modalMessage = '';\r\n $scope.isModalError = false;\r\n $scope.isModalSuccess = false;\r\n\r\n $scope.FileSelected = false;\r\n $scope.files = [];\r\n\r\n $scope.isDisableStep1 = false;\r\n $scope.isDisableStep2 = true;\r\n $scope.isDisableStep3 = true;\r\n\r\n $scope.SelectedObjectID = 0;\r\n\r\n $(\"input[type=file]\").val('').clone(true);\r\n $('.border-red').removeClass('border-red');\r\n\r\n $scope.dataManagementValues();\r\n\r\n $scope.dataManagementUpload.$setPristine();\r\n $scope.dataManagementUpload.$setUntouched();\r\n }\r\n\r\n $scope.dataManagementValues = function () {\r\n $scope.dataManagement = {\r\n HostMaterial: \"\",\r\n ChemicalName: \"\",\r\n ReferencedArticle: \"\",\r\n Techinque: \"\",\r\n FirstName: \"\",\r\n LastName: \"\",\r\n Description: \"\",\r\n eSpectraObjectDOI: \"\",\r\n eSpectraObjectCalibration: '',\r\n TotalAllocatedSize: '',\r\n UsedSize: '',\r\n MaximumUploadSize: '',\r\n CasRegistryNumber: ''\r\n }\r\n $scope.dataManagement.FileShare = \"private\";\r\n $scope.dataManagement.isPublic = 0;\r\n }\r\n\r\n $scope.EditData = function (objectData) {\r\n $scope.clear();\r\n $scope.isEditData = true;\r\n $scope.validDOI = true;\r\n\r\n $scope.isDisableStep1 = true;\r\n $scope.isDisableStep2 = true;\r\n $scope.isDisableStep3 = false;\r\n\r\n if ($scope.activeTab == 2) {\r\n $scope.showSavebtn = $scope.isPrimaryAdmin;\r\n } else {\r\n $scope.showSavebtn = true;\r\n }\r\n $scope.eSpectraObjectID = objectData.eSpectraObjectID;\r\n $scope.eSpectraObjectDataSetName = objectData.eSpectraObjectDataSetName;\r\n $scope.dataManagement.HostMaterial = objectData.eSpectraSpecimenHostMaterial;\r\n $scope.dataManagement.ChemicalName = objectData.eSpectraSpecimenChemicalName;\r\n $scope.dataManagement.ReferencedArticle = objectData.eSpectraObjectDOI;\r\n $scope.dataManagement.Techinque = objectData.eSpectraObjectTechnique;\r\n $scope.dataManagement.Description = objectData.eSpectraObjectComment;\r\n $scope.dataManagement.FirstName = objectData.firstName;\r\n $scope.dataManagement.LastName = objectData.lastName;\r\n $scope.dataManagement.eSpectraObjectCalibration = objectData.eSpectraObjectCalibration;\r\n $scope.dataManagement.FileShare = objectData.eSpectraObjectShareType.toLowerCase();\r\n $scope.dataManagement.isPublic = objectData.eSpectraObjectShareType.toLowerCase() == \"public\" ? 1 : 0;\r\n $scope.dataManagement.CasRegistryNumber = objectData.eSpectraCasRegistryNum;\r\n\r\n $('#upload').modal('show');\r\n }\r\n\r\n $scope.getData();\r\n\r\n $scope.onFileShareSelected = function (value) {\r\n storeUploadService.onFileShareSelected(value);\r\n };\r\n\r\n $scope.onFileCitedSelected = function (value) {\r\n var flag = false;\r\n for (var key in $scope.FileCited) {\r\n if ($scope.FileCited[key]) {\r\n flag = true;\r\n }\r\n }\r\n\r\n if (value == 'Y' && $scope.FileCited.Yes == true && $scope.FileCited.No == true) {\r\n $scope.FileCited.No = false;\r\n } else if (value == 'N' && $scope.FileCited.Yes == true && $scope.FileCited.No == true) {\r\n $scope.FileCited.Yes = false;\r\n }\r\n\r\n if (!flag) {\r\n $scope.FileCited = undefined;\r\n }\r\n };\r\n\r\n $scope.ValidateUploadDataManagement = function () {\r\n var returnVal = true;\r\n if (!$scope.isEditData) {\r\n if ($scope.files.length == 0) {\r\n $(\"#browse\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n }\r\n\r\n if (angular.element(\"#chemicalName\").val() != '') {\r\n $(\"#chemicalName\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#chemicalName\").focus();\r\n }\r\n $(\"#chemicalName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (angular.element(\"#technique\").val() != '') {\r\n $(\"#technique\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#technique\").focus();\r\n }\r\n $(\"#technique\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (angular.element(\"#firstName\").val() != '') {\r\n $(\"#firstName\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#firstName\").focus();\r\n }\r\n $(\"#firstName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (angular.element(\"#lastName\").val() != '') {\r\n $(\"#lastName\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#lastName\").focus();\r\n }\r\n $(\"#lastName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (!returnVal) {\r\n this.dataManagementUpload.$dirty = true;\r\n this.dataManagementUpload.chemicalName.$dirty = true;\r\n this.dataManagementUpload.technique.$dirty = true;\r\n this.dataManagementUpload.firstName.$dirty = true;\r\n this.dataManagementUpload.lastName.$dirty = true;\r\n }\r\n return returnVal;\r\n }\r\n\r\n $scope.uploadFile = function () {\r\n if ($scope.ValidateUploadDataManagement()) {\r\n progressBarService.showProgressBar();\r\n var data = new FormData();\r\n data.append(\"file\", $scope.files[0]);\r\n data.append(\"eSpectraSpecimenHostMaterial\", $scope.dataManagement.HostMaterial);\r\n data.append(\"eSpectraSpecimenChemicalName\", $scope.dataManagement.ChemicalName);\r\n data.append(\"ReferencedArticle\", $scope.dataManagement.ReferencedArticle);\r\n data.append(\"eSpectraObjectTechnique\", $scope.dataManagement.Techinque);\r\n data.append(\"eSpectraObjectDesc\", $scope.dataManagement.Description);\r\n data.append(\"FirstName\", $scope.dataManagement.FirstName);\r\n data.append(\"LastName\", $scope.dataManagement.LastName);\r\n data.append(\"eSpectraObjectDOI\", $scope.dataManagement.eSpectraObjectDOI);\r\n data.append(\"eSpectraObjectCalibration\", $scope.dataManagement.eSpectraObjectCalibration);\r\n data.append(\"eSpectraObjectShareType\", $scope.dataManagement.FileShare);\r\n data.append(\"eSpectraCasRegistryNum\", $scope.dataManagement.CasRegistryNumber);\r\n\r\n dataManagementService.uploadFile(data).then(function (response) {\r\n\r\n if (response != null && response.data.message != undefined) {\r\n $scope.modalMessage = response.data.message;\r\n $scope.isModalError = true;\r\n $scope.isModalSuccess = false;\r\n progressBarService.hideProgressBar();\r\n //$timeout(hideMessage, 10000);\r\n }\r\n else {\r\n\r\n //var data = JSON.parse(response.data);\r\n var data = response.data.status;\r\n if (data) {\r\n $scope.isError = false;\r\n $scope.isSuccess = true;\r\n $scope.message = GetMessage.dataUploadedSuccessfully;\r\n }\r\n else {\r\n $scope.message = GetMessage.UploadFileIntoElasticSearchFailed;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n }\r\n\r\n //$timeout(hideMessage, 10000);\r\n $('#upload').modal('toggle');\r\n $('.border-red').removeClass('border-red');\r\n $scope.getData();\r\n progressBarService.hideProgressBar();\r\n }\r\n });\r\n }\r\n };\r\n\r\n $scope.update = function () {\r\n if ($scope.ValidateUploadDataManagement()) {\r\n progressBarService.showProgressBar();\r\n\r\n data = {\r\n eSpectraObjectID: $scope.eSpectraObjectID,\r\n eSpectraObjectDataSetName: $scope.eSpectraObjectDataSetName,\r\n eSpectraSpecimenHostMaterial: $scope.dataManagement.HostMaterial,\r\n eSpectraSpecimenChemicalName: $scope.dataManagement.ChemicalName,\r\n ReferencedArticle: $scope.dataManagement.ReferencedArticle,\r\n eSpectraObjectTechnique: $scope.dataManagement.Techinque,\r\n eSpectraObjectDesc: $scope.dataManagement.Description,\r\n FirstName: $scope.dataManagement.FirstName,\r\n LastName: $scope.dataManagement.LastName,\r\n //eSpectraLastUpdateUserID: $cookies.get(\"UserId\"),\r\n eSpectraObjectDOI: $scope.dataManagement.ReferencedArticle,\r\n eSpectraObjectCalibration: $scope.dataManagement.eSpectraObjectCalibration,\r\n eSpectraObjectShareType: $scope.dataManagement.FileShare,\r\n eSpectraCasRegistryNum: $scope.dataManagement.CasRegistryNumber\r\n }\r\n\r\n dataManagementService.updateDatamanagement(data).then(function (response) {\r\n if (response != null && response.data.message != undefined) {\r\n $scope.modalMessage = response.data.message;\r\n $scope.isModalError = true;\r\n $scope.isModalSuccess = false;\r\n progressBarService.hideProgressBar();\r\n //$timeout(hideMessage, 10000);\r\n }\r\n else {\r\n\r\n //var data = JSON.parse(response.data);\r\n if (response.data) {\r\n $scope.isError = false;\r\n $scope.isSuccess = true;\r\n $scope.message = GetMessage.dataUpdatedSuccessfully;\r\n }\r\n else {\r\n $scope.message = GetMessage.UploadFileIntoElasticSearchFailed;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n }\r\n\r\n //$timeout(hideMessage, 10000);\r\n $('#upload').modal('toggle');\r\n $('.border-red').removeClass('border-red');\r\n $scope.getData();\r\n\r\n }\r\n progressBarService.hideProgressBar();\r\n });\r\n }\r\n };\r\n\r\n $scope.deleteValidate = function (data) {\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n $scope.message = '';\r\n $(\"#confirmDelete\").modal('toggle');\r\n $(\"#data-del-no-btn\").focus();\r\n\r\n $scope.objects = [];\r\n $scope.fileNames = [];\r\n\r\n $scope.objects.push(data.eSpectraObjectID);\r\n $scope.fileNames.push(data.eSpectraObjectDataSetName);\r\n }\r\n\r\n $scope.compareValidate = function () {\r\n var checkedCheckboxes;\r\n if ($scope.activeTab == 1) {\r\n checkedCheckboxes = $('.chk:checked');\r\n } else\r\n if ($scope.activeTab == 2) {\r\n checkedCheckboxes = $('.chkTeam:checked');\r\n }\r\n var compareDataList = [];\r\n $rootScope.compareStoreData = [];\r\n if (checkedCheckboxes.length <= 0) {\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n //$timeout(hideMessage, 10000);\r\n $scope.message = GetMessage.selectRecordsToCompare;\r\n return false;\r\n } else {\r\n $.each(checkedCheckboxes, function (index, value) {\r\n var compareDataArray = {\r\n eSpectraObjectID: $(this).val(),\r\n eSpectraObjectDataSetName: $(this).attr('fileName')\r\n }\r\n compareDataList.push(compareDataArray);\r\n });\r\n if (compareDataList.length > 0) {\r\n $rootScope.compareStoreData = compareDataList;\r\n $location.path('/plotgraph');\r\n }\r\n }\r\n }\r\n\r\n $scope.deleteData = function () {\r\n $(\"#confirmDelete\").modal('toggle');\r\n progressBarService.showProgressBar();\r\n\r\n dataManagementService.deleteFile($scope.objects.join(), $scope.fileNames.join()).then(function (response) {\r\n if (response != null && response.data.message != undefined) {\r\n $scope.message = response.data.message;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n //$timeout(hideMessage, 10000);\r\n }\r\n else {\r\n if (response.data) {\r\n $scope.isError = false;\r\n $scope.isSuccess = true;\r\n $scope.message = GetMessage.dataDeletedSuccessfully;\r\n }\r\n else {\r\n $scope.message = GetMessage.UploadFileIntoElasticSearchFailed;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n }\r\n //$timeout(hideMessage, 10000);\r\n $scope.getData();\r\n }\r\n });\r\n $scope.objects = [];\r\n $scope.fileNames = [];\r\n progressBarService.hideProgressBar();\r\n };\r\n\r\n $scope.checkAll = function (event) {\r\n\r\n var isChecked = $(event.currentTarget)[0].checked;\r\n\r\n\r\n if (isChecked) {\r\n $('.chk').prop('checked', 'checked');\r\n } else {\r\n $('.chk').prop('checked', '');\r\n }\r\n\r\n var checkedCheckboxes = $('.chk:checked').length;\r\n\r\n if (checkedCheckboxes > 0) {\r\n $scope.checkBoxChecked = true;\r\n } else {\r\n $scope.checkBoxChecked = false;\r\n }\r\n }\r\n\r\n $scope.checkTeamAll = function (event) {\r\n //if ($scope.dataManagementDetails.teamManagementFiles[0].isAdminSubscribed == 1) {\r\n var isChecked = $(event.currentTarget)[0].checked;\r\n\r\n\r\n if (isChecked) {\r\n $('.chkTeam').prop('checked', 'checked');\r\n } else {\r\n $('.chkTeam').prop('checked', '');\r\n }\r\n\r\n var checkedCheckboxes = $('.chkTeam:checked').length;\r\n\r\n if (checkedCheckboxes > 0) {\r\n $scope.checkBoxChecked = true;\r\n } else {\r\n $scope.checkBoxChecked = false;\r\n }\r\n //}\r\n }\r\n\r\n $scope.checkFile = function () {\r\n var totalLength = $('.chk').length;\r\n var checkedCheckboxes = $('.chk:checked').length;\r\n if (checkedCheckboxes == totalLength) {\r\n $('#chkAll').prop('checked', 'checked');\r\n\r\n } else {\r\n $('#chkAll').prop('checked', '');\r\n\r\n }\r\n\r\n if (checkedCheckboxes > 0) {\r\n $scope.checkBoxChecked = true;\r\n } else {\r\n $scope.checkBoxChecked = false;\r\n }\r\n }\r\n\r\n $scope.checkTeamFile = function () {\r\n //if ($scope.dataManagementDetails.teamManagementFiles[0].isAdminSubscribed == 1) {\r\n var totalLength = $('.chkTeam').length;\r\n var checkedCheckboxes = $('.chkTeam:checked').length;\r\n if (checkedCheckboxes == totalLength) {\r\n $('#chkTeamAll').prop('checked', 'checked');\r\n\r\n } else {\r\n $('#chkTeamAll').prop('checked', '');\r\n\r\n }\r\n\r\n if (checkedCheckboxes > 0) {\r\n $scope.checkBoxChecked = true;\r\n } else {\r\n $scope.checkBoxChecked = false;\r\n }\r\n //}\r\n }\r\n\r\n }]);\r\n\r\n app.service('storeUploadService', [function () {\r\n function isFloat(n) {\r\n return Number(n) === n && n % 1 !== 0;\r\n }\r\n\r\n this.validateReferenceArticle = function (_this, $scope) {\r\n var arr = _this.val().split('/');\r\n if (_this.val() != '') {\r\n if (arr.length > 1) {\r\n if (arr[arr.length - 1] == \"\") {\r\n $scope.dataManagementUpload.referencedArticle.$invalid = true;\r\n $scope.validDOI = false;\r\n } else {\r\n var countLength = 0;\r\n for (var i = 0; i < arr.length; i++) {\r\n if (isFloat(parseFloat(arr[i]))) {\r\n countLength++;\r\n }\r\n }\r\n if (countLength == arr.length) {\r\n $scope.dataManagementUpload.referencedArticle.$valid = true;\r\n $scope.validDOI = true;\r\n } else {\r\n $scope.dataManagementUpload.referencedArticle.$invalid = true;\r\n $scope.validDOI = false;\r\n }\r\n }\r\n } else {\r\n if (isFloat(parseFloat(arr[0]))) {\r\n $scope.dataManagementUpload.referencedArticle.$valid = true;\r\n $scope.validDOI = true;\r\n } else {\r\n $scope.dataManagementUpload.referencedArticle.$invalid = true;\r\n $scope.validDOI = false;\r\n }\r\n }\r\n } else {\r\n $scope.dataManagementUpload.referencedArticle.$valid = true;\r\n $scope.validDOI = true;\r\n }\r\n $scope.$apply();\r\n }\r\n\r\n this.onFileShareSelected = function (value, $scope) {\r\n var flag = false;\r\n for (var key in $scope.FileShare) {\r\n if ($scope.FileShare[key]) {\r\n flag = true;\r\n }\r\n }\r\n if (value == 'Y' && $scope.FileShare.Yes == true && $scope.FileShare.No == true) {\r\n $scope.FileShare.No = false;\r\n } else if (value == 'N' && $scope.FileShare.Yes == true && $scope.FileShare.No == true) {\r\n $scope.FileShare.Yes = false;\r\n }\r\n if (!flag) {\r\n $scope.FileShare = undefined;\r\n }\r\n };\r\n }]);\r\n\r\n})();","(function () {\r\n 'use strict';\r\n app.service('LoginService', ['$http', '$q', 'AuthenticationService', '$rootScope', '$cookies',\r\n function ($http, $q, authenticationService, $rootScope, $cookies) {\r\n var userInfo;\r\n var serviceBase = $rootScope.buildConfig.aippsssApiBaseUrl;\r\n var loginServiceURL = serviceBase + 'token';\r\n var deviceInfo = [];\r\n var deferred;\r\n\r\n this.setUserDetail = function (userName) {\r\n deferred = $q.defer();\r\n $http.get(serviceBase + \"api/Account/user?username=\" + userName\r\n ).then(function (response) {\r\n if (response != undefined && response.data.message == undefined) {\r\n var expireDate = new Date();\r\n expireDate.setDate(expireDate.getDate() + 1);\r\n\r\n $rootScope.$broadcast('setUserSuccess', { fullName: response.data.eSpectraFirstName + \" \" + response.data.eSpectraLastName });\r\n\r\n setLocalValue(\"premiumType\", response.data.isPremiumType);\r\n setLocalValue(\"isAutorenewed\", response.data.eSpectraRecurringBillFlag);\r\n setLocalValue(\"maintenanceFlag\", response.data.eSpectraByPassMaintFlag);\r\n setLocalValue(\"isPremiumMember\", response.data.isPremiumMember)\r\n setLocalValue(\"userRole\", response.data.eSpectraUserRole);\r\n\r\n setLocalValue(\"fullName\", response.data.eSpectraFirstName.concat( \" \" + response.data.eSpectraLastName));\r\n setLocalValue(\"firstName\", response.data.eSpectraFirstName);\r\n setLocalValue(\"emailId\", response.data.eSpectraEmail);\r\n setLocalValue(\"affiliationName \", response.data.eSpectraPrimaryAffiliationName);\r\n setLocalValue(\"userRoleStatus\", response.data.eSpectraUserRoleStatus); \r\n setLocalValue(\"isKratosData\", response.data.isKratosData); \r\n \r\n $rootScope.isSA = getLocalValue(\"userRole\") == 'SAdmin' ? true : false;\r\n deferred.resolve(response);\r\n }\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n this.chekUser = function (emailID) {\r\n deferred = $q.defer();\r\n $http.get(serviceBase + \"api/Account/user?username=\" + emailID).then(function (response) {\r\n deferred.resolve(response);\r\n }).catch(function (err) {\r\n deferred.resolve(err);\r\n })\r\n\r\n return deferred.promise;\r\n }\r\n\r\n this.sendResetPasswordCode = function (userName) {\r\n\r\n deferred = $q.defer();\r\n\r\n $http.get(serviceBase + \"api/Account/resetpasswordcode?username=\" + userName).then(function (response) {\r\n\r\n\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n this.sendemailResetPasswordCodeNotification = function (userRegistrationInfo) {\r\n\r\n deferred = $q.defer();\r\n\r\n $http.get(serviceBase + \"api/Account/sendresetpasswordcodenotification?firstName=\" + userRegistrationInfo.eSpectraFirstName + \"&email=\" + userRegistrationInfo.eSpectraEmail + \"&status=\" + userRegistrationInfo.eSpectraPartyStatus + \"&resetCode=\" + userRegistrationInfo.eSpectraPasswordResetCode).then(function (response) {\r\n\r\n\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n\r\n\r\n this.login = function (userName, password) {\r\n\r\n deferred = $q.defer();\r\n var data = \"grant_type=password&username=\" + userName + \"&password=\" + password;\r\n $http.post(loginServiceURL, data, {\r\n headers:\r\n { 'Content-Type': 'application/x-www-form-urlencoded' }\r\n }).then(function (response) {\r\n var o = response;\r\n userInfo = {\r\n accessToken: response.data.access_token,\r\n userName: userName,\r\n refresh_token: response.data.refresh_token\r\n };\r\n authenticationService.setTokenInfo(userInfo);\r\n\r\n setLocalValue(\"isAuthenticated\", \"true\");\r\n setLocalValue(\"userName\", userName);\r\n setLocalValue(\"userRole\", response.data.UserRole);\r\n setLocalValue(\"premiumType\", response.data.premiumType);\r\n setLocalValue(\"isPremiumMember\", JSON.parse(response.data.isPremiumMember))\r\n setLocalValue(\"isAutorenewed\", response.data.isAutorenewed);\r\n setLocalValue(\"maintenanceFlag\", response.data.maintenanceFlag);\r\n setLocalValue(\"isKratosData\", response.data.kratosDataAccess);\r\n $rootScope.hasSharedWorkspaces = response.data.hasSharedWorkspaces;\r\n $rootScope.isFirstLogin = response.data.isFirstLogin;\r\n if ($cookies.get('appCookie') == undefined || $cookies.get('appCookie') == null || $cookies.get('appCookie') == '') {\r\n $rootScope.$broadcast('setFooter', {});\r\n }\r\n $rootScope.$broadcast('loginSuccess', { userName: userName });\r\n deferred.resolve(null);\r\n })\r\n .catch(function (err) {\r\n\r\n deferred.resolve(err.data);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.refreshToken = function () {\r\n deferred = $q.defer();\r\n var token = $cookies.get('_rtInf');\r\n var data = \"grant_type=refresh_token&refresh_token=\" + token + \"&client_id=\";\r\n\r\n $http.post(loginServiceURL, data, {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n }\r\n }).then(function (response) {\r\n var o = response.data;\r\n var userInfo = {\r\n accessToken: o.access_token,\r\n refresh_token: o.refresh_token\r\n };\r\n authenticationService.setTokenInfo(userInfo);\r\n \r\n setLocalValue(\"isAuthenticated\", \"true\");\r\n setLocalValue(\"userRole\", response.data.UserRole);\r\n setLocalValue(\"premiumType\", response.data.premiumType);\r\n setLocalValue(\"isPremiumMember\", JSON.parse(response.data.isPremiumMember))\r\n setLocalValue(\"isAutorenewed\", response.data.isAutorenewed);\r\n setLocalValue(\"maintenanceFlag\", response.data.maintenanceFlag);\r\n $rootScope.hasSharedWorkspaces = response.data.hasSharedWorkspaces;\r\n $rootScope.isFirstLogin = response.data.isFirstLogin;\r\n\r\n deferred.resolve(null);\r\n }).catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.logOut = function () {\r\n authenticationService.removeToken();\r\n $rootScope.$broadcast('logoutSuccess', 'true');\r\n }\r\n\r\n this.getInstituteName = function () {\r\n $http.get(serviceBase + \"api/Account/IPFilter\").then(function (response) {\r\n if (response.status == \"204\") {\r\n $rootScope.$broadcast('getInstituteFail', { error: 'Error' });\r\n }\r\n else if (response.data != undefined) {\r\n var expireDate = new Date();\r\n expireDate.setDate(expireDate.getDate() + 1);\r\n $cookies.put(\"institute\", response.data.institute, { expires: expireDate });\r\n $rootScope.$broadcast('getInstituteSuccess', { institute: response.data.institute, username: response.data.username, password: response.data.password });\r\n }\r\n }, function (err, status) {\r\n $rootScope.$broadcast('getInstituteFail', { error: 'Error' });\r\n });\r\n }\r\n\r\n this.register = function (userRegistrationInfo) {\r\n deferred = $q.defer();\r\n\r\n $http.post(serviceBase + \"api/Account/Register\", userRegistrationInfo, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n //get country list...\r\n\r\n\r\n this.getcountryData = function () {\r\n deferred = $q.defer();\r\n\r\n $http.get(serviceBase + \"country\")\r\n .then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n this.sendRegistrationNotification = function (userRegistrationInfo) {\r\n deferred = $q.defer();\r\n\r\n $http.post(serviceBase + \"api/Account/sendRegistrationNotification\", userRegistrationInfo, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n\r\n this.verifyRegistration = function (userId) {\r\n\r\n deferred = $q.defer();\r\n\r\n $http.post(serviceBase + \"api/Account/VerifyRegistration/\" + userId)\r\n .then(function (response) {\r\n\r\n deferred.resolve(response);\r\n\r\n })\r\n .catch(function (err) {\r\n\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.resetPassword = function (resetPasswordInfo) {\r\n deferred = $q.defer();\r\n $http.post(serviceBase + \"api/Account/resetPassword\", resetPasswordInfo, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.Invite = function (memberList, firstName, inviterFirstName, inviterLastName) {\r\n\r\n deferred = $q.defer();\r\n $http.post(serviceBase + \"api/Account/InviteMember?members=\" + memberList.join() + \"&firstName=\" + firstName + \"&inviterFirstName=\" + inviterFirstName + \"&inviterLastName=\" + inviterLastName)\r\n .then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.getInstitutions = function () {\r\n deferred = $q.defer();\r\n $http.get(serviceBase + \"api/Account/institutions\", {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(null);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.saveExtraInfo = function (data) {\r\n deferred = $q.defer();\r\n $http.post(serviceBase + \"api/Account/saveextrainfo\", data, {\r\n }).then(function (response) {\r\n deferred.resolve(null);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.getGlobalValues = function () {\r\n deferred = $q.defer();\r\n $http.get(serviceBase + \"globalValues\")\r\n .then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n return deferred.promise;\r\n }\r\n\r\n this.createInternalUser = function (data) {\r\n deferred = $q.defer();\r\n $http.post(serviceBase + \"api/Account/internalRegistration\", data, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.createInstitutionAccount = function (data) {\r\n deferred = $q.defer();\r\n $http.post(serviceBase + \"api/super/institutionAccount\", data, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.sendInternaldRegistrationNotification = function (userRegistrationInfo) {\r\n deferred = $q.defer();\r\n\r\n $http.post(serviceBase + \"api/Account/sendinternalregistrationnotification\", userRegistrationInfo, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n this.sendConfirmationToUserDelete = function (userEmail,userFirstname) {\r\n deferred = $q.defer();\r\n\r\n $http.post(serviceBase + \"api/Account/sendConfirmationToUserDelete?email=\" + userEmail + \"&firstname=\" + userFirstname)\r\n .then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err, status) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n }\r\n ]);\r\n})();","(function () {\r\n 'use strict';\r\n app.controller('loginController', ['$scope', 'LoginService', '$location', '$cookies', 'AuthenticationService', 'progressBarService', '$rootScope', '$timeout', '$compile', function ($scope, loginService, $location, $cookies, AuthenticationService, progressBarService, $rootScope, $timeout, $compile) {\r\n\r\n $scope.isInvalidIP = false;\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n\r\n $scope.loginData = {\r\n userName: localStorage.getItem(\"email\") == null ? \"\" : localStorage.getItem(\"email\"),\r\n password: \"\"\r\n };\r\n\r\n if (localStorage.getItem(\"email\")) {\r\n localStorage.removeItem(\"email\");\r\n }\r\n\r\n //var authData = AuthenticationService.getTokenInfo();\r\n\r\n $scope.isActiveTab = function (tabIndex) {\r\n\r\n return tabIndex === $scope.currentTab\r\n\r\n };\r\n $scope.onClickTab = function (tabIndex) {\r\n\r\n $scope.currentTab = tabIndex;\r\n return tabIndex == $scope.currentTab\r\n };\r\n var hideMessage = function () {\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n $scope.isModalError = false;\r\n $scope.isModalSuccess = false;\r\n $scope.message = '';\r\n }\r\n hideMessage();\r\n $scope.login = function () {\r\n if ($scope.validateLogin()) {\r\n progressBarService.showProgressBar();\r\n loginService.login($scope.loginData.userName, $scope.loginData.password).then(function (response) {\r\n\r\n if (response != null && response.error != undefined) {\r\n\r\n $scope.message = response.error_description;\r\n\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n }\r\n\r\n progressBarService.hideProgressBar();\r\n });\r\n }\r\n }\r\n\r\n $scope.validateLogin = function () {\r\n\r\n var returnVal = true;\r\n if (angular.element(\"#userName\").val() != '') {\r\n var emailregx = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n\r\n if (emailregx.test(angular.element(\"#userName\").val())) {\r\n\r\n $(\"#userName\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#userName\").focus();\r\n }\r\n $(\"#userName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#userName\").focus();\r\n }\r\n $(\"#userName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (angular.element(\"#password\").val() != '') {\r\n\r\n $(\"#password\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#password\").focus();\r\n }\r\n $(\"#password\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (!returnVal) {\r\n this.LoginForm.$dirty = true;\r\n this.LoginForm.password.$dirty = true;\r\n this.LoginForm.userName.$dirty = true;\r\n }\r\n return returnVal;\r\n }\r\n\r\n $scope.cancel = function () {\r\n $rootScope.$broadcast('reloadCaptcha', {});\r\n $scope.loginData = {\r\n userName: \"\",\r\n password: \"\"\r\n };\r\n $scope.message = \"\";\r\n $(\".input-feild-textbox\").siblings(\"label\").removeClass(\"active\");\r\n\r\n }\r\n\r\n $scope.setTextboxStyle = function () {\r\n $(\".input-feild-textbox\").on(\"focusin\", function () {\r\n $(this).parent().siblings(\"label\").addClass(\"active\");\r\n $(this).siblings(\"label\").addClass(\"active\");\r\n }).focusout(function () {\r\n if (!$(this).val().trim()) {\r\n $(this).parent().siblings(\"label\").removeClass(\"active\");\r\n $(this).siblings(\"label\").removeClass(\"active\");\r\n }\r\n });\r\n };\r\n\r\n $scope.setTextboxStyle();\r\n\r\n $rootScope.$on('getInstituteFail', function (event, args) {\r\n setTimeout(function myfunction() {\r\n $scope.isInvalidIP = true;\r\n $scope.$apply();\r\n }, 500);\r\n });\r\n\r\n $rootScope.$on('logoutSuccess', function (event, args) {\r\n setTimeout(function myfunction() {\r\n $scope.isInvalidIP = true;\r\n $scope.$apply();\r\n }, 500);\r\n //window.location.reload();\r\n });\r\n }]);\r\n})();\r\n\r\n\r\n(function () {\r\n 'use strict';\r\n app.controller('registerController', ['$scope', 'LoginService', '$location', '$cookies', 'AuthenticationService', 'progressBarService', '$rootScope', '$timeout', '$http', '$routeParams', 'CommonService', function ($scope, loginService, $location, $cookies, AuthenticationService, progressBarService, $rootScope, $timeout, $http, $routeParams, commonService) {\r\n\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n\r\n $scope.selectAffiliation = function () {\r\n $('#affiliationName').val('');\r\n $scope.selectedInstitute.userDefinedAffiliation = \"\";\r\n $scope.selectedInstitute.InstitutionId = $scope.profileData.InstitutionId;\r\n if (!$scope.selectedInstitute.isAffiliationExists) {\r\n $scope.selectedInstitute.InstitutionName = $scope.profileData.InstitutionName;\r\n } else {\r\n if ($scope.profileData.InstitutionName.length == 0) {\r\n $scope.selectedInstitute.isAffiliationExists = false\r\n //$('#affiliationName').removeAttr('disabled');\r\n }\r\n $scope.selectedInstitute.userDefinedAffiliation = $scope.profileData.InstitutionName;\r\n }\r\n\r\n $('#affiliation').modal('show');\r\n }\r\n\r\n $scope.loginData = {\r\n userName: localStorage.getItem(\"email\") == null ? \"\" : localStorage.getItem(\"email\"),\r\n password: \"\"\r\n };\r\n\r\n if (localStorage.getItem(\"email\")) {\r\n localStorage.removeItem(\"email\");\r\n }\r\n\r\n\r\n $scope.isInvalidIP = false;\r\n\r\n $scope.InvitedEmail = $routeParams.invitedEmail;\r\n\r\n $scope.profileDataModel = function () {\r\n $scope.profileData = {\r\n firstName: \"\",\r\n lastName: \"\",\r\n mobileNo: \"\",\r\n workNo: \"\",\r\n emailId: \"\",\r\n registeredPassword: \"\",\r\n eSpectraCountryID: \"\",\r\n retypePassword: \"\",\r\n interest: \"\",\r\n subscription: \"\",\r\n conditionAgree: false,\r\n InstitutionId: \"\",\r\n InstitutionName: \"\",\r\n admin: false\r\n }\r\n }\r\n\r\n $scope.profileDataModel();\r\n\r\n var authData = AuthenticationService.getTokenInfo();\r\n if (authData && $rootScope.currentTab) {\r\n loginService.logOut();\r\n }\r\n var hideMessage = function () {\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n $scope.isModalError = false;\r\n $scope.isModalSuccess = false;\r\n $scope.message = '';\r\n }\r\n\r\n hideMessage();\r\n\r\n $scope.isActiveTab = function (tabIndex) {\r\n return tabIndex === $rootScope.currentTab\r\n };\r\n $scope.onClickTab = function (tabIndex) {\r\n\r\n $rootScope.currentTab = tabIndex;\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n };\r\n\r\n\r\n $scope.login = function () {\r\n\r\n if ($scope.validateLogin()) {\r\n progressBarService.showProgressBar();\r\n loginService.login($scope.loginData.userName, $scope.loginData.password).then(function (response) {\r\n\r\n if (response != null && response.error != undefined) {\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n $scope.message = response.error_description;\r\n }\r\n progressBarService.hideProgressBar();\r\n });\r\n }\r\n }\r\n\r\n $scope.validateLogin = function () {\r\n\r\n var returnVal = true;\r\n if (angular.element(\"#tabuserName\").val() != '') {\r\n var emailregx = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n\r\n if (emailregx.test(angular.element(\"#tabuserName\").val())) {\r\n\r\n $(\"#tabuserName\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#tabuserName\").focus();\r\n }\r\n $(\"#tabuserName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#tabuserName\").focus();\r\n }\r\n $(\"#tabuserName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (angular.element(\"#tabpassword\").val() != '') {\r\n\r\n $(\"#tabpassword\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n\r\n if (returnVal) {\r\n $(\"#tabpassword\").focus();\r\n }\r\n $(\"#tabpassword\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (!returnVal) {\r\n this.rLoginForm.$dirty = true;\r\n this.rLoginForm.password.$dirty = true;\r\n this.rLoginForm.userName.$dirty = true;\r\n }\r\n return returnVal;\r\n }\r\n\r\n $scope.sendResetPasswordCode = function (fieldName) {\r\n\r\n if ($scope.ValidateUserResetDetails(fieldName)) {\r\n progressBarService.showProgressBar();\r\n\r\n loginService.sendResetPasswordCode(angular.element(\"#\" + fieldName).val()).then(function (response) {\r\n\r\n if (response != null && response.data != null && response.data.message != undefined) {\r\n\r\n $scope.message = response.data.message;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n //$timeout(hideMessage, 10000);\r\n }\r\n else if (response != null && response.data == null) {\r\n\r\n }\r\n else {\r\n\r\n sendemailResetPasswordCodeNotification(response.data);\r\n $(\"#\" + fieldName).val('');\r\n $(\"#\" + fieldName).siblings(\"label\").removeClass(\"active\");\r\n $scope.message = GetMessage.accountResetSuccessfully(response.data.eSpectraEmail);\r\n $scope.isError = false;\r\n $scope.isSuccess = true;\r\n $rootScope.$broadcast('reloadCaptcha', {});\r\n //$timeout(hideMessage, 10000);\r\n\r\n }\r\n progressBarService.hideProgressBar();\r\n });\r\n }\r\n }\r\n\r\n $scope.ValidateUserResetDetails = function (emailElem) {\r\n var returnVal = true;\r\n if (angular.element(\"#\" + emailElem).val() != '') {\r\n var email = angular.element(\"#\" + emailElem).val();\r\n var regExp = /^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$/;\r\n\r\n var isValid = regExp.test(email);\r\n if (isValid) {\r\n //$(\"#\" + emailElem).removeClass(\"border-red\");\r\n $(\"#\" + emailElem).siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n // $(\"#\" + emailElem).addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#\" + emailElem).focus();\r\n }\r\n $(\"#\" + emailElem).siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n }\r\n else {\r\n // $(\"#\" + emailElem).addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#\" + emailElem).focus();\r\n }\r\n $(\"#\" + emailElem).siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n if (!$scope.captchaValid) {\r\n return false;\r\n }\r\n\r\n if (!returnVal) {\r\n this.resetForm.$dirty = true;\r\n this.resetForm.resetPassword.$dirty = true;\r\n this.resetForm.confirmPassword.$dirty = true;\r\n }\r\n return returnVal;\r\n\r\n }\r\n\r\n $scope.cancel = function () {\r\n $scope.loginData = {\r\n userName: \"\",\r\n password: \"\"\r\n };\r\n $scope.message = \"\";\r\n $(\".input-feild-textbox\").siblings(\"label\").removeClass(\"active\");\r\n $rootScope.isForgotPassword = false;\r\n $('form#login-nav #userName').val($('form#forgot-nav #forgotEmailId').val())\r\n $(\"form[name=forgotPasswordForm]\").trigger('reset');\r\n $('.border-red').removeClass('border-red');\r\n }\r\n\r\n var serviceBase = $rootScope.buildConfig.aippsssApiBaseUrl;\r\n\r\n $scope.selectedInstitute = {\r\n InstitutionId: 0,\r\n InstitutionName: '',\r\n isAffiliationExists: false,\r\n userDefinedAffiliation: ''\r\n };\r\n\r\n $scope.setAffiliation = function () {\r\n\r\n if ($scope.selectedInstitute.InstitutionName.length > 0 || $scope.selectedInstitute.userDefinedAffiliation.length > 0) {\r\n\r\n $scope.profileData.InstitutionId = parseInt($scope.selectedInstitute.InstitutionId) > 0 ? $scope.selectedInstitute.InstitutionId : 0;\r\n $scope.profileData.InstitutionName = $scope.selectedInstitute.InstitutionName != '' ? $scope.selectedInstitute.InstitutionName : $scope.selectedInstitute.userDefinedAffiliation;\r\n\r\n $scope.profileForm.instituteName.$dirty = true;\r\n $scope.profileForm.instituteName.$touched = true;\r\n $scope.profileForm.instituteName.$valid = true;\r\n $('#institution-info').removeClass('hide');\r\n $('#affiliation').modal('hide');\r\n }\r\n };\r\n\r\n $(\"#instituteName\").on('focusout', function () {\r\n $('#instituteName').typeahead('close');\r\n\r\n $scope.profileData.InstitutionName = $('#instituteName').val();\r\n\r\n $scope.$apply();\r\n return false;\r\n });\r\n\r\n $scope.deSelectInstitute = function () {\r\n $scope.profileData.InstitutionId = 1;\r\n $scope.profileData.InstitutionName = '';\r\n $scope.selectedInstitute.userDefinedAffiliation = '';\r\n $scope.selectedInstitute.isAffiliationExists = false;\r\n //$('#affiliationName').removeAttr('disabled');\r\n $('#institution-info').addClass('hide');\r\n\r\n $scope.profileForm.instituteName.$dirty = false;\r\n $scope.profileForm.instituteName.$untouched = true;\r\n $scope.profileForm.instituteName.$prestine = true;\r\n }\r\n\r\n $scope.clearAffiliationOnBackspace = function () {\r\n if ($('#affiliationName').val().length <= 0 && $scope.profileData.InstitutionName.length <= 0) {\r\n $scope.deSelectInstitute();\r\n }\r\n }\r\n\r\n $scope.register = function () {\r\n if ($scope.ValidateUserDetails()) {\r\n $rootScope.$broadcast('reloadCaptcha', {});\r\n progressBarService.showProgressBar();\r\n var serviceBase = $rootScope.buildConfig.aippsssApiBaseUrl;\r\n\r\n var countryCode = $('#countryCode').parent().find('.selected-dial-code').text() + \"-\";\r\n var countryCode1 = $('#countryCode1').parent().find('.selected-dial-code').text() + \"-\";\r\n var userRegistrationInfo = {\r\n eSpectraFirstName: $scope.profileData.firstName,\r\n eSpectraLastName: $scope.profileData.lastName,\r\n eSpectraEmail: $scope.profileData.emailId,\r\n eSpectraCountryID: $scope.profileData.eSpectraCountryID,\r\n eSpectraPassword: $scope.profileData.registeredPassword,\r\n eSpectraPrimaryAreaOfInterest: $scope.profileData.interest,\r\n eSpectraMobilePhoneNum: countryCode + $scope.profileData.mobileNo,\r\n eSpectraWorkPhoneNum: countryCode1 + $scope.profileData.workNo,\r\n eSpectraMktgOptInFlg: $scope.profileData.subscription ? 1 : 0,\r\n eSpectraPrimaryAffiliationID: parseInt($scope.profileData.InstitutionId) > 0 ? $scope.profileData.InstitutionId : 1,\r\n eSpectraPrimaryAffiliationName: $scope.profileData.InstitutionName,\r\n eSpectraIsAdmin: $scope.profileData.admin ? 1 : 0,\r\n InvitedEmail: $scope.InvitedEmail\r\n };\r\n loginService.register(userRegistrationInfo).then(function (response) {\r\n\r\n if (response != null && response.data.message != undefined) {\r\n $scope.message = response.data.message;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n }\r\n else {\r\n sendRegistrationNotification(userRegistrationInfo);\r\n $rootScope.registrationMessage = GetMessage.accountCreatedSuccessfully(userRegistrationInfo.eSpectraEmail);\r\n $location.path('/registrationsuccess');\r\n }\r\n progressBarService.hideProgressBar();\r\n });\r\n }\r\n };\r\n\r\n var sendRegistrationNotification = function (userRegistrationInfo) {\r\n loginService.sendRegistrationNotification(userRegistrationInfo);\r\n };\r\n\r\n\r\n var sendemailResetPasswordCodeNotification = function (userRegistrationInfo) {\r\n loginService.sendemailResetPasswordCodeNotification(userRegistrationInfo);\r\n };\r\n\r\n $scope.validatePassword = function (event) {\r\n commonService.validatePassword($scope, event);\r\n }\r\n\r\n $scope.ValidateUserDetails = function () {\r\n var returnVal = true;\r\n var firstName = angular.element(\"#firstName\");\r\n var lastName = angular.element(\"#lastName\");\r\n var email = angular.element(\"#inputEmailId\");\r\n var password = angular.element(\"#registerPassword\");\r\n var repeatPassword = angular.element(\"#repeatPassword\");\r\n var country = angular.element(\"#country\");\r\n var countryCode = angular.element(\"#countryCode\");\r\n var countryCode1 = angular.element(\"#countryCode1\");\r\n var rememberMe = angular.element(\"#rememberMe\");\r\n\r\n if (firstName.val() != '') {\r\n firstName.removeClass(\"border-red\");\r\n\r\n var regExp = /^([a-zA-Z]+\\s?)[a-zA-Z]*$/;\r\n var isValid = regExp.test(firstName.val());\r\n if (isValid) {\r\n firstName.removeClass(\"border-red\");\r\n }\r\n else {\r\n if (returnVal) {\r\n firstName.focus();\r\n }\r\n\r\n firstName.addClass(\"border-red\");\r\n returnVal = false;\r\n }\r\n }\r\n else {\r\n if (returnVal) {\r\n firstName.focus();\r\n }\r\n\r\n firstName.addClass('border-red');\r\n returnVal = false;\r\n }\r\n\r\n if (lastName.val() != '') {\r\n lastName.removeClass(\"border-red\");\r\n\r\n var regExp = /^[a-zA-Z](?!.*-.*-.*)(?!.*\\s.*\\s.*)[a-zA-Z- ]+$/;\r\n var isValid = regExp.test(lastName.val());\r\n if (isValid) {\r\n lastName.removeClass(\"border-red\");\r\n }\r\n else {\r\n if (returnVal) {\r\n lastName.focus();\r\n }\r\n\r\n lastName.addClass('border-red')\r\n returnVal = false;\r\n }\r\n }\r\n else {\r\n if (returnVal) {\r\n lastName.focus();\r\n }\r\n\r\n lastName.addClass('border-red')\r\n returnVal = false;\r\n }\r\n\r\n if (country.val() != 1 && country.val() != \"\") {\r\n country.removeClass(\"border-red\");\r\n\r\n } else {\r\n if (returnVal) {\r\n country.focus();\r\n }\r\n\r\n country.addClass('border-red');\r\n returnVal = false;\r\n };\r\n\r\n if (countryCode.val() != \"\") {\r\n countryCode.removeClass(\"border-red\");\r\n\r\n if (isNaN(countryCode.val())) {\r\n if (returnVal) {\r\n countryCode.focus();\r\n }\r\n\r\n countryCode.addClass(\"border-red\");\r\n countryCode.siblings('span').find(\"span.error-msg\").addClass('display-none')\r\n returnVal = false;\r\n } else {\r\n\r\n if (countryCode.val().length >= 7 && countryCode.val().length <= 13) {\r\n countryCode.removeClass(\"border-red\");\r\n } else {\r\n if (returnVal) {\r\n countryCode.focus();\r\n }\r\n\r\n countryCode.addClass(\"border-red\");\r\n returnVal = false;\r\n };\r\n }\r\n };\r\n\r\n if (countryCode1.val() != \"\") {\r\n countryCode1.removeClass(\"border-red\");\r\n\r\n if (isNaN(countryCode1.val())) {\r\n if (returnVal) {\r\n countryCode1.focus();\r\n }\r\n\r\n countryCode1.addClass(\"border-red\");\r\n countryCode1.siblings('span').find(\"span.error-msg\").addClass('display-none')\r\n returnVal = false;\r\n } else {\r\n\r\n if (countryCode1.val().length >= 7 && countryCode1.val().length <= 13) {\r\n countryCode1.removeClass(\"border-red\");\r\n } else {\r\n if (returnVal) {\r\n countryCode1.focus();\r\n }\r\n\r\n countryCode1.addClass(\"border-red\");\r\n returnVal = false;\r\n };\r\n }\r\n };\r\n\r\n if (email.val() != '') {\r\n var regExp = /^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$/;\r\n\r\n var isValid = regExp.test(email.val());\r\n if (isValid) {\r\n $scope.profileData.emailId = email.val();\r\n email.removeClass(\"border-red\");\r\n email.siblings('span').find(\"span.error-msg\").addClass('display-none')\r\n }\r\n else {\r\n if (returnVal) {\r\n email.focus();\r\n }\r\n\r\n email.addClass('border-red');\r\n email.siblings('span').find(\"span.error-msg\").removeClass('display-none')\r\n returnVal = false;\r\n }\r\n }\r\n else {\r\n if (returnVal) {\r\n email.focus();\r\n }\r\n\r\n email.addClass('border-red');\r\n email.siblings('span').find(\"span.error-msg\").removeClass('display-none');\r\n returnVal = false;\r\n }\r\n\r\n if (password.val() != '') {\r\n var regExp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+=-])[A-Za-z\\d!@#$%^&*()_+=-]{7,20}$/;\r\n var isValid = regExp.test(password.val());\r\n\r\n if (isValid) {\r\n password.removeClass(\"border-red\");\r\n if (password.val() != repeatPassword.val()) {\r\n if (returnVal) {\r\n repeatPassword.focus();\r\n }\r\n\r\n password.addClass('border-red');\r\n repeatPassword.addClass('border-red');\r\n returnVal = false;\r\n }\r\n else {\r\n password.removeClass(\"border-red\");\r\n repeatPassword.removeClass(\"border-red\");\r\n }\r\n } else {\r\n if (returnVal) {\r\n password.focus();\r\n }\r\n\r\n password.addClass('border-red');\r\n returnVal = false;\r\n }\r\n\r\n }\r\n else {\r\n if (returnVal) {\r\n password.focus();\r\n }\r\n\r\n password.addClass('border-red');\r\n returnVal = false;\r\n }\r\n\r\n if ($scope.profileData.subscription.toString() == \"\") {\r\n $($('input[name=\"subRadio\"]')[0]).parent('.subContainer').parent().siblings('div').find(\"span.error-msg\").removeClass('display-none');\r\n if (returnVal) {\r\n $($('input[name=\"subRadio\"]')[0]).focus();\r\n }\r\n returnVal = false;\r\n } else {\r\n $($('input[name=\"subRadio\"]')[0]).parent('.subContainer').parent().siblings('div').find(\"span.error-msg\").addClass('display-none');\r\n };\r\n\r\n if (rememberMe[0].checked == false) {\r\n $scope.profileForm.conditionsAgree.$dirty = true;\r\n\r\n if (returnVal) {\r\n rememberMe.focus();\r\n }\r\n returnVal = false;\r\n } else {\r\n $scope.profileForm.conditionsAgree.$dirty = false;\r\n };\r\n\r\n if (!$scope.captchaValid) {\r\n $('simple-captcha').addClass('border-all-red');\r\n returnVal = false;\r\n } else {\r\n $('simple-captcha').removeClass('border-all-red');\r\n };\r\n\r\n if (!($scope.PasswordLength && $scope.UpperCase && $scope.Numbers && $scope.SpecialCharacters)) {\r\n returnVal = false\r\n }\r\n\r\n if (!returnVal) {\r\n $scope.isSignupFailed = true;\r\n this.profileForm.$dirty = true;\r\n this.profileForm.firstName.$dirty = true;\r\n this.profileForm.lastName.$dirty = true;\r\n this.profileForm.inputEmailId.$dirty = true;\r\n this.profileForm.registerPassword.$dirty = true;\r\n this.profileForm.repeatPassword.$dirty = true;\r\n }\r\n\r\n return returnVal;\r\n }\r\n\r\n\r\n $scope.getcountryData = function () {\r\n progressBarService.showProgressBar();\r\n //loginService.getcountryData().then(function (response) {\r\n // if (response != null && response.data.message != undefined) {\r\n // $scope.message = response.data.message;\r\n // $scope.isError = true;\r\n // $scope.isSuccess = false;\r\n // }\r\n // else {\r\n // progressBarService.hideProgressBar();\r\n // $scope.countries = response.data;\r\n // $scope.profileData.eSpectraCountryID = '1';\r\n // }\r\n\r\n // progressBarService.hideProgressBar();\r\n //});\r\n $http({\r\n method: 'Get',\r\n url: serviceBase + \"country\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n }).success(function (data, status) {\r\n if (data != null && data.message != undefined) {\r\n $scope.message = data.message;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n }\r\n else {\r\n progressBarService.hideProgressBar();\r\n $scope.countries = data;\r\n $scope.profileData.eSpectraCountryID = '1';\r\n }\r\n progressBarService.hideProgressBar();\r\n }).error(function (data, status) {\r\n })\r\n\r\n }\r\n\r\n $scope.CancelRegistration = function () {\r\n $scope.profileDataModel();\r\n $(\"form[name=profileForm]\").trigger('reset');\r\n $('.border-red').removeClass('border-red');\r\n $('#strength').hide();\r\n $scope.selectedInstitute.userDefinedAffiliation = '';\r\n $scope.selectedInstitute.isAffiliationExists = false;\r\n\r\n $scope.profileForm.$setPristine();\r\n $scope.profileForm.$setUntouched();\r\n }\r\n\r\n $scope.setTextboxStyle = function () {\r\n $(\".input-feild-textbox\").on(\"focusin\", function () {\r\n $(this).parent().siblings(\"label\").addClass(\"active\");\r\n $(this).siblings(\"label\").addClass(\"active\");\r\n }).focusout(function () {\r\n if (!$(this).val().trim()) {\r\n $(this).parent().siblings(\"label\").removeClass(\"active\");\r\n $(this).siblings(\"label\").removeClass(\"active\");\r\n }\r\n });\r\n };\r\n\r\n $scope.setTextboxStyle();\r\n\r\n $scope.reloadCaptcha = function () {\r\n $rootScope.$broadcast('reloadCaptcha', {});\r\n }\r\n\r\n $scope.checkCountry = function () {\r\n if ($scope.profileData.eSpectraCountryID == 1 && $scope.profileForm.country.$dirty) {\r\n $('#country').removeClass('border-red');\r\n } else {\r\n $('#country').removeClass('border-red');\r\n }\r\n }\r\n\r\n $rootScope.$on('getInstituteFail', function (event, args) {\r\n setTimeout(function myfunction() {\r\n $scope.isInvalidIP = true;\r\n $scope.$apply();\r\n }, 500);\r\n });\r\n\r\n $rootScope.$on('logoutSuccess', function (event, args) {\r\n setTimeout(function myfunction() {\r\n $scope.isInvalidIP = true;\r\n $scope.$apply();\r\n }, 500);\r\n //window.location.reload();\r\n });\r\n\r\n $rootScope.$on('forgotPassword', function () {\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n $scope.isModalError = false;\r\n $scope.isModalSuccess = false;\r\n $scope.message = \"\";\r\n });\r\n\r\n if ($routeParams.userId) {\r\n // Registration verification\r\n var userId = $routeParams.userId;\r\n progressBarService.showProgressBar();\r\n $http({\r\n method: \"POST\",\r\n url: serviceBase + \"api/Account/VerifyRegistration/\" + userId,\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n }).success(function (data, headers, status) {\r\n $scope.loginData.userName = data;\r\n localStorage.setItem(\"email\", data);\r\n\r\n $scope.isError = false;\r\n $scope.isSuccess = true;\r\n\r\n $scope.message = GetMessage.accountVerifiedSuccessfully;\r\n //$timeout(hideMessage, 10000);\r\n //}\r\n progressBarService.hideProgressBar();\r\n }).error(function (data, status) {\r\n //if (status == \"204\") {\r\n //}\r\n if (data != null && data.message != undefined) {\r\n $scope.message = data.message;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n //$timeout(hideMessage, 10000);\r\n }\r\n progressBarService.hideProgressBar();\r\n });\r\n } else {\r\n $scope.getcountryData();\r\n }\r\n\r\n }]);\r\n app.directive('usernameAvailable', function ($timeout, $q, $http, $rootScope) {\r\n return {\r\n restrict: 'AE',\r\n require: 'ngModel',\r\n link: function (scope, elm, attr, model) {\r\n model.$asyncValidators.usernameExists = function () {\r\n\r\n var defer = $q.defer();\r\n $timeout(function () {\r\n\r\n var serviceBase = $rootScope.buildConfig.aippsssApiBaseUrl;\r\n $http.get(serviceBase + \"api/Account/checkuser?username=\" + model.$viewValue).then(function (res) {\r\n\r\n if (res.data) {\r\n elm[0].focus();\r\n }\r\n\r\n model.$setValidity('usernameExists', !res.data);\r\n defer.resolve;\r\n });\r\n\r\n\r\n }, 1000);\r\n return defer.promise;\r\n\r\n };\r\n }\r\n }\r\n });\r\n})();\r\n\r\n\r\n","\r\n(function () {\r\n 'use strict';\r\n app.controller('inviteController', ['$scope', 'LoginService', '$location', '$cookies', 'AuthenticationService', 'progressBarService', '$rootScope', '$timeout', function ($scope, loginService, $location, $cookies, AuthenticationService, progressBarService, $rootScope, $timeout) {\r\n if ($cookies.get('TokenInfo') == undefined || localStorage.getItem('appInfo') == undefined) {\r\n $location.path('/login');\r\n return\r\n }\r\n\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n $scope.inviteData = [{ emailID: \"\" }, { emailID: \"\" }, { emailID: \"\" }, { emailID: \"\" }, { emailID: \"\" }];\r\n $scope.user = getLocalValue(\"emailId\");\r\n $scope.isValidUsers = false;\r\n var name = getLocalValue(\"fullName\").split(' ');\r\n $scope.firstName = name[0];\r\n $scope.lastName = name[1];\r\n $scope.isDisabled = true;\r\n\r\n $scope.add = function () {\r\n //$scope.isDisabled = true;\r\n if ($scope.inviteData.length < 10) {\r\n $scope.inviteData.push({ emailID: \"\" });\r\n //$scope.isDisabled = true;\r\n }\r\n //var i, count = 0;\r\n //var emailregx = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n //for (i = 0; i < $scope.inviteData.length; i++) {\r\n // if ($scope.inviteData[i].emailID != \"\" && $scope.inviteData[i].emailID != undefined) {\r\n // if (emailregx.test($scope.inviteData[i].emailID)) {\r\n // count = count + 1;\r\n // } else {\r\n // count = 0;\r\n // }\r\n // }\r\n //}\r\n //if (count > 0) {\r\n // $scope.isDisabled = false;\r\n //}\r\n }\r\n $scope.remove = function (index) {\r\n $scope.isDisabled = true;\r\n if ($scope.inviteData.length > 1) {\r\n $scope.inviteData.splice(index, 1);\r\n }\r\n var i, count = 0;\r\n var emailregx = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n for (i = 0; i < $scope.inviteData.length; i++) {\r\n if ($scope.inviteData[i].emailID != \"\" && $scope.inviteData[i].emailID != undefined) {\r\n if (emailregx.test($scope.inviteData[i].emailID)) {\r\n count = count + 1;\r\n $('#inviteUserId' + i).removeClass('border-red');\r\n } else {\r\n count = 0;\r\n $('#inviteUserId' + i).addClass('border-red');\r\n }\r\n }\r\n\r\n if ($scope.inviteData[i].emailID == undefined) {\r\n $('#inviteUserId' + i).addClass('border-red');\r\n }\r\n else {\r\n $('#inviteUserId' + i).removeClass('border-red');\r\n }\r\n }\r\n if (count > 0) {\r\n $scope.isDisabled = false;\r\n\r\n } else {\r\n if ($scope.inviteData.length >= 1) {\r\n $scope.isDisabled = true;\r\n }\r\n }\r\n //$scope.checkInviteEmailID();\r\n }\r\n\r\n var hideMessage = function () {\r\n\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n $scope.isModalError = false;\r\n $scope.isModalSuccess = false;\r\n }\r\n\r\n $scope.checkValidEmail = function (e) {\r\n var count = 0, i, emailregx;\r\n emailregx = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if ($(e.currentTarget).val() == $scope.user) {\r\n $scope.isDisabled = true;\r\n } else {\r\n $scope.isDisabled = false;\r\n }\r\n\r\n for (i = 0; i < $scope.inviteData.length; i++) {\r\n if ($scope.inviteData[i].emailID == $scope.user) {\r\n $scope.isDisabled = true;\r\n return false;\r\n }\r\n\r\n else if ($scope.inviteData[i].emailID != \"\" && $scope.inviteData[i].emailID != undefined) {\r\n if (emailregx.test($scope.inviteData[i].emailID)) {\r\n\r\n $('#inviteUserId' + i).removeClass('border-red');\r\n count = count + 1;\r\n }\r\n else {\r\n count = 0;\r\n $('#inviteUserId' + i).addClass('border-red');\r\n }\r\n }\r\n\r\n else if ($scope.inviteData[i].emailID == undefined) {\r\n $('#inviteUserId' + i).addClass('border-red');\r\n }\r\n else {\r\n $('#inviteUserId' + i).removeClass('border-red');\r\n }\r\n }\r\n if (count > 0) {\r\n $scope.isDisabled = false;\r\n\r\n } else {\r\n if ($scope.inviteData.length >= 1) {\r\n\r\n $scope.isDisabled = true;\r\n\r\n }\r\n }\r\n //$scope.checkInviteEmailID();\r\n\r\n }\r\n\r\n\r\n\r\n $scope.inviteMember = function () {\r\n //$scope.validateInviteMemmber()\r\n //{\r\n\r\n progressBarService.showProgressBar();\r\n\r\n $rootScope.$broadcast('reloadCaptcha', {});\r\n\r\n //var userId = $cookies.get(\"UserId\");\r\n var affiliationName = getLocalValue(\"affiliationName\");\r\n\r\n\r\n\r\n var i, memberList = [];\r\n\r\n for (i = 0; i < $scope.inviteData.length; ++i) {\r\n if ($scope.inviteData[i].emailID.length > 0) {\r\n memberList.push($scope.inviteData[i].emailID);\r\n }\r\n }\r\n\r\n angular.forEach(memberList, function (value, key) {\r\n angular.forEach(memberList, function (value1, key1) {\r\n if (key != key1) {\r\n if (value.toLowerCase() == value1.toLowerCase()) {\r\n memberList.splice(key, 1);\r\n }\r\n }\r\n });\r\n });\r\n\r\n\r\n var firstName = \"\";\r\n loginService.Invite(memberList, firstName, $scope.firstName, $scope.lastName).then(function (response) {\r\n\r\n if (response != null && response.data != undefined) {\r\n if (response.data.count == 0 && response.data.errorMessage.length == 0) {\r\n $scope.message = \"You can send only 10 invites at a time.\"\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n } else if (response.data.errorMessage.length > 0) {\r\n if (response.data.status == 3) {\r\n $scope.message = response.data.errorMessage;\r\n } else {\r\n $scope.message = \"Invitation is already sent to \" + response.data.errorMessage;\r\n }\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n $scope.inviteData = [{ emailID: \"\" }, { emailID: \"\" }, { emailID: \"\" }, { emailID: \"\" }, { emailID: \"\" }];\r\n // $('form[name=\"inviteForm\"]').trigger('reset');\r\n $scope.isDisabled = true;\r\n }\r\n else {\r\n if (response.data.count != 1) {\r\n $scope.message = \"Email has been sent to \" + response.data.count + \" member(s)!\";\r\n } else {\r\n $scope.message = \"Email has been sent to \" + response.data.count + \" member!\";\r\n }\r\n\r\n $scope.isError = false;\r\n $scope.isSuccess = true;\r\n $scope.inviteData = [{ emailID: \"\" }, { emailID: \"\" }, { emailID: \"\" }, { emailID: \"\" }, { emailID: \"\" }];\r\n // $('form[name=\"inviteForm\"]').trigger('reset');\r\n $scope.isDisabled = true;\r\n //$timeout(hideMessage, 10000);\r\n //to clear captcha value\r\n //$('.numbersOnly').val('');\r\n }\r\n }\r\n else {\r\n $scope.message = GetMessage.ApiError;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n //$timeout(hideMessage, 10000);\r\n }\r\n progressBarService.hideProgressBar();\r\n });\r\n\r\n // }\r\n\r\n };\r\n\r\n //$scope.checkInviteEmailID = function () {\r\n // $scope.isValidEmailID = true;\r\n // angular.forEach($scope.inviteData, function (value, key) {\r\n // angular.forEach($scope.inviteData, function (value1, key1) {\r\n // if (key != key1) {\r\n // if (value.emailID == \"\" || value1.emailID == \"\" || value.emailID.toLowerCase() == value1.emailID.toLowerCase()) {\r\n // $scope.isValidEmailID = false;\r\n // }\r\n // } else if ($scope.inviteData.length == 1 && value.emailID != \"\") {\r\n // $scope.isValidEmailID = true;\r\n // }\r\n // });\r\n // });\r\n //}\r\n\r\n\r\n //$scope.validateInviteMemmber = function () {\r\n\r\n // var returnVal = true;\r\n // var isEmailEnter = false;\r\n\r\n // angular.forEach($(\"#CountInput input[type='text']\"), function (value, index) {\r\n // if (angular.element(value).val() != '') {\r\n // var emailregx = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\n // if (emailregx.test(angular.element(value).val())&&!user) {\r\n\r\n // $(value).siblings(\"label\").find(\"span\").fadeOut();\r\n // isEmailEnter = true;\r\n // }\r\n // else {\r\n\r\n // if (returnVal) {\r\n // $(value).focus();\r\n // }\r\n // $(value).siblings(\"label\").find(\"span\").fadeIn();\r\n // returnVal = false;\r\n // }\r\n\r\n // }\r\n // else {\r\n\r\n // if (returnVal && !isEmailEnter) {\r\n // $(value).focus();\r\n // }\r\n // $(value).siblings(\"label\").find(\"span\").fadeIn();\r\n // returnVal = isEmailEnter;\r\n // }\r\n // })\r\n // if (!$scope.captchaValid) {\r\n // return false;\r\n // }\r\n // if (!returnVal) {\r\n\r\n // this.inviteForm.$dirty = true;\r\n // var FieldShellelements, i;\r\n // FieldShellelements = $(\"#CountInput div input\");\r\n // for (i = 0; i < FieldShellelements.length; i++) {\r\n // var inviteUserName = FieldShellelements[0].name;\r\n // this.inviteForm['inviteUserName' + i].$dirty = true;\r\n // };\r\n // }\r\n // return returnVal;\r\n //}\r\n\r\n $scope.getPastedText = function (event, index) {\r\n setTimeout(function () {\r\n $scope.inviteData[index].emailID = $(event.currentTarget).val();\r\n $scope.checkValidEmail(event);\r\n $scope.$apply();\r\n }, 1);\r\n }\r\n\r\n }]);\r\n\r\n})();\r\n\r\n\r\n\r\n","(function () {\r\n 'use strict';\r\n app.controller('usercontroller', ['$scope', 'LoginService', 'progressBarService', '$location', '$cookies', '$rootScope', '$timeout', function ($scope, loginService, progressBarService, $location, $cookies, $rootScope, $timeout) {\r\n\r\n if ($rootScope.globalConfig.adminUser == undefined || $rootScope.globalConfig.adminUser != $cookies.get(\"userName\")) {\r\n $location.path(\"/notfound\");\r\n return false;\r\n }\r\n\r\n $scope.register = function () {\r\n // Validate user details\r\n if ($scope.ValidateUserDetails()) {\r\n progressBarService.showProgressBar();\r\n\r\n\r\n var userRegistrationInfo = {\r\n FirstName: angular.element(\"#txtFirstName\").val(),\r\n LastName: angular.element(\"#txtLastName\").val(),\r\n UserName: angular.element(\"#txtUserName\").val(),\r\n Email: angular.element(\"#txtEmailAddress\").val(),\r\n Password: angular.element(\"#txtPassword\").val(),\r\n ConfirmPassword: angular.element(\"#txtPassword\").val()\r\n };\r\n\r\n loginService.register(userRegistrationInfo).then(function (response) {\r\n if (response != null && response.error != undefined) {\r\n //$scope.message = response.error_description;\r\n alert(\"Error while saving user : \" + response.error_description);\r\n }\r\n else {\r\n $(\"#txtFirstName\").val('');\r\n $(\"#txtFirstName\").siblings(\"label\").removeClass(\"active\");\r\n $(\"#txtLastName\").val('');\r\n $(\"#txtLastName\").siblings(\"label\").removeClass(\"active\");\r\n $(\"#txtUserName\").val('');\r\n $(\"#txtUserName\").siblings(\"label\").removeClass(\"active\");\r\n $(\"#txtEmailAddress\").val('');\r\n $(\"#txtEmailAddress\").siblings(\"label\").removeClass(\"active\");\r\n $(\"#txtPassword\").val('');\r\n $(\"#txtPassword\").siblings(\"label\").removeClass(\"active\");\r\n $(\"#txtConfirmPassword\").val('');\r\n $(\"#txtConfirmPassword\").siblings(\"label\").removeClass(\"active\");\r\n alert(\"User added successfully\");\r\n }\r\n progressBarService.hideProgressBar();\r\n });\r\n }\r\n };\r\n\r\n $scope.ValidateUserDetails = function () {\r\n var returnVal = true;\r\n if (angular.element(\"#txtFirstName\").val() != '') {\r\n $(\"#txtFirstName\").removeClass(\"border-red\");\r\n $(\"#txtFirstName\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n $(\"#txtFirstName\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#txtFirstName\").focus();\r\n }\r\n $(\"#txtFirstName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n if (angular.element(\"#txtLastName\").val() != '') {\r\n $(\"#txtLastName\").removeClass(\"border-red\");\r\n $(\"#txtLastName\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n $(\"#txtLastName\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#txtLastName\").focus();\r\n }\r\n $(\"#txtLastName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n if (angular.element(\"#txtUserName\").val() != '') {\r\n $(\"#txtUserName\").removeClass(\"border-red\");\r\n $(\"#txtUserName\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n $(\"#txtUserName\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#txtUserName\").focus();\r\n }\r\n $(\"#txtUserName\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n if (angular.element(\"#txtEmailAddress\").val() != '') {\r\n var email = angular.element(\"#txtEmailAddress\").val();\r\n var regExp = /^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$/;\r\n\r\n var isValid = regExp.test(email);\r\n if (isValid) {\r\n $(\"#txtEmailAddress\").removeClass(\"border-red\");\r\n $(\"#txtEmailAddress\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n else {\r\n $(\"#txtEmailAddress\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#txtEmailAddress\").focus();\r\n }\r\n $(\"#txtEmailAddress\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n }\r\n else {\r\n $(\"#txtEmailAddress\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#txtEmailAddress\").focus();\r\n }\r\n $(\"#txtEmailAddress\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (angular.element(\"#txtPassword\").val() != '') {\r\n $(\"#txtPassword\").removeClass(\"border-red\");\r\n $(\"#txtPassword\").siblings(\"label\").find(\"span\").fadeOut();\r\n\r\n if (angular.element(\"#txtPassword\").val() != angular.element(\"#txtConfirmPassword\").val()) {\r\n $(\"#txtConfirmPassword\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#txtConfirmPassword\").focus();\r\n }\r\n $(\"#txtConfirmPassword\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n else {\r\n $(\"#txtConfirmPassword\").removeClass(\"border-red\");\r\n $(\"#txtConfirmPassword\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n }\r\n else {\r\n $(\"#txtPassword\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#txtPassword\").focus();\r\n }\r\n $(\"#txtPassword\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n return returnVal;\r\n }\r\n\r\n $scope.setTextboxStyle = function () {\r\n $(\".input-feild-textbox\").on(\"focusin\", function () {\r\n $(this).parent().siblings(\"label\").addClass(\"active\");\r\n $(this).siblings(\"label\").addClass(\"active\");\r\n }).focusout(function () {\r\n if (!$(this).val().trim()) {\r\n $(this).parent().siblings(\"label\").removeClass(\"active\");\r\n $(this).siblings(\"label\").removeClass(\"active\");\r\n }\r\n });\r\n };\r\n\r\n $scope.setTextboxStyle();\r\n\r\n $(\".swipe-wrap\").on('focusout', \"#txtFirstName\", function (e) {\r\n var getVal = $(this).val();\r\n if (getVal == '') {\r\n $(this).removeClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").hide();\r\n }\r\n });\r\n $(\".swipe-wrap\").on('keyup', \"#txtFirstName\", function (e) {\r\n var getVal = $(this).val();\r\n if (getVal != '') {\r\n $(this).removeClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").hide();\r\n } else {\r\n $(this).addClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").show();\r\n }\r\n });\r\n\r\n $(\".swipe-wrap\").on('focusout', \"#txtLastName\", function (e) {\r\n var getVal = $(this).val();\r\n if (getVal == '') {\r\n $(this).removeClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").hide();\r\n }\r\n });\r\n $(\".swipe-wrap\").on('keyup', \"#txtLastName\", function (e) {\r\n var getVal = $(this).val();\r\n if (getVal != '') {\r\n $(this).removeClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").hide();\r\n }\r\n else {\r\n $(this).addClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").show();\r\n }\r\n });\r\n\r\n $(\".swipe-wrap\").on('focusout', \"#txtUserName\", function (e) {\r\n var getVal = $(this).val();\r\n if (getVal == '') {\r\n $(this).removeClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").hide();\r\n }\r\n });\r\n $(\".swipe-wrap\").on('keyup', \"#txtUserName\", function (e) {\r\n var getVal = $(this).val();\r\n if (getVal != '') {\r\n $(this).removeClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").hide();\r\n }\r\n else {\r\n $(this).addClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").show();\r\n }\r\n });\r\n\r\n $(\".swipe-wrap\").on('focusout', \"#txtPassword\", function (e) {\r\n var getVal = $(this).val();\r\n if (getVal == '') {\r\n $(this).removeClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").hide();\r\n }\r\n });\r\n $(\".swipe-wrap\").on('keyup', \"#txtPassword\", function (e) {\r\n var getVal = $(this).val();\r\n if (getVal != '') {\r\n $(this).removeClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").hide();\r\n }\r\n else {\r\n $(this).addClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").show();\r\n }\r\n });\r\n $(\".swipe-wrap\").on('focusout', \"#txtEmailAddress\", function (e) {\r\n var getVal = $(this).val();\r\n if (getVal == '') {\r\n $(this).removeClass(\"border-red\");\r\n $(this).siblings(\"label\").find(\"span\").hide();\r\n }\r\n });\r\n\r\n\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n app.controller('indexController', ['$rootScope', '$scope', '$location', '$cookies', 'AuthenticationService', 'LoginService', 'progressBarService', '$route', '$http', function ($rootScope, $scope, $location, $cookies, AuthenticationService, loginService, progressBarService, $route, $http) {\r\n\r\n $scope.logOut = function () {\r\n if ($rootScope.buildConfig.aippSurveyOn) {\r\n $('#survayDetails').appendTo(\"body\").modal('show');\r\n }\r\n else {\r\n loginService.logOut();\r\n $location.path('/home');\r\n }\r\n\r\n }\r\n var serviceBase = $rootScope.buildConfig.aippsssApiBaseUrl;\r\n $rootScope.PlotGraphLinkCSS = 'disabled';\r\n $rootScope.SaveWorkspaceLinkCSS = '';\r\n $scope.closeBrowser = function () {\r\n $('#survayDetails').appendTo(\"body\").modal('show');\r\n\r\n }\r\n\r\n $rootScope.isSA = getLocalValue('userRole') == 'SAdmin';\r\n\r\n $scope.reloadCaptcha = function () {\r\n $rootScope.$broadcast('reloadCaptcha', {});\r\n }\r\n\r\n $('#survayDetails').on('hide.bs.modal', function () {\r\n loginService.logOut();\r\n $location.path('/home');\r\n });\r\n\r\n $scope.redirectToLanding = function () {\r\n if (getLocalValue('userRole') == 'SAdmin') {\r\n $rootScope.PlotGraphLinkCSS = 'disabled';\r\n $rootScope.SaveWorkspaceLinkCSS = '';\r\n $location.path('admin/landing');\r\n\r\n }\r\n else if (getLocalValue('userRole') == undefined) {\r\n\r\n $location.path('home');\r\n }\r\n else {\r\n $rootScope.PlotGraphLinkCSS = 'disabled';\r\n $rootScope.SaveWorkspaceLinkCSS = '';\r\n $location.path('landing');\r\n }\r\n }\r\n\r\n $scope.isAuthenticated = false;\r\n $scope.fullName = '';\r\n $scope.institute = '';\r\n $rootScope.isSA = getLocalValue('userRole') == 'SAdmin' ? true : false;\r\n $rootScope.isForgotPassword = false;\r\n\r\n $(\"body\").on('click', '.forgotpassword', function () {\r\n $rootScope.$broadcast('reloadCaptcha', {});\r\n angular.element(\"#forgotPassword\").click();\r\n });\r\n\r\n $scope.forgotPassword = function () {\r\n $rootScope.$broadcast('reloadCaptcha', {});\r\n $rootScope.isForgotPassword = true;\r\n $(\"form[name=forgotPasswordForm]\").trigger('reset');\r\n $('.border-red').removeClass('border-red');\r\n $rootScope.$broadcast('forgotPassword');\r\n $('form#forgot-nav #forgotEmailId').val($('form#login-nav #userName').val());\r\n };\r\n // loginService.getInstituteName();\r\n $scope.isAutorenewed = false;\r\n\r\n var authData = AuthenticationService.getTokenInfo();\r\n if (authData) {\r\n //$scope.userName = authData.userName;\r\n $scope.isAuthenticated = true;\r\n $scope.fullName = getLocalValue('fullName');\r\n $scope.institute = $cookies.get('institute');\r\n getObjectTechniques();\r\n if ($location.$$path == '/home') {\r\n if (getLocalValue('userRole') == 'SAdmin') {\r\n $location.path('/admin/landing');\r\n } else {\r\n $location.path('/landing');\r\n }\r\n }\r\n }\r\n\r\n $(\".linkToAccessOption\").click(function (e) {\r\n if (authData) {\r\n } else {\r\n if ($location.$$path == '/home') {\r\n $(\"body, html\").animate({\r\n scrollTop: $(\"#accessOptionContainer\").offset().top\r\n }, 600);\r\n }\r\n }\r\n });\r\n\r\n // to avoid multiple events on loginSuccess\r\n var destroyLogin;\r\n\r\n destroyLogin = $scope.$on('loginSuccess', function (event, args) {\r\n\r\n if ($scope.institute == '') {\r\n $scope.userName = args.userName;\r\n $scope.isAuthenticated = true;\r\n $scope.isAutorenewed = getLocalValue('isAutorenewed') === \"1\" ? true : false;\r\n }\r\n getObjectTechniques();\r\n loginService.setUserDetail(args.userName).then(function (response) {\r\n if ($rootScope.urlworkspaceid != null && $rootScope.urlworkspaceid != '' && $rootScope.isFirstLogin == '0') {\r\n $location.path('/plotgraph');\r\n }\r\n else {\r\n $rootScope.urlworkspaceid = null;\r\n if (getLocalValue('userRole') == 'SAdmin') {\r\n\r\n\r\n $location.path('/admin/landing');\r\n } else {\r\n $location.path('/landing');\r\n\r\n }\r\n }\r\n });\r\n\r\n progressBarService.hideProgressBar();\r\n });\r\n\r\n $scope.$on('logoutSuccess', function (event, args) {\r\n $scope.userName = '';\r\n $scope.isAuthenticated = false;\r\n $scope.fullName = '';\r\n $scope.institute = '';\r\n $scope.isAutorenewed = false;\r\n $scope.teamInfoBanner = undefined;\r\n });\r\n\r\n $scope.$on('setUserSuccess', function (event, args) {\r\n if ($scope.fullName != args.fullName) {\r\n $scope.fullName = args.fullName;\r\n }\r\n });\r\n\r\n $scope.$on('$destroy', function () {\r\n destroyLogin(); // remove listener.\r\n });\r\n\r\n function getObjectTechniques() {\r\n $http({\r\n method: \"GET\",\r\n url: serviceBase + \"getObjectTechniques\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n }).success(function (data, headers, status) {\r\n if (getLocalValue(\"objectTechniques\") == undefined) {\r\n setLocalValue(\"objectTechniques\", data);\r\n }\r\n getTeamInfo();\r\n });\r\n }\r\n\r\n function getTeamInfo() {\r\n $http({\r\n method: \"GET\",\r\n url: serviceBase + \"api/Account/teamInfo\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n }).success(function (data, headers, status) {\r\n $scope.teamInfoBanner = data;\r\n });\r\n }\r\n\r\n $scope.$on('getTeamInfo', function () {\r\n getTeamInfo();\r\n });\r\n\r\n function setFooter() {\r\n progressBarService.showProgressBar();\r\n\r\n $http({\r\n method: \"GET\",\r\n url: serviceBase + \"globalValues\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n }).success(function (data, headers, status) {\r\n\r\n var freeUserSpaceSize = data.loginFreeUserSpaceSize.slice(0, -2);\r\n var premUserSpaceSize = data.loginPremUserSpaceSize.slice(0, -2);\r\n var surveyMonkeyPopupLoadTime = data.surveyMonkeyPopupLoadTime;\r\n\r\n $rootScope.LoginFreeUserSpaceSize = freeUserSpaceSize < '1000' ? freeUserSpaceSize + 'MB' : freeUserSpaceSize / 1000 + 'GB';\r\n $rootScope.LoginPremUserSpaceSize = premUserSpaceSize < '1000' ? premUserSpaceSize + 'MB' : premUserSpaceSize / 1000 + 'GB';\r\n\r\n $rootScope.SurveyMonkeyPopupLoadTime = surveyMonkeyPopupLoadTime;\r\n\r\n setCookie(\"loginFreeUserSpaceSize\", $rootScope.LoginFreeUserSpaceSize, $cookies);\r\n setCookie(\"loginPremUserSpaceSize\", $rootScope.LoginPremUserSpaceSize, $cookies);\r\n setCookie(\"surveyMonkeyPopupLoadTime\", $rootScope.SurveyMonkeyPopupLoadTime, $cookies);\r\n\r\n var monthlyPrice = data.productPackMonthlyPrice.toString().split('.');\r\n if (monthlyPrice.length > 1) {\r\n $rootScope.ProductPackMonthlyPriceInDollar = monthlyPrice[0];\r\n $rootScope.ProductPackMonthlyPriceInCents = monthlyPrice[1];\r\n } else {\r\n $rootScope.ProductPackMonthlyPriceInDollar = monthlyPrice[0];\r\n }\r\n $rootScope.ProductPackYearlyPrice = data.productPackYearlyPrice;\r\n setCookie(\"productPackMonthlyPrice\", data.productPackMonthlyPrice, $cookies);\r\n setCookie(\"productPackYearlyPrice\", data.productPackYearlyPrice, $cookies);\r\n setCookie(\"versionNo\", data.applicationVersionNumber, $cookies);\r\n $rootScope.applicationVersionNo = data.applicationVersionNumber;\r\n $('#copyRightYear').text(new Date().getFullYear());\r\n $('#appVersion strong').html(getCookie(\"versionNo\", $cookies));\r\n\r\n progressBarService.hideProgressBar();\r\n })\r\n }\r\n\r\n $scope.$on('setFooter', function () {\r\n setFooter(); \r\n });\r\n\r\n if (getCookie(\"versionNo\", $cookies) === undefined || getCookie(\"versionNo\", $cookies) == \"\" || getCookie(\"versionNo\", $cookies) == null) {//($cookies.get(\"versionNo\") === undefined || $cookies.get(\"versionNo\") == \"\" || $cookies.get(\"versionNo\") == null) {\r\n setFooter();\r\n } else {\r\n $rootScope.LoginFreeUserSpaceSize = getCookie(\"loginFreeUserSpaceSize\", $cookies);\r\n $rootScope.LoginPremUserSpaceSize = getCookie(\"loginPremUserSpaceSize\", $cookies);\r\n\r\n var monthlyPrice = getCookie(\"productPackMonthlyPrice\", $cookies).toString().split('.');\r\n if (monthlyPrice.length > 1) {\r\n $rootScope.ProductPackMonthlyPriceInDollar = monthlyPrice[0];\r\n $rootScope.ProductPackMonthlyPriceInCents = monthlyPrice[1];\r\n } else {\r\n $rootScope.ProductPackMonthlyPriceInDollar = monthlyPrice[0];\r\n }\r\n\r\n $rootScope.ProductPackYearlyPrice = getCookie(\"productPackYearlyPrice\", $cookies);\r\n $('#copyRightYear').text(new Date().getFullYear());\r\n $('#appVersion strong').html(getCookie(\"versionNo\", $cookies));\r\n }\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n app.controller('resetPasswordController', ['$scope', 'LoginService', '$location', '$cookies', 'AuthenticationService', 'progressBarService', '$rootScope', '$timeout', '$routeParams', 'CommonService', function ($scope, loginService, $location, $cookies, AuthenticationService, progressBarService, $rootScope, $timeout, $routeParams, commonService) {\r\n\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n\r\n\r\n $scope.registrationData = {\r\n emailId: \"\",\r\n registeredPassword: \"\",\r\n resetCode: \"\",\r\n confirmPassword: \"\"\r\n }\r\n var hideMessage = function () {\r\n\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n $scope.isModalError = false;\r\n $scope.isModalSuccess = false;\r\n }\r\n\r\n $scope.validatePassword = function (event) {\r\n commonService.validatePassword($scope, event);\r\n }\r\n\r\n $scope.resetPassword = function () {\r\n // Validate user details\r\n if ($scope.ValidateUserDetails()) {\r\n progressBarService.showProgressBar();\r\n\r\n var resetPasswordInfo = {\r\n eSpectraEmail: $routeParams.userId,\r\n eSpectraPassword: angular.element(\"#resetPassword\").val(),\r\n eSpectraPasswordResetCode: $routeParams.resetCode\r\n };\r\n\r\n loginService.resetPassword(resetPasswordInfo).then(function (response) {\r\n if (response != null && response.data.message != undefined) {\r\n $scope.message = response.data.message;\r\n $scope.isError = true;\r\n $scope.isSuccess = false;\r\n //$timeout(hideMessage, 10000);\r\n }\r\n else {\r\n \r\n localStorage.setItem(\"email\", response.data);\r\n $scope.message = GetMessage.passwordChangedSuccessfully;\r\n $('form[name=\"resetForm\"]').trigger('reset');\r\n $('#strength').hide();\r\n $scope.isError = false;\r\n $scope.isSuccess = true;\r\n //$timeout(hideMessage, 10000);\r\n\r\n }\r\n progressBarService.hideProgressBar();\r\n });\r\n }\r\n };\r\n\r\n $scope.ValidateUserDetails = function () {\r\n var returnVal = true;\r\n if (angular.element(\"#resetPassword\").val() != '') {\r\n var password = angular.element(\"#resetPassword\").val();\r\n var regExp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+=-])[A-Za-z\\d!@#$%^&*()_+=-]{7,20}$/;\r\n\r\n var isValid = regExp.test(password);\r\n if (isValid) {\r\n $(\"#resetPassword\").removeClass(\"border-red\");\r\n $(\"#resetPassword\").siblings(\"label\").find(\"span\").fadeOut();\r\n } else {\r\n //$(\"#resetPassword\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#resetPassword\").focus();\r\n }\r\n $(\"#resetPassword\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (angular.element(\"#resetPassword\").val() != angular.element(\"#confirmPassword\").val()) {\r\n //$(\"#confirmPassword\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#confirmPassword\").focus();\r\n }\r\n $(\"#confirmPassword\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n else {\r\n $(\"#confirmPassword\").removeClass(\"border-red\");\r\n $(\"#confirmPassword\").siblings(\"label\").find(\"span\").fadeOut();\r\n }\r\n }\r\n else {\r\n //$(\"#resetPassword\").addClass(\"border-red\");\r\n if (returnVal) {\r\n $(\"#resetPassword\").focus();\r\n }\r\n $(\"#resetPassword\").siblings(\"label\").find(\"span\").fadeIn();\r\n returnVal = false;\r\n }\r\n\r\n if (!returnVal) {\r\n this.reseresetForm.resetPassword.$dirty = true;\r\n this.reseresetForm.confirmPassword.$dirty = true;\r\n }\r\n\r\n return returnVal;\r\n }\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n app.controller('landingController', ['$scope', '$location', '$cookies', 'progressBarService', '$rootScope', '$timeout', '$routeParams', 'LoginService', function ($scope, $location, $cookies, progressBarService, $rootScope, $timeout, $routeParams, loginService) {\r\n\r\n if ($cookies.get('TokenInfo') == undefined || localStorage.getItem('appInfo') == undefined || getLocalValue('userRole') == 'SAdmin') {\r\n $location.path('/login');\r\n return\r\n }\r\n $scope.ispremiumUser = getLocalValue('isPremiumMember')\r\n $scope.isPrimaryAdmin = getLocalValue('userRole').toLowerCase() == \"primary administrator\" ? true : false;\r\n $scope.SurveyMonkeyPopupLoadTime = getCookie(\"surveyMonkeyPopupLoadTime\", $cookies)\r\n \r\n $scope.popupExtraInfo = function () {\r\n if ($rootScope.isFirstLogin == '1') {\r\n $('#extraInfo').modal({ backdrop: 'static', keyboard: false });\r\n //$rootScope.isFirstLogin = '0';\r\n }\r\n }\r\n\r\n \r\n\r\n $scope.dataModel = {\r\n currentPosition: \"\",\r\n industry: \"\",\r\n interest: \"\",\r\n peerReviewerYes: 0,\r\n currentProject: \"\",\r\n maxInterestLength: 100\r\n }\r\n\r\n var hideMessage = function () {\r\n $scope.isModalError = false;\r\n $scope.isModalSuccess = false;\r\n $scope.modalMessage = '';\r\n }\r\n\r\n\r\n $rootScope.$broadcast('getTeamInfo', {});\r\n\r\n $scope.submitData = function () {\r\n //var peerReviewerFlag = $('#yes')[0].checked ? 1 : 0;\r\n\r\n var data = {\r\n eSpectraProfessionalTitle: $scope.dataModel.currentPosition,\r\n eSpectraPrimaryAreaOfInterest: $scope.dataModel.interest,\r\n eSpectraLatestProject: $scope.dataModel.currentProject,\r\n eSpectraPrimaryIndustry: $scope.dataModel.industry,\r\n // eSpectraSSSPeerReviewerFlag: peerReviewerFlag,\r\n //eSpectraPersonID: $cookies.get('UserId')\r\n };\r\n\r\n loginService.saveExtraInfo(data).then(function (response) {\r\n if (response == null) {\r\n //$('#extraInfo').modal('hide');\r\n //if ($rootScope.hasSharedWorkspaces == '1') {\r\n // $location.path('/savedWorkedSpace');\r\n //}\r\n $scope.hideModal();\r\n }\r\n else {\r\n $scope.modalMessage = response.data.message;\r\n $scope.isModalError = true;\r\n $scope.isModalSuccess = false;\r\n //$timeout(hideMessage, 10000);\r\n }\r\n });\r\n }\r\n\r\n $scope.hideModal = function () {\r\n $('#extraInfo').modal('hide');\r\n if ($rootScope.hasSharedWorkspaces == '1') {\r\n $location.path('/savedWorkedSpace');\r\n } else {\r\n $rootScope.isFirstLogin = '0';\r\n }\r\n }\r\n\r\n $scope.popupExtraInfo();\r\n\r\n if ($rootScope.buildConfig.surveyMonkeyAfterLogin) {\r\n $timeout(function () {\r\n (function (t, e, s, o) { var n, c, l; t.SMCX = t.SMCX || [], e.getElementById(o) || (n = e.getElementsByTagName(s), c = n[n.length - 1], l = e.createElement(s), l.type = \"text/javascript\", l.async = !0, l.id = o, l.src = \"https://widget.surveymonkey.com/collect/website/js/tRaiETqnLgj758hTBazgd_2BNHLyIwmuFE7cezwkskiixLls5pSrhPm15gxny5PVsU.js\", c.parentNode.insertBefore(l, c)) })(window, document, \"script\", \"smcx-sdk\");\r\n }, $scope.SurveyMonkeyPopupLoadTime);\r\n }\r\n \r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n app.controller('adminLandingController', ['$scope', '$location', '$cookies', '$route', function ($scope, $location, $cookies, $route) {\r\n if ($cookies.get('TokenInfo') == undefined || localStorage.getItem('appInfo') == undefined || getLocalValue('userRole') != 'SAdmin') {\r\n $location.path('/login');\r\n return;\r\n }\r\n }]);\r\n})();","(function () {\r\n 'use strict';\r\n app.service('storagemanagementService', ['$http', '$q', '$rootScope','$cookies',\r\n function ($http, $q, $rootScope, $cookies) {\r\n\r\n var serviceBase = $rootScope.buildConfig.aippsssApiBaseUrl;\r\n var deviceInfo = [];\r\n var deferred;\r\n \r\n this.getStorageDetails = function (data) {\r\n \r\n deferred = $q.defer();\r\n $http.post(serviceBase + \"api/super/storagedata\", data, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n this.saveStorageDetails = function (data) {\r\n\r\n deferred = $q.defer();\r\n $http.post(serviceBase + \"api/super/updateStorageCapacity?partyId=\" + data.eSpectraSubmitPersonID + \"&capacity=\" + data.size, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.getStorageDetailsReport = function (data) {\r\n\r\n var searchByPremium = data.searchByPremium == true ? 2 : '-1';\r\n var searchByRestricted = data.searchByRestricted == true ? 1 : '-1';\r\n var searchByFree = data.searchByFree == true ? 0 : '-1';\r\n var sortDirection = data.reverse == true ? 'desc' : 'asc';\r\n var searchByIndividualAccount = data.searchByIndividualAccount ? '1' : '0';\r\n var searchByInstitutionAccount = data.searchByInstitutionAccount ? '1' : '0';\r\n var searchByAdministrator = data.searchByAdministrator ? '1' : '0';\r\n deferred = $q.defer();\r\n $http.get(serviceBase + \"api/super/storagedatareport?searchByName=\" + data.searchByName + \"&searchByEmail=\" + data.searchByEmail + \"&searchByInstitutionName=\" + data.searchByInstitutionName + \"&searchByPremium=\" + searchByPremium + \"&searchByRestricted=\" + searchByRestricted + \"&searchByFree=\" + searchByFree + \"&sortBy=\" + data.sortBy + \"&reverse=\" + sortDirection + \"&searchByAdministrator=\" + searchByAdministrator + \"&searchByInstitutionAccount=\" + searchByInstitutionAccount+ \"&searchByIndividualAccount=\" + searchByIndividualAccount, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n\r\n this.getinvitedUserDetail = function (data) {\r\n\r\n deferred = $q.defer();\r\n $http.get(serviceBase + \"api/super/invitedUserDetails/\" + data, {\r\n }).then(function (response) {\r\n deferred.resolve(response);\r\n })\r\n .catch(function (err) {\r\n deferred.resolve(err);\r\n });\r\n return deferred.promise;\r\n }\r\n }\r\n ]);\r\n})();","(function () {\r\n 'use strict';\r\n app.controller('storagemanagementController', ['storagemanagementService', '$scope', '$location', '$cookies', 'progressBarService', '$rootScope', '$timeout', '$routeParams', function (storagemanagementService, $scope, $location, $cookies, progressBarService, $rootScope, $timeout, $routeParams) {\r\n\r\n\r\n if ($cookies.get('TokenInfo') == undefined || localStorage.getItem('appInfo') == undefined || getLocalValue('userRole') != 'SAdmin') {\r\n $location.path('/login');\r\n return\r\n }\r\n\r\n $scope.active = true;\r\n $scope.active1 = true;\r\n $scope.tab = 1;\r\n\r\n //$scope.setTab = function (newTab) {\r\n\r\n // $scope.tab = newTab;\r\n //};\r\n\r\n $scope.isSet = function (tabNum) {\r\n\r\n return $scope.tab === tabNum;\r\n };\r\n\r\n $scope.filter = {\r\n eSpectraEmail: \"\",\r\n affiliationName: \"\",\r\n eSpectraFullName: \"\"\r\n };\r\n\r\n $scope.storageManagementValues = function () {\r\n $scope.searchByUser = {\r\n sortBy: '',\r\n reverse: false,\r\n currentPage: 1,\r\n itemsPerPage: 10,\r\n searchByName: \"\",\r\n searchByEmail: \"\",\r\n searchByPremium: true,\r\n searchByRestricted: true,\r\n searchByFree: true,\r\n searchByInstitutionName: '',\r\n totalRecords: 0,\r\n searchByAdministrator: true,\r\n searchByIndividualAccount: true,\r\n searchByInstitutionAccount: true\r\n }\r\n\r\n\r\n $scope.searchByInstitute = {\r\n sortBy: '',\r\n reverse: false,\r\n currentPage: 1,\r\n itemsPerPage: 10,\r\n searchByName: \"\",\r\n searchByEmail: \"\",\r\n searchByPremium: true,\r\n searchByRestricted: true,\r\n searchByFree: true,\r\n isAffiliation: 1,\r\n totalRecords: 0\r\n }\r\n }\r\n\r\n $scope.storageManagementValues();\r\n\r\n $scope.clearData = function () {\r\n $scope.storageManagementValues();\r\n $scope.storageDetailsAffiliation = [];\r\n $scope.storageDetails = [];\r\n }\r\n\r\n $scope.setPage = function (currentPage) {\r\n\r\n $scope.searchByUser.currentPage = currentPage;\r\n $scope.getStorageDetails($scope.searchByUser);\r\n }\r\n $scope.setInstitutePage = function (currentPage) {\r\n\r\n $scope.searchByInstitute.currentPage = currentPage;\r\n $scope.getStorageDetails($scope.searchByInstitute);\r\n }\r\n $scope.sort = function (sortBy, byAffiliation) {\r\n if ($scope.searchByUser.totalRecords < 1 && byAffiliation == 0) {\r\n return false;\r\n }\r\n else if ($scope.searchByInstitute.totalRecords < 1 && byAffiliation == 1) {\r\n\r\n return false;\r\n }\r\n $scope.searchByUser.sortBy = sortBy;\r\n $scope.searchByUser.reverse = !$scope.searchByUser.reverse;\r\n $scope.searchByUser.currentPage = 1;\r\n //$scope.searchByUser.isAffiliation = byAffiliation;\r\n $scope.getStorageDetails($scope.searchByUser);\r\n\r\n };\r\n $scope.getStorageDetails = function (data) {\r\n $scope.message = '';\r\n progressBarService.showProgressBar();\r\n\r\n var search = {\r\n eSpectraLastName: data.searchByName,\r\n eSpectraEmail: data.searchByEmail,\r\n eSpectraPrimaryAffiliationName: data.searchByInstitutionName,\r\n Restricted: data.searchByRestricted == true ? 1 : '-1',\r\n Free: data.searchByFree == true ? 0 : '-1',\r\n PremiumType: data.searchByPremium == true ? 2 : '-1',\r\n PageNo: data.currentPage,\r\n SortBy: data.sortBy,\r\n Reverse: data.reverse == true ? 'desc' : 'asc',\r\n ItemsPerPage: data.itemsPerPage,\r\n Administrator: data.searchByAdministrator ? '1' : '0',\r\n IndividualAccount: data.searchByIndividualAccount ? '1' : '0',\r\n InstitutionAccount: data.searchByInstitutionAccount ? '1' : '0'\r\n };\r\n\r\n storagemanagementService.getStorageDetails(search).then(function (response) {\r\n\r\n if (response != null && response.data.message != undefined) {\r\n $scope.storageDetails = [];\r\n $scope.searchByUser.totalRecords = 0;\r\n $scope.message = response.data.message;\r\n }\r\n else {\r\n angular.forEach(response.data.dataManagementDetails, function (value1, i) {\r\n\r\n response.data.dataManagementDetails[i].editable = false;\r\n if (response.data.dataManagementDetails[i].totalAllocatedSize.indexOf('MB') > -1) {\r\n response.data.dataManagementDetails[i].unit = 'MB';\r\n response.data.dataManagementDetails[i].size = response.data.dataManagementDetails[i].totalAllocatedSize.replace('MB', '');\r\n }\r\n else if (response.data.dataManagementDetails[i].totalAllocatedSize.indexOf('GB') > -1) {\r\n response.data.dataManagementDetails[i].unit = 'GB';\r\n response.data.dataManagementDetails[i].size = response.data.dataManagementDetails[i].totalAllocatedSize.replace('GB', '');\r\n }\r\n\r\n });\r\n\r\n //if (data.isAffiliation == 1) {\r\n\r\n // $scope.storageDetailsAffiliation = response.data.dataManagementDetails;\r\n // $scope.searchByInstitute.totalRecords = response.data.totalRecords;\r\n //}\r\n //else \r\n //if (data.isAffiliation == 0) {\r\n $scope.storageDetails = response.data.dataManagementDetails;\r\n $scope.searchByUser.totalRecords = response.data.totalRecords;\r\n //}\r\n }\r\n\r\n progressBarService.hideProgressBar();\r\n });\r\n };\r\n\r\n if ($rootScope.eSpectraUserAnalyticsEmailID != undefined) {\r\n $scope.searchByUser.searchByEmail = $rootScope.eSpectraUserAnalyticsEmailID;\r\n $scope.getStorageDetails($scope.searchByUser);\r\n }\r\n\r\n\r\n $scope.numberOfPages = function () {\r\n return Math.ceil($scope.invitedDetails.length / $scope.invitationPageInfo.pageSize);\r\n }\r\n\r\n $scope.getDetailsOfInvitationsSent = function (data) {\r\n $scope.invitationPageInfo = {\r\n currentPage: 0,\r\n pageSize: 5\r\n }\r\n $scope.modalMessage = '';\r\n $scope.isModalError = false;\r\n progressBarService.showProgressBar();\r\n storagemanagementService.getinvitedUserDetail(data.eSpectraSubmitPersonID).then(function (response) {\r\n\r\n if (response != null && response.data.message != undefined) {\r\n $scope.modalMessage = response.data.message;\r\n $scope.isModalError = true;\r\n $('#DetailsOfInvitation').modal('show');\r\n }\r\n else {\r\n $scope.invitedDetails = response.data;\r\n $scope.numberOfPages();\r\n $('#DetailsOfInvitation').modal('show');\r\n }\r\n progressBarService.hideProgressBar();\r\n });\r\n };\r\n\r\n $scope.editAffiliationStorage = function (index) {\r\n\r\n $scope.storageDetailsAffiliation[index].editable = !$scope.storageDetailsAffiliation[index].editable;\r\n }\r\n\r\n\r\n $scope.saveStorageDetails = function (index) {\r\n\r\n var data = $scope.storageDetailsAffiliation[index];\r\n\r\n var usedSize;\r\n\r\n if (data.usedSize.indexOf('MB') > -1) {\r\n usedSize = data.usedSize.substr(0, data.usedSize.length - 2);\r\n }\r\n else {\r\n usedSize = data.usedSize;\r\n }\r\n\r\n if (usedSize > data.size) {\r\n $scope.frmAffiliationStorage['updateInstStorage' + index].$invalid = true;\r\n $('#updateInstStorage' + index).addClass('border-red');\r\n return;\r\n }\r\n\r\n progressBarService.showProgressBar();\r\n\r\n storagemanagementService.saveStorageDetails(data).then(function (response) {\r\n if (response != null && response.data.message != undefined) {\r\n\r\n }\r\n else {\r\n\r\n $scope.editAffiliationStorage(index);\r\n $scope.storageDetailsAffiliation[index].totalAllocatedSize = data.size + data.unit;\r\n\r\n }\r\n\r\n progressBarService.hideProgressBar();\r\n });\r\n };\r\n\r\n\r\n $scope.editIndividualStorage = function (index) {\r\n\r\n $scope.storageDetails[index].editable = !$scope.storageDetails[index].editable;\r\n }\r\n\r\n\r\n $scope.saveStorageIndividualDetails = function (index) {\r\n\r\n var data = $scope.storageDetails[index];\r\n var usedSize;\r\n\r\n if (data.usedSize.indexOf('MB') > -1) {\r\n usedSize = data.usedSize.substr(0, data.usedSize.length - 2);\r\n }\r\n else {\r\n usedSize = data.usedSize;\r\n }\r\n\r\n if (usedSize > data.size) {\r\n $scope.frmIndividualStorage['updateIndStorage' + index].$invalid = true;\r\n $('#updateIndStorage' + index).addClass('border-red');\r\n return;\r\n }\r\n\r\n progressBarService.showProgressBar();\r\n\r\n storagemanagementService.saveStorageDetails(data).then(function (response) {\r\n if (response != null && response.data.message != undefined) {\r\n\r\n }\r\n else {\r\n\r\n $scope.editIndividualStorage(index);\r\n $scope.storageDetails[index].totalAllocatedSize = data.size + data.unit;\r\n\r\n }\r\n\r\n progressBarService.hideProgressBar();\r\n });\r\n };\r\n\r\n $scope.onKeyPress = function (event, data) {\r\n if (event.keyCode == 13) {\r\n $scope.getStorageDetails(data);\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n $scope.displayDownloadReportPopup = function () {\r\n $scope.abbreviatedReport = true;\r\n $scope.fullReport = false;\r\n $('#downloadReportDialog').modal({ backdrop: 'static', keyboard: false });\r\n }\r\n //$scope.exportReportData = function () {\r\n\r\n // progressBarService.showProgressBar();\r\n // var today, dd, mm, yyyy, currentDate, startDate, endDate, parameter;\r\n // today = new Date();\r\n // dd = today.getDate();\r\n // mm = today.getMonth() + 1; //January is 0!\r\n\r\n // yyyy = today.getFullYear();\r\n // if (dd < 10) {\r\n // dd = '0' + dd;\r\n // }\r\n // if (mm < 10) {\r\n // mm = '0' + mm;\r\n // }\r\n // currentDate = mm + '/' + dd + '/' + yyyy;\r\n\r\n // storagemanagementService.getStorageDetailsReport($scope.searchByUser).then(function (response) {\r\n // if (response != null && response.data.message != undefined) {\r\n // $scope.message = response.data.message;\r\n // $scope.isError = true;\r\n // $scope.isSuccess = false;\r\n // //$timeout(hideMessage, 10000);\r\n // }\r\n // else {\r\n // var csv = convertArrayOfObjectsToCSV({\r\n // data: response.data.dataManagementDetailsExport\r\n // });\r\n\r\n // BlobDownloadCSV('UserAnalyticsReport_' + currentDate + '.csv', csv)\r\n\r\n // }\r\n\r\n // progressBarService.hideProgressBar();\r\n // });\r\n //}\r\n\r\n\r\n //function convertArrayOfObjectsToCSV(args) {\r\n\r\n // var result, ctr, keys, columnDelimiter, lineDelimiter, data, headers;\r\n\r\n // data = args.data || null;\r\n // if (data == null || !data.length) {\r\n // return null;\r\n // }\r\n\r\n // columnDelimiter = args.columnDelimiter || ',';\r\n // lineDelimiter = args.lineDelimiter || '\\n';\r\n\r\n\r\n // keys = Object.keys(data[0]).slice(1);\r\n\r\n // headers = [\"Email Address\",\r\n // \"Name\",\r\n // \"Affiliation\",\r\n // \"Capacity Available\",\r\n // \"Capacity Used\",\r\n // \"No. Of Files\",\r\n // \"User Type\",\r\n // \"Role Type\",\r\n // \"Create Date\",\r\n // \"Start Date\",\r\n // \"End Date\"]\r\n\r\n // result = 'Report Name' + columnDelimiter + \"User Unalytics Report\" + lineDelimiter;\r\n\r\n // result += headers.join(columnDelimiter);\r\n // result += lineDelimiter;\r\n\r\n // data.forEach(function (item) {\r\n\r\n // ctr = 0;\r\n // keys.forEach(function (key) {\r\n // if (ctr > 0) result += columnDelimiter;\r\n\r\n // result += item[key];\r\n // ctr++;\r\n // });\r\n // result += lineDelimiter;\r\n // });\r\n\r\n // return result;\r\n //}\r\n\r\n }]);\r\n})();\r\napp.filter('startFrom', function () {\r\n return function (input, start) {\r\n start = +start; //parse to int\r\n return input.slice(start);\r\n }\r\n});","'use strict';\r\napp.controller('internalRegistrationController', ['$scope', 'LoginService', '$location', '$cookies', 'AuthenticationService', 'progressBarService', '$rootScope', '$timeout', '$http', '$routeParams', 'CommonService', function ($scope, loginService, $location, $cookies, AuthenticationService, progressBarService, $rootScope, $timeout, $http, $routeParams, commonService) {\r\n if ($cookies.get('TokenInfo') == undefined || localStorage.getItem('appInfo') == undefined || getLocalValue('userRole') != 'SAdmin') {\r\n $location.path('/login');\r\n return\r\n }\r\n\r\n $scope.isError = false;\r\n $scope.isSuccess = false;\r\n $scope.origPath = getLocalValue('origPath');\r\n var serviceBase = $rootScope.buildConfig.aippsssApiBaseUrl;\r\n\r\n var Clear = function () {\r\n $scope.profileDataModel();\r\n $('.border-red').removeClass('border-red');\r\n\r\n $scope.profileForm.$setPristine();\r\n $scope.profileForm.$setUntouched();\r\n }\r\n\r\n $scope.profileDataModel = function () {\r\n $scope.profileData = {\r\n firstName: \"\",\r\n lastName: \"\",\r\n emailId: \"\",\r\n InstitutionId: \"\",\r\n InstitutionName: \"\",\r\n admin: false,\r\n startDate: '',\r\n subscription: 'month',\r\n isKratosData: false\r\n }\r\n }\r\n\r\n $scope.reloadDatePicker = function () {\r\n $('.daterangepickerInp').daterangepicker({\r\n singleDatePicker: true,\r\n showDropdowns: true,\r\n minDate: new Date(),\r\n locale: {\r\n format: 'MM-DD-YYYY'\r\n }\r\n });\r\n }\r\n $scope.reloadDatePicker();\r\n\r\n $scope.profileDataModel();\r\n\r\n //$scope.disableSearchInstitute = function (e) {\r\n // if ($(e.currentTarget).prop('checked')) {\r\n // $('#affiliationName').attr('disabled', 'disabled');\r\n // } else {\r\n // $('#affiliationName').removeAttr('disabled');\r\n // }\r\n // $('#affiliationName').val('');\r\n // $scope.searchAffiliation = \"\";\r\n // $scope.selectedInstitute.InstitutionName = \"\";\r\n // $scope.selectedInstitute.userDefinedAffiliation = \"\";\r\n //}\r\n\r\n $scope.selectAffiliation = function () {\r\n $('#affiliationName').val('');\r\n $scope.selectedInstitute.userDefinedAffiliation = \"\";\r\n $scope.selectedInstitute.InstitutionId = $scope.profileData.InstitutionId;\r\n if (!$scope.selectedInstitute.isAffiliationExists) {\r\n $scope.selectedInstitute.InstitutionName = $scope.profileData.InstitutionName;\r\n } else {\r\n if ($scope.profileData.InstitutionName.length == 0) {\r\n $scope.selectedInstitute.isAffiliationExists = false\r\n //$('#affiliationName').removeAttr('disabled');\r\n }\r\n $scope.selectedInstitute.userDefinedAffiliation = $scope.profileData.InstitutionName;\r\n }\r\n\r\n $('#affiliation').modal('show');\r\n }\r\n\r\n //var institutions = new Bloodhound({\r\n // datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),\r\n // queryTokenizer: Bloodhound.tokenizers.whitespace,\r\n // remote: {\r\n // url: serviceBase + 'api/Account/institutions?query=%QUERY',\r\n // prepare: function (query, settings) {\r\n // settings.beforeSend = (function () {\r\n // $('.autopopulate-spinner').show();\r\n // $scope.selectedInstitute.userDefinedAffiliation = query;\r\n // if ($scope.profileData.admin && $scope.profileData.InstitutionName == '') {\r\n // $scope.profileForm.instituteName.$dirty = true;\r\n // $scope.profileForm.instituteName.$invalid = true;\r\n // }\r\n // else {\r\n // $scope.profileForm.instituteName.$dirty = true;\r\n // $scope.profileForm.instituteName.$valid = true;\r\n // }\r\n // $scope.$apply();\r\n // })();\r\n // return $.extend(settings, {\r\n // url: settings.url.replace('%QUERY', encodeURIComponent(query)),\r\n // error: function (jqxhr, textStatus, errorThrown) {\r\n\r\n // $('.autopopulate-spinner').hide();\r\n // },\r\n // success: function (data, textStatus, jqxhr) {\r\n // }\r\n // });\r\n // },\r\n // clearRemoteCache: function clearRemoteCache() {\r\n // this.transport && Transport.resetCache();\r\n // },\r\n // filter: function (institutions) {\r\n // $('.autopopulate-spinner').hide();\r\n // return $.map(institutions, function (institution) {\r\n // return {\r\n // value: institution.institutionName,\r\n // institutionCity: institution.institutionCity,\r\n // institutionState: institution.institutionState,\r\n // institutionMstrID: institution.institutionMstrID,\r\n // institutionCountryCode: institution.institutionCountryCode\r\n // };\r\n // });\r\n // }\r\n // }\r\n //});\r\n\r\n //// Initialize the Bloodhound suggestion engine\r\n //institutions.initialize();\r\n\r\n //// Instantiate the Typeahead UI\r\n\r\n //$(\"#affiliationName\").typeahead({\r\n // hint: false,\r\n // highlight: true,\r\n // minLength: 3\r\n //},\r\n //{\r\n // displayKey: 'value',\r\n // minLength: 3,\r\n // limit: 10,\r\n // dupChecker: true,\r\n // source: institutions.ttAdapter(),\r\n // templates: {\r\n // suggestion: function (data) {\r\n // return \"\" + this.options.dictFallbackText + \"
\";\r\n }\r\n fieldsString += \"